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,),
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!
Realmente el FQDN que he usado al hacer esta prueba es un subdominio cuya consulta DNS apunta hacia el router de mi casa. Con esto te quiero decir que te valdría configurar DDNS en tu router (https://www.noip.com o https://account.dyn.com/) y luego redirigir el puerto 8443 a la ip del servidor donde se encuentre alojado el docker de OnlyOffice.
Mas info de DDNS en https://www.redeszone.net/redes/servidor-en-dyndns/
Saludos 🙂
hola tengo instalado docker y onlyoffice en en servido y en otro servido nextclou como hago para poder coger los datos de docker
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.