Instalar Collabora Online Development Edition sin Docker en Ubuntu 18.04


Actualmente dentro de un proyecto en el cual me exige la edición online de Documentos, nos topamos con pared en el mismo, sin embargo gracias al bendito Software Libre encontramos un proyecto reciente llamado Collabora Online el cual tiene como objetivo crear una versión online del ya conocido Libre Office sería muy aventurado decir que es una competencia libre a Google Docs o en su caso a Office 365.

Sin embargo gracias al soporte brindado por la comunidad de Collabora así como NextCloud, podemos encontrar esta opción como un claro proyecto que busca en su momento hacerle competencia, creanme que desde este momento me uno a la comunidad y al proyecto para utilizar esta opción dentro de nuestras aplicaciones.

En el presente tutorial instalaremos Collabora dentro de Ubuntu 18.04, sin utilizar Docker, y paso a paso haremos pruebas para que puedan comprender en su momento como utilizarlo.

Utilizando las instrucciones de la siguiente página:

https://www.collaboraoffice.com/code/linux-packages/

Seguiremos los siguientes pasos:

Paso 1: Importar el key de CollaboraOffice

Para importar el key de CollaboraOffice a nuestra lista de repositorios, ejecutando el siguiente comando:

drakofire@drakofire:~$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0C54D189F4BA284D
Executing: /tmp/apt-key-gpghome.t6UjMsgnxH/gpg.1.sh --keyserver keyserver.ubuntu.com --recv-keys 0C54D189F4BA284D
gpg: recepción del servidor de claves fallida: Expiró el tiempo de conexión

mmm bueno primer problema... No se si esto es un problema de firewall o algo al respecto, pero! no se preocupen lo resolveremos.

Lo que deberemos de hacer es bajar la llave de pública de forma manual, para ello abrimos la siguiente URL:

https://keyserver.ubuntu.com/

Una vez dentro de la página como lo vemos en la siguiente imagen:

 En el campo que vemos en la imagen llamado String colocaremos la siguiente cadena 0x0C54D189F4BA284D y posteriormente daremos clic en el botón que dice Search for a key

 

Nos responderá con las llaves del repositorio de Ubuntu, veremos algo como lo siguiente: 

 
Damos clic en donde dice "pub     2048R/F4BA284D 2013-11-27" (la parte del link que de hecho en la imagen que ya di clic). 

Nos aparecera la key algo como esto:  

 

Copiamos todo el contenido (todo el contenido de la página donde esta la key) y lo pegamos a un archivo de texto. Guardamos el archivo de texto con el nombre que queramos, yo le puse collabora-key.txt

Una vez realizado esto ahora partimos a ejecutar el siguiente comando que lo que hará es importar la public key para nuestro repositorio: 

drakofire@drakofire:~$ sudo apt-key add collabora-key.txt
OK

Ya tenemos la key importada, ahora lo que realizaremos es añadir el repositorio de Collabora Online, para ello abrimos con un vim o en su caso kate, nano, lo que uds gusten

drakofire@drakofire:~$ sudo vim /etc/apt/sources.list

Añadimos el siguiente repositorio

## Collabora Office
deb https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-ubuntu1804 ./

Guardamos el archivo y partimos a actualizar el apt

drakofire@drakofire:~$ sudo apt update

Si no marco nada extraño vamos de gane 😀

Paso 2: Instalar los paquetes de Collabora Office

Realizados los pasos anteriores instalamos los paquetes con el siguiente comando tomado del link original de Collabora:

drakofire@drakofire:~$ sudo apt update && sudo apt install loolwsd code-brand

 Esperamos a termine la intalación de los paquetes. 

Paso 3: Configurar Collabora Office

Ya teniendo instalados los paquetes verificamos el servicio que instala con el siguiente comando: 

