Integre o LibreOffice ao Nextcloud: Guia Completo com Collabora

O LibreOffice sempre foi uma opção de destaque para ferramentas de produtividade gratuitas no ambiente Linux. Contudo, a versão autônoma do LibreOffice apresenta limitações, especialmente quando se trata de colaboração em tempo real, integração com o ecossistema do Google e uso do Google Drive.

É nesse contexto que o Collabora se destaca. Trata-se de uma versão modificada do LibreOffice Online, que oferece uma vasta gama de funcionalidades, equiparáveis a muitas suítes de escritório proprietárias disponíveis na internet. O grande diferencial é a sua capacidade de integração direta com diversas soluções de nuvem auto-hospedadas. A seguir, você descobrirá como integrar o LibreOffice ao NextCloud.

A configuração do Collabora pode ser um pouco complexa, mas o esforço é recompensador, principalmente para quem busca hospedar sua própria solução de escritório em um servidor Linux.

Importante: A utilização do Collabora requer um servidor Docker Nextcloud com um certificado SSL válido. Infelizmente, um servidor Nextcloud instalado via Snap não será compatível.

Configurando o Nextcloud no Servidor Ubuntu

O primeiro passo para utilizar o Collabora no Nextcloud é ter um servidor Nextcloud em execução no estilo Docker. Para iniciar a configuração, instale o Docker e obtenha o container Nextcloud mais recente do Docker Hub.

É importante ressaltar que esta configuração do Collabora funciona de maneira otimizada no servidor Ubuntu. As instruções a seguir focarão principalmente nesse sistema operacional. Entretanto, se você utiliza outro sistema, não se preocupe, pois as etapas são bastante semelhantes na maioria das distribuições.

sudo docker pull undeadhunter/nextcloud-letsencrypt

O processo de obter o container Docker do Nextcloud é semelhante à instalação via Snap. Não são necessárias configurações adicionais. Após a conclusão, saia do usuário Root e acesse com um usuário comum.

Atenção: Para acessar o Collabora fora da sua rede local, é imprescindível configurar o SSL com o Nextcloud e o Docker. Consulte a documentação oficial para obter instruções detalhadas sobre este processo.

sudo docker run -it --name nextcloud --hostname nextcloud-letsencrypt -e CERTBOT_DOMAIN="nextcloud-letsencrypt" -e CERTBOT_EMAIL="email" -p 80:80 -p 443:443 undeadhunter/nextcloud-letsencrypt

Se o comando for executado com sucesso, o Nextcloud estará em operação. Acesse-o através de um navegador web:

https://ip.address:8080

Siga as instruções para finalizar a instalação do Nextcloud no container Docker. Após a conclusão, abra uma nova aba e gere um novo certificado SSL usando o LetsEncrypt.

sudo docker exec -it nextcloud-crypt /certbot.sh

Configurando o Collabora

Com o servidor Nextcloud Docker em pleno funcionamento, é hora de configurar o servidor Collabora para que ele possa se comunicar com o Nextcloud e o plugin Collabora Office.

Assim como o Nextcloud, o Collabora também precisa ser executado a partir de uma imagem Docker. Baixe a versão mais recente do software do servidor Collabora com o comando:

sudo docker pull collabora/code

O Collabora deve ser executado em conjunto com o Nextcloud para funcionar corretamente. Utilize o comando `docker run` para iniciar o servidor. Não se esqueça de ajustar o comando, substituindo “nextcloudserveraddress” pelo endereço correto do seu servidor.

Nota: Não remova as barras invertidas presentes no comando!

sudo docker run -t -d -p 127.0.0.1:9980:9980 -e 'domain=nextcloudserveraddress' --restart always --cap-add MKNOD collabora/code

Proxy Reverso com Apache

O Collabora necessita de um proxy reverso para operar de maneira eficaz. A configuração do proxy reverso requer o Apache2, portanto, certifique-se de que ele esteja instalado em seu servidor. No Ubuntu, o Apache2 pode ser facilmente instalado com o comando:

sudo apt install lamp-server^

Após a instalação do Apache2, utilize o comando `a2enmod` para ativar os módulos de proxy. Esses módulos são essenciais, e o proxy reverso não funcionará sem eles.

sudo a2enmod proxy
sudo a2enmod proxy_wstunnel
sudo a2enmod proxy_http
sudo a2enmod ssl

Com os módulos ativados, é hora de criar um novo arquivo Virtual Host. No terminal, utilize o comando `touch` para criar um novo arquivo de configuração.

sudo touch /etc/apache2/sites-available/seu-site-collabora.com.conf

O Collabora exige um certificado SSL para executar o proxy, assim como o software. A maneira mais rápida de obter um certificado é utilizar a ferramenta LetsEncrypt. No terminal, execute o seguinte comando para instalar o LetsEncrypt para Apache2.

sudo apt install letsencrypt python-letsencrypt-apache
sudo letsencrypt --apache --agree-tos --email seu-email@example.com -d seu-servidor-collabora.com

Abra o novo arquivo de host virtual com o editor Nano.

sudo nano /etc/apache2/sites-available/seu-site-collabora.conf

Cole o seguinte código no arquivo do Nano:



ServerName office.seu-dominio.com

SSLCertificateFile /etc/letsencrypt/live/seu-servidor-collabora.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/seu-servidor-collabora.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf

# Barras codificadas precisam ser permitidas
AllowEncodedSlashes NoDecode

# O contêiner usa um certificado exclusivo não assinado
SSLProxyEngine On
SSLProxyVerify None
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off

#manter o host
ProxyPreserveHost On

# html estático, js, imagens, etc. servidos de loolwsd
# loleaflet é a parte cliente do LibreOffice Online
ProxyPass /loleaflet https://127.0.0.1:9980/loleaflet retry=0
ProxyPassReverse /loleaflet https://127.0.0.1:9980/loleaflet

# URL de descoberta WOPI
ProxyPass /hosting/discovery https://127.0.0.1:9980/hosting/discovery retry=0
ProxyPassReverse /hosting/discovery https://127.0.0.1:9980/hosting/discovery

# Websocket principal
ProxyPassMatch “/lool/(.*)/ws$” wss://127.0.0.1:9980/lool/$1/ws nocanon

# Websocket do Admin Console
ProxyPass /lool/adminws wss://127.0.0.1:9980/lool/adminws

# Faça o download como, apresentação em tela cheia e operações de upload de imagem
ProxyPass /lool https://127.0.0.1:9980/lool
ProxyPassReverse /lool https://127.0.0.1:9980/lool

Pressione Ctrl + O para salvar o arquivo e reinicie o Apache 2 com o comando:

sudo systemctl restart apache2

Integrando o LibreOffice com o Nextcloud

Com todas as configurações necessárias para executar o Collabora concluídas, o próximo passo é integrar o LibreOffice com o Nextcloud. Para habilitar a integração, acesse a interface web do Nextcloud, clique no ícone de engrenagem e selecione a opção “Aplicativos”.

Na seção de aplicativos, procure por “Collabora” e clique no botão para instalar. Em seguida, retorne à interface de administração do Nextcloud, clique em “Admin” e, posteriormente, em “Collabora Online”.

Na seção “Collabora Online” da interface Admin, insira o endereço IP do servidor Collabora Online e clique no botão “Aplicar” para salvar as configurações.

A partir deste momento, qualquer usuário poderá acessar e utilizar o Collabora através da interface web do Nextcloud, a partir de qualquer computador.