Icono del sitio Blog personal de Guido Cutipa

Instalación y configuración de Collabora Online Development Edition (CODE) en Linux

Collabora Online Development Edition (CODE) es una solución de colaboración en línea basada en la nube que permite a los usuarios editar y colaborar en documentos de manera simultánea. Está basado en el paquete de software libre LibreOffice y proporciona un conjunto completo de herramientas de productividad, incluyendo procesador de texto, hoja de cálculo, presentación y más.

CODE está diseñado para ser fácil de instalar y configurar, y se puede utilizar tanto en entornos de servidor autohospedado como en la nube. Además, proporciona soporte para una amplia variedad de formatos de archivo, lo que significa que los usuarios pueden trabajar con documentos de Microsoft Office y otros formatos sin problemas.

Afortunadamente Collabora proporciona paquetes nativos para distribuciones de Linux seleccionadas: Debian 9, Debian 10, Debian 11, Ubuntu 16.04, Ubuntu 18.04, Ubuntu 20.04, Ubuntu 22.04, CentOS 7 (al menos 7.2), CentOS 8, SLE 15.x y openSUSE Leap 15.x.

A continuación se describen los pasos a seguir para la instalación y las configuraciones iniciales.

Importar la llave

El primer paso es importar la clave de firma. Todos los paquetes de CODE están firmados digitalmente por Collabora Productivity Ltd.

En distribuciones basadas en deb (Debian y Ubuntu), usar el siguiente comando:

cd /usr/share/keyrings
wget https://collaboraoffice.com/downloads/gpg/collaboraonline-release-keyring.gpg

En distribuciones basadas en rpm (CentOS y openSUSE), usar el siguiente comando:

wget https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-centos7/repodata/repomd.xml.key && sudo rpm --import repomd.xml.key

Adicionar los repositorios de los paquetes

En distribuciones basadas en deb (Debian y Ubuntu), crear el archivo collaboraonline.sources

nano /etc/apt/sources.list.d/collaboraonline.sources

Con el siguiente contenido:

Debian 9:

Types: deb
URIs: https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-debian9
Suites: ./
Signed-By: /usr/share/keyrings/collaboraonline-release-keyring.gpg

Debian 10:

Types: deb
URIs: https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-debian10
Suites: ./
Signed-By: /usr/share/keyrings/collaboraonline-release-keyring.gpg

Debian 11:

Types: deb
URIs: https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-debian11
Suites: ./
Signed-By: /usr/share/keyrings/collaboraonline-release-keyring.gpg

Ubuntu 16.04:

Types: deb
URIs: https://www.collaboraoffice.com/repos/CollaboraOnline/CODE
Suites: ./
Signed-By: /usr/share/keyrings/collaboraonline-release-keyring.gpg

Ubuntu 18.04:

Types: deb
URIs: https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-ubuntu1804
Suites: ./
Signed-By: /usr/share/keyrings/collaboraonline-release-keyring.gpg

Ubuntu 20.04:

Types: deb
URIs: https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-ubuntu2004
Suites: ./
Signed-By: /usr/share/keyrings/collaboraonline-release-keyring.gpg

Ubuntu 22.04:

Types: deb
URIs: https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-ubuntu2204
Suites: ./
Signed-By: /usr/share/keyrings/collaboraonline-release-keyring.gpg

ARM64 – Ubuntu 18.04:

Types: deb
URIs: https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-arm64-ubuntu1804
Suites: ./
Signed-By: /usr/share/keyrings/collaboraonline-release-keyring.gpg

En distribuciones basadas en rpm (CentOS, RHEL, SUSE), usar los siguientes comandos:

CentOS 7:

yum-config-manager --add-repo https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-centos7

CentOS 8:

yum-config-manager --add-repo https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-centos8

openSUSE Leap 15.x (and SLE 15):

sudo zypper ar 'https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-opensuse15' 'CODE'
sudo zypper mr -r 'CODE' # enable auto refresh

Instalar los paquetes

En distribuciones basadas en deb (Debian y Ubuntu), usar el siguiente comando

sudo apt update && sudo apt install coolwsd code-brand

En Centos usar el siguiente comando:

sudo yum install coolwsd CODE-brand

En openSUSE Leap usar el siguiente comando:

sudo zypper ref && sudo zypper in coolwsd CODE-brand

Los anteriores comando permiten realizar una instalación mínima, sin localizaciones. Para una instalación completa, instalar los paquetes ‘collaboraoffice*’.

Configurar idioma español

Ejecutar el siguiente comando:

apt install collaboraoffice*es

Configuración certificado SSL

Certificado autofirmado

Ejecutar los siguientes comandos:

