Ofimática en la nube con Software Libre
- yayitazale
- November 28, 2021
Para terminar con esta serie de alternativas seflhosted a Google, en este tercer y último post os voy a proponer una alternativa a Google Docs/Drive y Office365.
Como ya os comenté en los post anteriores, las alternativas que os voy a plantear son todas de software libre que he encontrado tanto en nomoregoogle.com como en ethical.net, dos páginas que os animo a visitar antes de emprender cualquier proyecto de selfhosted.
En los tres post que completan esta serie, os he dejado enlaces a otras alternativas que pueden ser de utilidad si se ajustan mejor a vuestras necesidades y que podéis probar para compararlos con los que yo os voy a enseñar a instalar y utilizar. Como siempre, os animo a que compartáis en los comentarios los resultados para que todos podamos aprender juntos.
TOC
- Ofimática en la Nube
- Instalando OnlyOffice sobre unRaid con Docker
- Integración en NextCloud
- Editando archivos en cloud
- Extra: Otras herramientas útiles de software libre para el día a día
Ofimática en la Nube
Uno de los grandes cambios ocurridos en el ámbito informático laboral en la última década ha sido la de pasar de utilizar una ofimática offline a una ofimática online y colaborativa.
Google lanzó su servicio primitivo allá por abril de 2012 aunque la adopción de Drive fue mayoritariamente en el ámbito doméstico. Microsoft hizo lo propio casi un año antes, en junio de 2011 lanzando Office365. Aunque su adopción ha sido más lenta, paulatinamente se ha ido convirtiendo en el estándar de ofimática de facto para la mayoría de empresas (como lo era previamente word, excel y exchange/outlook).
Este cambio a la ofimática en la nube ha propiciado un cambio en la forma de trabajar de muchas empresas, siendo los principales cambios:
- Almacenamiento: los documentos ya no solo viven en los ordenadores de los trabajadores/usuarios o en las posibles rutas compartidas de un servidor de ficheros. Todo se guarda automáticamente en la nube haciendo el trabajo más seguro frente a pérdidas accidentales.
- Correo: ya nadie se plantea mantener el buzón de correo en sus servidores por el coste de mantenimiento que acarrea. Es muy difícil que una sola persona o un equipo de IT pueda mantener los mismos niveles de servicio y seguridad que te ofrecen Google o Microsoft. También es cierto que estas proveedoras han jugado sucio haciendo que los correos recibidos por entidades no reconocidas fueran directamente a los buzones de spam, alegando que es por la seguridad de sus clientes… En parte tienen razón pero en muchos casos a obligado a que, si quieres seguir utilizando el email como método principal de comunicación interna y externa en la empresa, tengas que pasar a un cloud de pago por servicio.
- Colaboración: hasta la aparición de los servicios de ofimática en cloud la edición de los archivos era posible solo para un usuario por vez. Muchos nos acordamos de cuando queríamos editar un excel de una carpeta compartida había que esperar a que tu compañero de trabajo cerrara el archivo. Con una ofimática en nube, en poco tiempo apareció la posibilidad de que varias personas editaran el mismo archivo de forma simultánea.
Además de estos cambios, la ofimática en la nube ha permitido gracias al almacenamiento también en la nube, que puedas acceder a tus archivos desde cualquier dispositivo, cualquier lugar y en cualquier momento, aunque de eso ya hablamos en el primer post de la serie.
Instalando OnlyOffice sobre unRaid con Docker
Si seguiste los pasos del primer post, ya tenemos nuestra nube privada operativa gracias a NextCloud, por lo que lo ideal es utilizar un paquete de ofimática que se integre en esta nube. Existen dos paquetes con más o menos las mismas funcionalidades, Collabora Online y OnlyOffice, ambos de software libre.
Collabora es una alternativa fantástica de ofimática online basada en LibreOffice. OnlyOffice es más parecido a Office365 en cuanto a interfaz. En mi caso me decanto por el segundo ya que me parece más completo. En cualquier caso la instalación es prácticamente idéntica en los pasos a seguir, por lo que te invito a que pruebes ambos y te decantes por el que mejor te convenga ya que las diferencias son muy pequeñas.
La instalación la haremos sobre nuestro servidor unRaid, pero con cualquier otro OS como Ubuntu Server. la única diferencia es que nosotros usaremos la interfaz de instalación de UnRaid para levantar el micro-servicio con Docker y no tendremos que usar la línea de comandos.
Los requisitos previos son
- Tener instalado NextCloud ya que tanto OnlyOffice como Collabora no funcionan por si solos como otras APPs. Ambas aplicaciones necesitan un gestor de archivos en cloud y simplemente se integran sobre el cloud como una app externa que se carga como un motor de fondo para ofrecernos la funcionalidad de ofimática.
- Tener instalado NginxProxyManager o cualquier alternativa de proxy reverso.
Bueno, vamos a ello. La instalación es simple como os he dicho. Vamos a la APP store de UnRaid y buscamos OnlyOffice. Aquí nos aparecerán varias opciones. OnlyOffice aun siendo una suite Open Source está muy enfocado al ámbito empresarial y tiene un licenciamiento opcional de pago por funcionalides especiales y soporte (recuerda, software libre != gratis). En este caso, vamos a instalar la versión Community Edition que es el gratuito y, aunque no tenga el 100% de funcionalideades, es suficiente para uso doméstico (también puedes instalar la versión enterprise y añadir la licencia correspondiente).
La versión de la comunidad que tienes que instalar es esta:
En la configuración del contenedor debes revisar los puertos, en mi caso he tenido que cambiar el 8080 al 8081 ya que lo tenía ocupado por otro servicio. Además vamos a añadir dos variables de entorno con los cuales vamos a proteger nuestra instalación. Para poder usar OnlyOffice en cualquier lugar deberemos exponerlo a internet mediante proxy reverso y esto hace que cualquier persona pueda hacer uso del servidor. OJO: esto no quiere decir que cualquiera vaya a acceder a nuestros archivos ya que estos están en NextCloud. Lo que estamos instalando, para que me entiendas, son solo los programas de edición que luego usaremos dentro de NextCloud. El peligro aquí reside solo en que otra persona pudiera hacer uso de tu potencia de computación (y/o tu licencia en caso de que compres una).
Para proteger la instalación y que solo la usemos nosotros hacemos lo siguiente. En la parte de abajo hacemos click en Add Another Path, Port, Variable, Label or Device:
En el Pop-Up selecionamos Variable y rellenamos con JWT_ENABLED en los campos NAME y KEY. En el campo Value escribimos true y aceptamos:
De nuevo, en la parte de abajo hacemos click en Add Another Path, Port, Variable, Label or Device. Esta vez creamos otro registro tipo Variable pero en NAME y KEY escribimos JWT_SECRET y en Value ponemos una contraseña larga tipo token (que podemos generar con nuestro gestor de contraseñas o usando una web tipo randomkeygen.com:
Una vez añadidas las dos variables aceptamos y esperamos a que el contenedor se despliegue. Si todo va bien, vamos a nuestro proxy reverso y creamos un subdominio con certificados que apunte al puerto 8080 (o el que hayas puesto como Host Port 1:
Y ahora si accedemos al subdomninio que hemos creado desde nuestro navegador, deberíamos llegar a una página de confirmación como esta:
Como ves, no hemos instalado nada más que el motor de la suite ofimática, pero no podemos hacer nada ya que no tenemos una interfaz ni un gestor de archivos. Esto lo vamos a tener una vez integremos el motor en nuestro Cloud.
PD: antes de finalizar este bloque quiero comentar que OnlyOffice utiliza una base de datos de fondo para sus cosas, por lo que si vas a utilizarlo en un entorno empresarial te aconsejo que instales un servicio dedicado como MariaDB (que ya tendrás funcionando para NextCloud). En la documentación de instalación de un Enterprise Server están los pasos a seguir.
Integración en NextCloud
La integración en nuestro cloud es muy muy sencilla. Entramos como administrador y vamos a aplicaciones. En el listado de tipo de aplicación vamos a Oficina y texto:
Y aquí buscamos OnfyOffice Connector e instalamos (en mi caso ya lo tengo instalado):
Cuando termine vamos a Ajustes y en el listado de la izquierda buscamos ONLYOFFICE:
Y nos llevará a la página de configuriación donde deberemos introducir el subdominio completo https://office.tudominio.com que hayamos creado y la contraseña/token que hemos usado al lanzar el contenedor en la variable JWT_SECRET:
Guardamos y ya tenemos nuestro cloud integrado con OnlyOffice. Si miramos más abajo, solo nos queda configurar los tipos de archivo que queremos que se abran con OnlyOffice y su comportamiento como editor:
Además podemos también cargar plantillas por defecto para los diferentes tipos de archivo (texto, cálculo y presentación) con las plantillas base que tengamos creadas para nuestra organización o empresa.
Editando archivos en cloud
Ahora que ya tenemos todo listo podemos empezar a usar el editor online simplemente seleccionando + y el tipo de archivo deseado en nuestra página principal o en la carpeta que queramos en NextCloud:
Vamos a ver tres ejemplo de cada tipo para que podáis ver la interfaz, empezando por un Documento:
Una Hoja de Cálculo:
Una Presentación:
En mi caso tengo la interfáz configurada en modo oscuro ya que me parece más agradable para trabajar, pero puedes cambiar al gris o claro desde el menú -> Ajustes Avanzados:
Extra: Otras herramientas útiles de software libre para el día a día
Con el final de esta serie vamos a cerrar el bloque de cloud/ofimática, pero muchos me diréis que esto no es suficiente para animarse a sustituir el paquete cloud/docs que te ofrece Google o Micosoft, ya que estas ofrecen muchas más cosas que lo tratado en estos tres post. Es algo que no niego, estas empresas trabajan no solo en crear productos y servicios, sino en crear ecosistemas de productos y servicios interelacionados, por lo que puede que las alternativas planteadas te parezcan un poco pobres. Me gustaría al menos listar una serie de proyectos o servicios que me parecen interesantes y que pueden ser de utilidad para crear un ecosistema propio basado en software libre que pueda llegar competir al menos como una alternativa real para personas individuales en el ámbito doméstico o para PYMES quieran ahorrar algo de presupuesto anual:
- Alternativa a GTALK o TEAMS: el propio NextCloud tiene Talk que funciona de forma integrada y también tiene chats integrados. También existe Jitsi aunque instalarlo es un poco PITA (pain-in-the-ass). Discord también puede ser una alternativa que aunque no sea de software libre, es gratuito y funciona muy bien y tiene funcionalidades de salas/etc que son muy prácticas para trabajar en proyectos/empresa.
- Alternativa a VISIO: si eres de los que hacen diagramas vectoriales como grafcets, bloques de diagramas, topologías de red etc, puedes integrar Draw.io en NextCloud en Aplicaciones -> integración. En este caso no es necesario instalar un servidor local del motor (para lo bueno y para lo malo).
- Alternativa a OUTLOOK o GMAIL: aunque no lo recomiendo ya que mantener el spam y phishing a raya es muy costoso en tiempo, NextCloud tiene la posibilidad de integrar nuestro correo de domino en Mail. La opción más sensata sería, en todo caso, hacer uso de un servicio de terceros que nos ofrezca esa capa de seguridad y una conexión IMAP/POP3. Mencionar también poste.io, proyecto que quiero seguir de cerca.
- Alternativa a WeTransfer: youtransfer.io lo alojamos en nuestros servidores para que no la información no salga de nuestra empresa, perfecto para enviar archivos grandes. De todas formas, con una buena política de grupos y permisos en NextCloud los usuarios deberías ser capaces de compartir enlaces de sus archivos sin necesidad de una segunda herramienta como esta…
Dicho esto, os animo a que si conocéis alguna herramienta interesante de este tipo que sea de software libre lo dejéis en los comentarios para que podamos conocerlo nosotros también.
Nos vemos en el siguiente post.
Nota: algunos de los enlaces a productos o servicios pueden ser enlaces referidos con los que podemos obtener una comisión de venta.