Integrando OnlyOffice en NextCloud

En el día de ayer me dispuse a probar la integración de OnlyOffice Document Server en NextCloud mediante docker para poder tener funcionando ambos en un mismo servidor.

El fin de ello era comparar con CODE, sin embargo, aunque la interfaz de OnlyOffice esta más cuidada me quedo con Collabora Online por el simple motivo de que OnlyOffice solo es capaz de editar archivos de Microsoft Office, para los archivos de LibreOffice realiza una conversión creando una copia del fichero.

En caso de que no tengas docker instalado en tu servidor puedes seguir los pasos de https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-centos-7

En mi caso NextCloud se encuentra funcionando con https por lo que el docker de OnlyOffice también debe de estarlo, así mismo debemos de mapear una carpeta para poner ahí los certificados que van a ser usados por OnlyOffice.

docker run -i -t -d -p 8443:443 --restart=always \
-v /app/onlyoffice/DocumentServer/cache:/var/lib/onlyoffice/documentserver/App_Data/cache/files  \
-v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice  \ -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data onlyoffice/documentserver

Como explicación del comando anterior decir que vamos a hacer funcionar OnlyOffice en el puerto 8443 ya que el 443 esta siendo usado por NextCloud. Una vez hecho esto debemos crear una carpeta llamada certs en /app/onlyoffice/DocumentServer/data y dar permisos de escritura

mkdir /app/onlyoffice/DocumentServer/data/certs
chmod -R 777 /app/onlyoffice

Llegado este punto tenemos que crear los certificados para el subdominio que deseemos usar, para ello he usado LetsEncrypt del cual puedes encontrar un manual en https://www.akirah.es/ssl-gratuito-en-tu-host-con-sletsencrypt-org/

Poniendo de ejemplo que hemos creado onlyoffice.dominio.es debemos irnos a la carpeta donde LetsEncrypt guarda los certificados para copiarlos en la carpeta de certificados de Onlyoffice; ten en cuenta que vamos a renombrar los ficheros ya que OnlyOffice busca un determinado nombre en su configuración. Así mismo ten en cuenta que a los 3 meses los certificados de LetsEncrypt caducan por lo que tendrás que repetir la siguiente operación una vez los renueves.

cd /etc/letsencrypt/live/dominio.es/
cp -L cert.pem /app/onlyoffice/DocumentServer/data/certs/onlyoffice.crt
cp -L privkey.pem /app/onlyoffice/DocumentServer/data/certs/onlyoffice.key
cp -L chain.pem /app/onlyoffice/DocumentServer/data/certs/onlyoffice.ca-bundle

Hecho esto abrimos el puerto 8443 en el router y lo redireccionamos a la ip local de nuestro servidor con lo que ya podemos acceder a OnlyOffice desde internet en la dirección https://onlyoffice.dominio.es:8443.

El ultimo paso será activar la app OnlyOffice Document Server dentro de NextCloud y darle como dirección https://onlyoffice.dominio.es:8443

Con esto ya puedes trabajar con OnlyOffice dentro de NextCloud, sin embargo, me queda pendiente la configuración del proxy inverso en Apache para no tener que abrir el puerto en el router.

Si tienes Centos7 recuerda que debes abrir el puerto 8443 en el firewall para que funcione correctamente.

firewall-cmd --permanent --zone=public --add-port=8443/tcp
firewall-cmd --reload

Es posible que al configurar la app de OnlyOffice en Nextcloud te de un error indicando que no se puede guardar la configuración, para solucionarlo simplemente edita el archivo de configuración de Nextcloud que se encuentra en config/config.php y añadir

'onlyoffice' => array ('verify_peer_off' => TRUE,),

4 comentarios en “Integrando OnlyOffice en NextCloud

  1. Hola,qué tal?

    Antes que nada, muchas gracias por la información colgada en tu blog. Super interesante.

    He comentado una de tus publicaciones, la de OnlyOffice con Docker y como no he tenido respuesta (tal vez no te haya notificado), quería realizarte mi pregunta.

    Pude realizar la instalación de OnlyOffice con Docker, el problema es el «enganche» con NextCloud. A onlyoffice estoy accediendo a través de «localhost».

    Cómo puedo crear la FQDN de manera sencilla??

    Muchas gracias!

    1. Debes usar el conector de Onlyoffice que se puede descargar desde la sección aplicaciones de Nextcloud siendo usuario admin.
      De todas formas en Nextcloud 18 puedes descargarte «Community Documents Server» el cual integra el servidor de Onlyoffice como si de una aplicación se tratase. Gracias por tu comentario.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.