
Integrando o Collabora Online com o NextCloud
Poço, Neste documento, Eu queria mostrar como integrar o Collabora ao Nextcloud, Ninguém conhece a Collabora? Você pode imaginar ter seu próprio Google Docs? ou seu escritório 365? Seria ótimo, Não? Bem, Collabora nos permitirá fazer o mesmo, mas de forma totalmente gratuita, todos baseados no LibreOffice. Poderemos editar documentos de escritório online e trabalhar de forma colaborativa!
Este documento não só conseguirá isso, mas vamos integrá-lo em uma máquina com Nextcloud que já temos o ambiente. Poder ter nossa nuvem privada, Armazenando nossos dados em nosso próprio data center, agora poderemos permitir que os usuários trabalhem com documentos do Office online, que eles os editam a partir do próprio navegador, e também vários usuários podem trabalhar ao mesmo tempo com os mesmos documentos!
Confiando no LibreOffice, A propósito, Conheça a nova versão, Não? É impressionante, desde que se separaram do OpenOffice… Poço, Como eu disse, Os documentos que podemos editar online, eles têm, entre outros,, os seguintes formatos: Documentos DOC, DOCX, Planilhas ODF, XLS, XLSX, ou apresentações PPT e PPTX; além de exibir arquivos do Visio, Editor.
Instalação Collabora,
Seremos baseados em uma imagem do Docker que já está preparada como um contêiner, que podemos executar diretamente em nosso ambiente. Este documento será um pouco diferente, já que copiaremos do contêiner para a máquina Nextcloud todos os arquivos necessários para que não tenhamos que rodar com o Docker.
Em primeiro lugar, instalamos o Docker usando:
[Código-fonte]Atualização do sudo apt-get
sudo apt-get install docker.io[/Código-fonte]
Com os seguintes comandos, começaremos como um serviço Docker, Além de baixar e instalar a imagem 'collabora/code’ do repositório, Vamos iniciá-lo indicando a porta (9980 x padrão) além de indicar o domínio FQDN do serviço. E confirmamos no final se é iniciado (Anotamos o identificador do contêiner).
[Código-fonte]sudo systemctl enable docker
Sudo Docker Pull collabora/code
sudo docker run -t -d -p 127.0.0.1:9980:9980 -e 'domain=datos.tundra-it.com’ –Reiniciar sempre –cap-add MKNOD collabora/código
Sudo Docker PS -a[/Código-fonte]
Copiamos os seguintes diretórios e arquivos necessários, posteriormente pararemos en contenedor recién descargado y lo borramos, ya no será necesario más.
[Código-fonte]sudo docker cp 87ffdce147c8:/opt/collaboraoffice5.1/ /opt/
sudo docker cp 87ffdce147c8:/usr/bin/loolforkit /usr/bin/
sudo docker cp 87ffdce147c8:/usr/bin/loolmap /usr/bin/
sudo docker cp 87ffdce147c8:/usr/bin/loolmount /usr/bin/
sudo docker cp 87ffdce147c8:/usr/bin/looltool /usr/bin/
sudo docker cp 87ffdce147c8:/usr/bin/loolwsd /usr/bin/
sudo docker cp 87ffdce147c8:/usr/bin/loolwsd-systemplate-setup /usr/bin/
sudo docker cp 87ffdce147c8:/etc/loolwsd/ /etc/
sudo docker cp 87ffdce147c8:/usr/share/loolwsd/ /usr/share/
sudo docker cp 87ffdce147c8:/usr/lib/libPocoCrypto.so.45 /usr/lib/
sudo docker cp 87ffdce147c8:/usr/lib/libPocoFoundation.so.45 /usr/lib/
sudo docker cp 87ffdce147c8:/usr/lib/libPocoJSON.so.45 /usr/lib/
sudo docker cp 87ffdce147c8:/usr/lib/libPocoNet.so.45 /usr/lib/
sudo docker cp 87ffdce147c8:/usr/lib/libPocoNetSSL.so.45 /usr/lib/
sudo docker cp 87ffdce147c8:/usr/lib/libPocoUtil.so.45 /usr/lib/
sudo docker cp 87ffdce147c8:/usr/lib/libPocoXML.so.45 /usr/lib/
sudo docker parar 87ffdce147c8
sudo docker rm 87ffdce147c8[/Código-fonte]
Próximo, Teremos que instalar um certificado válido em nossa máquina se não o tivermos. A coisa mais confortável no meu caso, Eu já tenho o PFX lá fora, então eu copio com WinSCP ou similar e extraio o certificado e a chave privada, nós os colocamos no diretório correspondente. Além disso, Devemos gerar um arquivo com os certificados das entidades emissoras intermediárias e/ou raiz que exportaremos em base64, & Vamos colar o conteúdo dos certificados neste arquivo.
[Código-fonte]openSSL PKCS12 -in wildcard.tundra-it.com_2017.pfx -clcerts -nokeys -out wildcard.tundra-it.com_2017.cer
<pré>openSSL PKCS12 -in wildcard.tundra-it.com_2017.pfx -nocerts -nodes -out wildcard.tundra-it.com_2017.key
sudo cp wildcard.tundra-it.com_2017.cer /etc/loolwsd/
sudo cp wildcard.tundra-it.com_2017.key /etc/loolwsd/
sudo vim /etc/loolwsd/ca_tundra.cer[/Código-fonte]
Editamos el fichero de configuración donde indicaremos el FQDN del sitio además del usuario y contraseña del administrador de Nextcloud.
[Código-fonte]sudo vim /etc/loolwsd/loolwsd.xml
…
<host desc="Padrão Regex do nome do host para permitir ou negar." permitir = "verdadeiro">datos.tundra-it.com</anfitrião>
…
<host desc="Nome do host para permitir" permitir="falso">datos.tundra-it.com</anfitrião>
…
<username desc="O nome de usuário do console de administração. Deve ser definido.">ncadmin</nome de usuário>
<password desc="A senha do console de administração. Deve ser definido.">XXXXXXX</senha>
…
<cert_file_path desc="Caminho para o arquivo cert" relativo="falso">/etc/loolwsd/wildcard.tundra-it.com_2017.cer</cert_file_path>
<key_file_path desc="Caminho para o arquivo de chave" relativo="falso">/etc/loolwsd/wildcard.tundra-it.com_2017.key</key_file_path>
<ca_file_path desc="Caminho para o arquivo ca" relativo="falso">/etc/loolwsd/ca_tundra.cer</ca_file_path>[/Código-fonte]
Também editamos o arquivo do site seguro do Apache e inserimos os caminhos corretos para os certificados:
[Código-fonte]sudo vim /etc/apache2/sites-available/nextcloud_ssl_domain_self_signed.conf
SSLCertificateFile /etc/loolwsd/wildcard.tundra-it.com_2017.cer
SSLCertificateKeyFile /etc/loolwsd/wildcard.tundra-it.com_2017.key[/Código-fonte]
Nada mau, agora é hora de instalar o aplicativo Collabora Online Connector, uma vez logado como administrador do Nextcloud, in Aplicativos.
Uma vez ativado, desde “Administração” > “Configurações adicionais”, Poderemos encontrar o URL correto no 'Servidor Online Collabora'’ Formatado em HTTPS://Fqdn:9980
Nada mau, Criamos o usuário 'lool’ e fazer correções de permissão, Iniciamos o modelo do sistema e criamos o serviço.
[Código-fonte]sudo useradd lool
sudo setcap cap_fowner,cap_mknod,cap_sys_chroot=ep /usr/bin/loolforkit
sudo setcap cap_sys_admin=ep /usr/bin/loolmount
sudo mkdir /var/cache/loolwsd/
sudo mkdir /opt/lool/
sudo mkdir /opt/lool/child-roots/
sudo chown lool:lool /var/cache/loolwsd/ -R
sudo chown lool:lool /opt/lool/raízes-infantis/ -R
sudo /usr/bin/loolwsd-systemplate-setup /opt/lool/systemplate /opt/collaboraoffice5.1/
sudo chown lool:lool /opt/lool/placa de sistema -R
sudo vim /etc/systemd/system/loolwsd.service[/Código-fonte]
Creamos el servicio '/etc/systemd/system/loolwsd.service’ com o siguiente contenido:
[Código-fonte]
[Unidade]
Description=loolwsd as a service
[Serviço]
Usuário = lool
ExecStart=/usr/bin/loolwsd –ou:sys_template_path=/opt/lool/systemplate –ou:lo_template_path=/opt/collaboraoffice5.1 –ou:child_root_path=/opt/lool/raízes-criança –ou:file_server_root_path=/usr/share/loolwsd
ExecReload=/bin/kill -HUP $MAINPID
KillMode=processo
Reiniciar=em caso de falha
[Instalar]
WantedBy=multi-user.target
[/Código-fonte]
Habilitamos o serviço e reiniciamos todos os serviços para reler as configurações, Mais tarde com 'sudo netstat -lnpt’ Poderemos verificar se temos as portas 443TCP e 9980TCP levantadas.
[Código-fonte]
sudo systemctl enable /etc/systemd/system/loolwsd.service
sudo systemctl daemon-reload
sudo systemctl start loolwsd.service
sudo systemctl reiniciar apache2[/Código-fonte]
Vamos modificar o '/etc/hosts’ Adicionando nosso FQDN externo com resolução local.
Último, não vamos esquecer de remover o Docker, uma vez que não será necessário e também consumirá recursos 😉
[Código-fonte]Sudo apt-get remove docker.io[/Código-fonte]
E nada, Não há mais nada a fazer a não ser tentar! Abriremos nosso Nextcloud e qualquer arquivo de escritório que tivermos, podemos editar e trabalhar nele online. Se o tivermos compartilhado, Além disso, Veremos simultaneamente qual usuário está modificando qual parte do documento.