drakofire@drakofire:~$ systemctl status loolwsd
● loolwsd.service - LibreOffice Online WebSocket Daemon

   Loaded: loaded (/lib/systemd/system/loolwsd.service; enabled; vendor preset: enabled)

   Active: failed (Result: exit-code) since Mon 2019-04-22 17:29:06 CDT; 14min ago

  Process: 31068 ExecStart=/usr/bin/loolwsd --version --o:sys_template_path=/opt/lool/systemplate --o:lo_template_path=/opt/collaboraoffice6.0 --o:child_root_path=/opt/loo

 Main PID: 31068 (code=exited, status=70)
Bueno ya tenemos instalado el servicio, y ahora haremos las configuraciones necesarias para poder probar el servicio, primero tendremos que crear el archivo donde se escribirá el log.

drakofire@drakofire:~$ sudo touch /var/log/loolwsd.log
drakofire@drakofire:~$ sudo chown lool:lool /var/log/loolwsd.log

El segundo comando fue para cambiar el propietario a lool que es el usuario por default que crea Collabora Office para poder ejecutar el servicio.

Una vez realizado este proceso, partimos a realizar algunas configuraciones dentro del lool para poder ejecutarlo.

Primero abrimos el archivo de configuración el cual es /etc/loolwsd/loolwsd.xml

drakofire@drakofire:~$ sudo vim /etc/loolwsd/loolwsd.xml

(recuerden que pueden usar el editor que mas les plasca! nano, gedit, kate, etc...)

Primero activamos el logfile a esto cambiamos la siguiente línea:

        <file enable="false">
            <property name="path" desc="Log file path.">/var/log/loolwsd.log</property>


activamos el log solo poniendolo en true

        <file enable="true">
            <property name="path" desc="Log file path.">/var/log/loolwsd.log</property>

Desactivamos los certificados SSL para poder ejecutarlos de caso contrario deberemos de crearlos y colocar etc. etc, eso quizá  lo veremos en otro artículo por el momento simplemente desactivemoslo cambiando el siguiente parametro a false

    <ssl desc="SSL settings">
        <enable type="bool" desc="Controls whether SSL encryption is enable (do not disable for production deployment). If default is false, must first be compiled with SSL support to enable." default="true">true</enable>

    <ssl desc="SSL settings">
        <enable type="bool" desc="Controls whether SSL encryption is enable (do not disable for production deployment). If default is false, must first be compiled with SSL support to enable." default="true">false</enable>

Ahora deberemos de configurar que permite el acceso y creación de archivos de forma local, esto lo hacemos modificando el siguiente parametro.

    <storage desc="Backend storage">
        <filesystem allow="false" />

    <storage desc="Backend storage">
        <filesystem allow="true" />

Con ello damos por terminada la configuración básica.

Paso 4: Inicio y Pruebas de Collabora Office


Una vez realizado esto, podemos iniciar el servicio con el siguiente comando:

drakofire@drakofire:~$ sudo systemctl start loolwsd

Recuerden que podemos ver el log con el siguiente comando:

drakofire@drakofire:~$ tail -f  /var/log/loolwsd.log

Para poder revisar el proceso de que esto quedo bien, vamos a la siguiente URL, y verificamos el servicio web en la siguiente URL http://localhost:9980/

Veremos algo como lo siguiente:





Esto significa que nuestro servicios esta funcionando 😁

Muy bien ahora que venga lo interesante. Probaremos el editor Collabora Office

Podemos crear una carpeta en la cual le demos permisos a el usuario lool para que pueda acceder a los archivos. Y ahí colocar nuestros ficheros odt.

Creamos el directorio:

drakofire@drakofire:~$ sudo mkdir /opt/documents
drakofire@drakofire:~$ sudo chown lool:lool /opt/documents -R

Copiamos cualquier archivo para editarlo (recuerden los permisos)

drakofire@drakofire:~$ sudo cp hello.odt /opt/documents
drakofire@drakofire:~$ sudo chown lool:lool /opt/documents -R

Y ahora accedemos a la siguiente URL:

http://localhost:9980/loleaflet/dist/loleaflet.html?file_path=file:///opt/documents/hello.odt

Read more…