openssl genrsa -out /etc/coolwsd/privatekey.pem 4096
openssl req -batch -new -x509 -sha512 -days 3650 -key /etc/coolwsd/privatekey.pem -out /etc/coolwsd/fullchain.pem
coolconfig set ssl.cert_file_path /etc/coolwsd/fullchain.pem
coolconfig set ssl.key_file_path /etc/coolwsd/privatekey.pem
coolconfig set ssl.ca_file_path ''

Certificado Let´s Encrypt

La ruta del archivo /etc/letsencrypt/live/ no tiene los mismos permisos. También deberá obtener los Certificados intermedios de letsencrypt.

Por este motivo se debe crear una carpeta dentro de la instalación CODE para almacenar los certificados de Let´s Encrypt:

mkdir -p /etc/coolwsd/letsencrypt

Ahora copiaremos todos los archivos de Let´s Encrypt en la nueva carpeta:

cd /etc/coolwsd/letsencrypt/
rsync -a /etc/letsencrypt/ ./
chown -R cool:cool /etc/coolwsd/letsencrypt/
chmod -R 775 /etc/coolwsd/letsencrypt/

Ejecutar los siguientes comandos:

coolconfig set ssl.cert_file_path /etc/coolwsd/letsencrypt/live/ejemplo.com/fullchain.pem

coolconfig set ssl.key_file_path /etc/coolwsd/letsencrypt/live/ejemplo.com/privkey.pem

coolconfig set ssl.ca_file_path ''

Finalmente cambiar el propietario de la carpeta y reiniciar el servicio:

chown -R cool:cool  /etc/coolwsd/

systemctl restart coolwsd

Para verificar que el servicio se esta ejecutando

journalctl -u coolwsd


● coolwsd.service - Collabora Online WebSocket Daemon
     Loaded: loaded (/lib/systemd/system/coolwsd.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2022-12-21 10:31:37 -04; 33s ago
   Main PID: 6484 (coolwsd)
      Tasks: 15 (limit: 19068)
     Memory: 169.9M
        CPU: 9.922s
     CGroup: /system.slice/coolwsd.service

También se puede verificar el servicio ejecutando este otro comando:

ss -tlnp | grep 9980


LISTEN 0      64                 *:9980            *:*    users:(("coolwsd",pid=6484,fd=16))

Automatizar copia de certificados de Let’s Encrypt

Crearemos un archivo llamado actualizaWildcard.sh

nano actualizaWildcard.sh

El contenido del archivo serán los siguientes comandos:

cd /etc/coolwsd/letsencrypt/
rsync -a /etc/letsencrypt/ ./
chown -R cool:cool /etc/coolwsd/letsencrypt/
chmod -R 775 /etc/coolwsd/letsencrypt/

Otorgaremos permisos de ejecución para el archivo:

chmod +x /home/admin/actualizaWildcard.sh

Crearemos la tarea programada mediante crontab

apt install cron

crontab -e

Debemos realizar 2 acciones ejecutar nuestro archivo y reiniciar el servicio de CODE, por eso lo programaremos en un horario que tengamos pocos usuarios:

20 3 * * * /home/admin/actualizaWildcard.sh
30 3 * * * systemctl restart coolwsd

Configuraciones adicionales

nano /etc/coolwsd/coolwsd.xml
<group_download_as default="true" desc="If set to true, groups download as icons into a dropdown for the notebookbar view." type="bool">false</group_download_as>

Iniciar el servicio

El servicio Collabora Online (coolwsd) se ejecuta a través de systemd.

Para aplicar cualquier cambio en el archivo de configuración /etc/coolwsd/coolwsd.xml, se debe reiniciar el servicio:

systemctl restart coolwsd

Collabora Online inicia sesión en systemd journal de forma predeterminada. Es posible consultar el registro con el comando:

sudo journalctl -u coolwsd

Borrar logs para facilitar la búsqueda de errores

En algunas ocasiones puede resultar difícil rastrear un error, para facilitar la revisión de los registros se pueden ejecutar los siguientes comandos:

sudo journalctl --rotate
sudo journalctl --vacuum-time=1s

Consola de administrador

Antes de acceder a la consola del administrador será necesario configurar el usuario y contraseña de administrador con el comando:

coolconfig set-admin-password

Luego reiniciar el sistema:

systemctl restart coolwsd

Probar el acceso:

https://<IP_DEL_SERVIDOR>:9980/browser/dist/admin/admin.html

Scripts Python

Adicionalmente si se requiere utilizar scripts escritos en python para manipular los documentos creados será necesario instalar los siguientes paquetes:

apt install collaboraofficebasis-python-script-provider
apt install collaboraofficebasis-pyuno

Salir de la versión móvil