Como integrar o Collabora Online Server com o Nextcloud no Ubuntu!

Por
Emanuel Negromonte
Fundador do SempreUPdate. Acredita no poder do trabalho colaborativo, no GNU/Linux, Software livre e código aberto. É possível tornar tudo mais simples quando trabalhamos juntos, e...

Neste tutorial vamos mostrar como integrar o Collabora Online Server com o Nextcloud Server já existente no Ubuntu. O Collabora Online Server é um LibreOffice online que suporta a maior parte dos documentos, tabelas e apresentações. Ele inclui:

  • Edição Básica
  • Alta Fidelidade, WYSIWYG
  • Suporte DOC, DOCX, PPT, PPTX, XLS, XLSX ODF document format
  • Importação e visualização do visio, publisher e outros.
  • Edição compartilhada

Nextcloud é um serviço de armazenamento muito similar ao Dropbox, porém gratuito e de código aberto.

Requisitos importantes para integrar o Collabora Online Server com o Nextcloud no Ubuntu

Para seguir com esse tutorial é necessário ter o Nextcloud Server já instalado na sua distribuição. Então, siga um dos tutoriais abaixo.

Passo 1: Vamos instalar o Docker no Ubuntu

Abra o Terminal, você pode usar as teclas (CTRL+ALT+T) e rodar os comandos:

Terminal
sudo apt update
sudo apt install docker.io

Depois de instalado ele irá iniciar automaticamente, e você pode verificar o status com o comandos:

Terminal
systemctl status docker

Caso não tenha iniciado, use os comandos:

Terminal
sudo systemctl start docker

Habilite o autostart no boot.

Terminal
sudo systemctl enable docker

Passo 2: Instalar e rodar o Collabora Online Server com Docker.

Para instalar e rodar o Collabora Online Server com o Docker, execute os comandos:

Terminal
sudo docker pull collabora/code

Execute este comando substituindo as informações de domínio pelo seu Nextcloud Server:

Terminal
sudo docker run -t -d -p 127.0.0.1:9980:9980 -e ‘domain=nextcloud.seu-dominio.com’ – restart always –cao-add MKNOD collabora/code

O Collabora Online Server pode ser visto em execução na porta 9980 através do comando:

Terminal
sudo netstat -lnpt

Passo 3: Configurar proxy reverso

O Nextcloud Server exige um certificado TLS/SSL no Collabora Online Server. Então vamos criar um host virtual e dar um nome de domínio, instalar o certificado TLS/SSL e configurar o proxy reverso. Para isso vamos utilizar o Apache2.

Instalando o Apache2 e configurando o virtual host:

Terminal
sudo apt install apache2
sudo nano /etc/apache2/sites-available/office.seu-dominio.com.conf

Coloque o seguinte texto no arquivo:

<VirutallHost *:80>
 ServerName office.seu-domínio.com
</VirtualHost>

Salve e feche o arquivo. Depois execute o seguinte comando para ativar.

Terminal
sudo a2ensite office.seu-dominio.com.conf

Reinicie o Apache:

Terminal
sudo systemctl restart apache2

O HTTPS ajuda prevenir o ataque do homem do meio e password sniffing. Nós podemos obter um certificado TLS/SSL free do Lets Encrypt CA. Primeiro, vamos instalar o Certbot Client. O cliente mantem o nome letsencrypt no repositório do Ubuntu. Utilize o seguinte comando.

Terminal
sudo apt install letsencrypt python-letsencrypt-apache

Agora obtenha o certificado utilizando comandos:

Terminal
sudo letsencrypt–apache–agree-tos –email seu-endereco-email -d office.seu-dominio.com

Será solicitado o tipo de acesso HTTPS Easy ou Secure. É recomendado escolher Secure.

Configurar o proxy reverso do apache

Para habilitar o proxy reverso execute os comandos:

Terminal
sudo a2enmod proxy
sudo a2enmod proxy_wstunnel
sudo a2enmod proxy-httpp
sudo a2enmod ssl

Então, execute o seguinte comando para editar o novo arquivo de host virtual criado pelo encrypt cliente:

Terminal
sudo nano /etc/apache2/sites-enable/office.seu-dominio.com-le-ssl.conf

Adicione o texto abaixo ao arquivo:

<IfModule mod_ssl.c>
<VirtualHost *:443>
  ServerName office.your-domain.com
  SSLCertificateFile /etc/letsencrypt/live/office.your-domain.com/fullchain.pem
  SSLCertificateKeyFile /etc/letsencrypt/live/office.your-domain.com/privkey.pem
  Include /etc/letsencrypt/options-ssl-apache.conf
  # Encoded slashes need to be allowed
  AllowEncodedSlashes On
  # Container uses a unique non-signed certificate
  SSLProxyEngine On
  SSLProxyVerify None
  SSLProxyCheckPeerCN Off
  SSLProxyCheckPeerName Off
  # keep the host
  ProxyPreserveHost On
  # static html, js, images, etc. served from loolwsd
  # loleaflet is the client part of LibreOffice Online
  ProxyPass /loleaflet https://127.0.0.1:9980/loleaflet retry=0
  ProxyPassReverse /loleaflet https://127.0.0.1:9980/loleaflet
  # WOPI discovery URL
  ProxyPass /hosting/discovery https://127.0.0.1:9980/hosting/discovery retry=0
  ProxyPassReverse /hosting/discovery https://127.0.0.1:9980/hosting/discovery
  # Main websocket
  ProxyPassMatch “/lool/(.*)/ws$” wss://127.0.0.1:9980/lool/$1/ws
  # Admin Console websocket
  ProxyPass /lool/adminws wss://127.0.0.1:9980/lool/adminws
  # Download as, Fullscreen presentation and Image upload operations
  ProxyPass /lool https://127.0.0.1:9980/lool
  ProxyPassReverse /lool https://127.0.0.1:9980/lool
</VirtualHost>
</IfModule>

Salve e feche o arquivo!

Passo final: Conectar o Nextcloud Server ao Collabora Online Server

Primeiro, você precisará habilitar os apps experimentais no Nextcloud.

No Dashboard, vá em apps.

nextcloud apps
Como integrar o Collabora Online Server com o Nextcloud no Ubuntu! 6

Depois clique em Enable experimental apps.

collabora online server experimental app.png
Como integrar o Collabora Online Server com o Nextcloud no Ubuntu! 7

Clique na aba Productivity procure Collabora Online Connector e clique em Enable.

nextcloud collabora online connector
Como integrar o Collabora Online Server com o Nextcloud no Ubuntu! 8

Por fim, vá para a página de administração do Nextcloud. Clique em Additional Settings procure a sessão Collabora Online coloque o seu nome de domínio https://office.seu-domínio.com e clique em Apply.

collabora online
Como integrar o Collabora Online Server com o Nextcloud no Ubuntu! 9

Agora você poderá ver o Collabora Office no seu menu.

Compartilhe este artigo