¿Qué necesito?

  • Un servidor Linux dedicado o VPS
  • Ubuntu
  • estibador

¿Qué es Collabora?

Collabora es una increíble plataforma de software de código abierto que es esencialmente Microsoft Office Online Collaboration. Ofrece poderosas suites de oficina en las instalaciones para soluciones de escritorio en línea y fuera de línea que permiten el acceso a documentos y una plataforma para crear contenido nuevo y para la colaboración. En esta guía, nos centramos en Collabora Development Edition (CODE), que se puede integrar directamente en Nextcloud y otras plataformas de oficina y colaboración.

  1. Instalar Docker

    Para instalar Collabora utilizamos una gran plataforma de instalación y mantenimiento de paquetes, Docker.

    sudo apt update

    Cómo configurar un servidor Collabora en Linux

    sudo apt install docker.io

    Cómo configurar un servidor Collabora en Linux

    • Después de la instalación, queremos que Docker se inicie automáticamente:
    systemctl status docker

    Cómo configurar un servidor Collabora en Linux

    • Si el servicio no se está ejecutando, use el siguiente comando:
    sudo systemctl start docker
    • Para habilitar el inicio automático al reiniciar el sistema, use el siguiente comando:
    sudo systemctl enable docker
  1. Instale y ejecute Collabora Online Server

    1. A continuación, extraemos la última versión de la implementación de Collabora CODE:
      sudo docker pull collabora/code

      Cómo configurar un servidor Collabora en Linux

    1. A continuación, ejecute este contenedor de Docker con el siguiente comando:
      sudo docker run -t -d -p 127.0.0.1:9980:9980 -e 'domain=nextcloud\.example\.com'
       -e "extra_params=--o:ssl.enable=false --o:ssl.termination=true" 
      --restart always collabora/code
      • Reemplace nextcloud \. Example \. Com con su propio nombre de host de Nextcloud y mantenga las barras dobles. Esto se debe a que Collabora solo permite que los hosts conocidos accedan a su servicio y necesitamos incluir en la lista blanca el nombre de host de Nextcloud con el indicador domain =.
        Cómo configurar un servidor Collabora en Linux

        -d: el modo desconectado permite que el contenedor se ejecute en segundo plano.
        -t: asigna un pseudo-tty.
        -p: publica el puerto de un contenedor en el host.
        -e: establece las variables de entorno.

      • Instalar Net-Tools:
      sudo apt install net-tools

      Cómo configurar un servidor Collabora en Linux

      • El servidor Collabora Online escucha de forma predeterminada en el puerto 9980 desde localhost (127.0.0.1).
      sudo netstat -lnpt ¦ grep docker

      Cómo configurar un servidor Collabora en Linux

  1. Configurar proxy inverso

    1. Los servidores de Nextcloud requieren un certificado TLS en el servidor de Collabora Online al que se están conectando. Por lo tanto, debe crear un host virtual, darle un nombre, configurar un proxy inverso e instalar el certificado TLS usted mismo.
    2. Instale el servidor web Apache con el siguiente comando:
      sudo apt install apache2

      Cómo configurar un servidor Collabora en Linux

    1. A continuación, ejecute el siguiente comando para crear un archivo de hosts virtuales de Apache:
      sudo nano /etc/apache2/sites-available/collabora.conf

    1. Reemplace el nombre de dominio con su dominio real para Collabora Online y no olvide crear un registro A cuando use un subdominio.
      <VirtualHost *:80>
      ServerName voxworx.xyz
      Options -Indexes
      ErrorLog "/var/log/apache2/collabora_error"
      # Encoded slashes need to be allowed
      AllowEncodedSlashes NoDecode
      # keep the host
      ProxyPreserveHost On
      # static html, js, images, etc. served from loolwsd
      # loleaflet is the client part of Collabora Online
      ProxyPass           /loleaflet http://127.0.0.1:9980/loleaflet retry=0
      ProxyPassReverse    /loleaflet http://127.0.0.1:9980/loleaflet
      # WOPI discovery URL
      ProxyPass           /hosting/discovery http://127.0.0.1:9980/hosting/discovery retry=0
      ProxyPassReverse    /hosting/discovery http://127.0.0.1:9980/hosting/discovery
      # Capabilities
      ProxyPass           /hosting/capabilities http://127.0.0.1:9980/hosting/capabilities retry=0
      ProxyPassReverse    /hosting/capabilities http://127.0.0.1:9980/hosting/capabilities
      # Main websocket
      ProxyPassMatch "/lool/(.*)/ws$" ws://127.0.0.1:9980/lool/$1/ws nocanon
      # Admin Console websocket
      ProxyPass   /lool/adminws ws://127.0.0.1:9980/lool/adminws
      # Download as, Fullscreen presentation and Image upload operations
      ProxyPass           /lool http://127.0.0.1:9980/lool
      ProxyPassReverse    /lool http://127.0.0.1:9980/lool
      </VirtualHost>

    1. Guarde y cierre el archivo con Ctrl + x y siga las instrucciones. Para habilitar el tráfico de proxy con Apache, debe habilitar algunos módulos adicionales:
      sudo a2enmod proxy proxy_wstunnel proxy_http

      Cómo configurar un servidor Collabora en Linux

    1. Habilite el host virtual con el siguiente comando:
      sudo a2ensite collabora.conf

      Cómo configurar un servidor Collabora en Linux

    1. A continuación, debe reiniciar Apache:
      sudo systemctl restart apache2
  1. Configurar e instalar el certificado TLS

    1. Ahora es el momento de obtener un certificado TLS gratuito de Let’s Encrypt. Utilice el siguiente comando para instalar el cliente Let’s Encrypt (certbot) desde el PPA certbot oficial:
      sudo apt install certbot

      Cómo configurar un servidor Collabora en Linux

    1. A continuación, debe instalar el complemento Certbot Apache.
      sudo apt install python3-certbot-apache

      Cómo configurar un servidor Collabora en Linux

    1. Luego use el siguiente comando para obtener un certificado TLS / SSL gratuito:
      sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email info@voxworx.xyz -d voxworx.xyz

      Cómo configurar un servidor Collabora en Linux

Conclusión

Busque la siguiente parte de esta guía a medida que analizamos cómo conectar un servidor en línea de Collabora a su propia instancia personalizada de NextCloud para su propia suite de colaboración de archivos y oficina rápida, eficiente y segura.