Integrazione di Collabora Online con NextCloud

Bene, In questo documento, Volevo mostrare come integrare Collabora in Nextcloud, Qualcuno non conosce Collabora? Riesci a immaginare di avere il tuo Google Docs? o il tuo ufficio 365? Sarebbe fantastico, No? Bene, Collabora ci permetterà di fare lo stesso ma in modo completamente gratuito, tutto basato su LibreOffice. Saremo in grado di modificare documenti d'ufficio online e lavorare in modo collaborativo!

 

collabora00-bujarra

Este documento no sólo conseguiremos eso, si no que integraremos en una máquina con Nextcloud que ya tenemos previamente el entorno. Pudiendo tener nuestra nube privada, almacenando nuestros datos en nuestro propio CPD, ahora podremos permitir que los usuarios trabajen con los documentos de Office de forma online, que los editen desde el propio navegador, y además múltiples usuarios pueden trabajar al mismo tiempo con los mismos documentos!

Al basarse en LibreOffice, que por cierto, conocéis la nueva versión, No? Es impresionante, desde que se separaron de OpenOffice… Bene, Come ho detto, los documentos que podremos editar en linea, tienen entre otros más, los siguientes formatos: documentos de DOC, Dottore, hojas de cálculo tipo ODF, XLS, XLSX, o presentaciones de PPT y PPTX; además de visualizar archivos de Visio, Publisher.

 

collabora000-bujarra

 

Instalación de Collabora,

Nos basaremos en una imagen de Docker que ya hay preparada como contenedor, que podremos directamente correr en nuestro entorno. Este documento será algo diferente, ya que copiaremos del contenedor a la máquina Nextcloud todos los ficheros necesarios para no tener que correr además con Docker.

 

nextcloud-27-bujarra

Primero pues, instalamos Docker mediante:

[Codice sorgente]Sudo apt-get update
sudo apt-get install docker.io[/Codice sorgente]

 

nextcloud-28-bujarra

Con los siguientes comandos, arrancaremos como servicio Docker, además de descargar e instalar la imagen ‘collabora/codedel repositorio, la arrancaremos indicando el puerto (9980 x predefinito) además de indicar el dominio FQDN del servicio. Y confirmarmos al finalizar si está arrancada (anotamos el identificador del contenedor).

[Codice sorgente]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’ –restart alwayscap-add MKNOD collabora/code
Sudo Docker PS -a[/Codice sorgente]

 

nextcloud-29-bujarra

Copiamos los siguientes directorios y ficheros necesarios, posteriormente pararemos en contenedor recién descargado y lo borramos, ya no será necesario más.

[Codice sorgente]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 stop 87ffdce147c8
sudo docker rm 87ffdce147c8[/Codice sorgente]

 

nextcloud-30-bujarra

Prossimo, deberemos instalar un certificado válido en nuestra máquina si no lo tenemos. Lo más cómodo en mi caso, tengo ya el PFX por ahí, así que me lo copio con WinSCP o similar y extraigo el certificado y la clave privada, los ponemos en el directorio correspondiente. Inoltre, deberemos generar un fichero con los certificados de las entidades emisoras intermedias y/o raiz que exportaremos en base64, & pegaremos en contenido de los certificados en este fichero.

[Codice sorgente]openssl pkcs12 -in wildcard.tundra-it.com_2017.pfx -clcerts -nokeys -out wildcard.tundra-it.com_2017.cer
<pre>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[/Codice sorgente]

nextcloud-31-bujarra

Editamos el fichero de configuración donde indicaremos el FQDN del sitio además del usuario y contraseña del administrador de Nextcloud.

[Codice sorgente]sudo vim /etc/loolwsd/loolwsd.xml

<host desc="Regex pattern of hostname to allow or deny." allow="true">datos.tundra-it.com</ospite>

<host desc="Hostname to allow" allow="false">datos.tundra-it.com</ospite>

<username desc="The username of the admin console. Must be set.">ncadmin</nome utente>
<password desc="The password of the admin console. Must be set.">XXXXXXX</parola d’ordine>

<cert_file_path desc="Path to the cert file" relative="false">/etc/loolwsd/wildcard.tundra-it.com_2017.cer</cert_file_path>
<key_file_path desc="Path to the key file" relative="false">/etc/loolwsd/wildcard.tundra-it.com_2017.key</key_file_path>
<ca_file_path desc="Path to the ca file" relative="false">/etc/loolwsd/ca_tundra.cer</ca_file_path>[/Codice sorgente]

 

nextcloud-32-bujarra

Editamos también el fichero del sitio seguro de Apache e introducimos las rutas correctas a los certificados:

[Codice sorgente]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[/Codice sorgente]

 

nextcloud-33-bujarra

Non male, ahora es tiempo de instalar la aplicación de Collabora Online Connector, una vez logueados como administrador de Nextcloud, en Apps.

 

nextcloud-34-bujarra

Una vez activado, poiché “Amministrazione” > “Additional settings”, podremos la URL correcta en ‘Servidor Collabora Onlinecon formato https://fqdn:9980

 

nextcloud-35-bujarra

Non male, creamos el usuario ‘looly realizamos correcciones de permisos, arrancamos la plantilla de sistema y creamos el servicio.

[Codice sorgente]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/child-roots/ -R

sudo /usr/bin/loolwsd-systemplate-setup /opt/lool/systemplate /opt/collaboraoffice5.1/

sudo chown lool:lool /opt/lool/systemplate -R

sudo vim /etc/systemd/system/loolwsd.service[/Codice sorgente]

 

nextcloud-36-bujarra

Creamos el servicio ‘/etc/systemd/system/loolwsd.service’ con il seguente contenuto:

[Codice sorgente]
[Unità]
Description=loolwsd as a service

[Servizio]
User=lool
ExecStart=/usr/bin/loolwsd –o:sys_template_path=/opt/lool/systemplate –o:lo_template_path=/opt/collaboraoffice5.1 –o:child_root_path=/opt/lool/child-roots –o:file_server_root_path=/usr/share/loolwsd
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure

[Installare]
WantedBy=multi-utente.target
[/Codice sorgente]

 

nextcloud-37-bujarra

Habilitamos el servicio y reiniciamos todos los servicios para releer las configuraciones, posteriormente con ‘sudo netstat -lnptpodremos verificar que tenemos los puertos 443tcp y 9980tcp levantados.

[Codice sorgente]
sudo systemctl enable /etc/systemd/system/loolwsd.service
sudo systemctl daemon-reload
sudo systemctl start loolwsd.service
sudo systemctl restart apache2[/Codice sorgente]

 

nextcloud-38-bujarra

Modificaremos el ‘/etc/hostsagregando nuestro fqdn externo con resolución local.

 

nextcloud-39-bujarra

Ultimo, no nos olvidaremos de quitar Docker, ya que no será necesario y a parte consumirá recursos 😉

[Codice sorgente]sudo apt-get remove docker.io[/Codice sorgente]

 

nextcloud-42b-bujarra

E niente, ya no queda más que probarlo! Abriremos nuestro Nextcloud y cualquier fichero que tengamos de ofimática podremos ya editarlo y trabajarlo online. Si lo tenemos compartido, Inoltre, veremos de forma simultánea qué usuario está modificando qué parte del documento.

 

Post consigliati

Autore

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, Non esitate a contattarmi, Cercherò di aiutarti ogni volta che potrò, Condividere è vivere ;) . Goditi i documenti!!!