Este tutorial le mostrará cómo integrar OnlyOffice con ownCloud . Como sabrá, OnlyOffice es una suite ofimática en línea de código abierto. El equipo de OnlyOffice lanzó recientemente una aplicación de integración ownCloud OnlyOffice que permite a los usuarios de ownCloud editar y colaborar en documentos utilizando los editores en línea de OnlyOffice.
Las características de la aplicación de integración:
- Editor de texto completo disponible en línea con todas las funciones de los editores de escritorio.
- 100% de fidelidad de vista, conversión, impresión y paginación.
- Agregue enlaces, tablas y gráficos, inserte imágenes, formas automáticas, fórmulas y objetos de texto y manipúlelos, cree listas numeradas o con viñetas y más.
- Edición colaborativa en tiempo real con sus compañeros de equipo:muestre los cambios al instante o solo después de guardarlos. Use comentarios y chat integrado, revisión y seguimiento de cambios.
- Compatibilidad con los formatos más populares:edite archivos DOCX, XLSX, PPTX, TXT y guárdelos en ODT, ODS, ODP, DOC, XLS, PPT, PPS, EPUB, RTF, HTML, HTM.
Para integrar estas dos piezas de software, deberá hacer lo siguiente:
- instalando servidor de documentos OnlyOffice ejecutándose en HTTPS
- instalando la aplicación de integración ownCloud OnlyOffice en su servidor ownCloud.
El servidor de documentos OnlyOffice y el servidor ownCloud se pueden instalar en dos máquinas diferentes. Comencemos.
Paso 1:Instale el servidor de documentos ONLYOFFICE
Tenga en cuenta que el servidor de documentos de OnlyOffice requiere al menos 2 GB de RAM. Se recomiendan 2 GB adicionales de espacio de intercambio. El servidor de documentos OnlyOffice depende de PostgreSQL, Node.js, Redis Server, RabbitMQ server y Nginx. Los siguientes pasos se prueban en un servidor Ubuntu 16.04, pero también deberían aplicarse a otras distribuciones de Linux basadas en Debian.
Instalar PostgreSQL desde el repositorio de Ubuntu
sudo apt install postgresql
Luego crea el onlyoffice
base de datos.
sudo -u postgres psql -c "CREATE DATABASE onlyoffice;"
Crea la onlyoffice
usuario.
sudo -u postgres psql -c "CREATE USER onlyoffice WITH password 'onlyoffice';"
Otorgar permiso.
sudo -u postgres psql -c "GRANT ALL privileges ON DATABASE onlyoffice TO onlyoffice;"
Instalar NodeJS desde el repositorio oficial
El servidor de documentos OnlyOffice requiere nodejs 6.9.1+, pero la versión en el repositorio de Ubuntu está desactualizada, por lo que necesitaremos instalar la última versión LTS (6.9.5) de Node.js desde el repositorio original.
Agregue el repositorio Node.js.
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
Instale Node.js.
sudo apt install nodejs
Verifique la versión de Node.js.
node -v
Salida de muestra:
v6.9.5
Instalar servidor Redis y Rabbitmq
sudo apt install redis-server rabbitmq-server
Comprueba su estado.
systemctl status redis-server systemctl status rabbitmq-server
Debería ver que están activos (en ejecución) . Si rabbitmq-server
no se pudo iniciar, eso se debe principalmente a la falta de memoria en la máquina.
Instalar servidor de documentos OnlyOffice
Agregue el repositorio de OnlyOffice con el siguiente comando.
echo "deb http://download.onlyoffice.com/repo/debian squeeze main" | sudo tee /etc/apt/sources.list.d/onlyoffice.list
Importar clave pública de OnlyOffice.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys CB2DE8E5
Actualice el índice del paquete local e instale el servidor de documentos de OnlyOffice. Tenga en cuenta que Nginx se instalará como servidor web, por lo que es posible que deba detener Apache si se está ejecutando.
sudo apt update sudo apt install onlyoffice-documentserver
Durante el proceso de instalación, se le pedirá que ingrese la contraseña de PostgreSQL para onlyoffice. Ingrese "solo oficina" (sin comillas dobles).
Una vez finalizada la instalación, ingrese la dirección IP pública de su servidor en el navegador web, debería ver "Document Server se está ejecutando"
Habilitar HTTPS
Para conectar ownCloud al servidor de documentos OnlyOffice, este último debe ejecutarse en modo HTTPS. Los siguientes pasos muestran cómo obtener e instalar el certificado TLS de Let's Encrypt.
Edite /etc/nginx/conf.d/onlyoffice-documentserver.conf
archivo.
sudo nano /etc/nginx/conf.d/onlyoffice-documentserver.conf
Cambie la configuración como se muestra a continuación. No olvide establecer un registro A para onlyoffice.your-domain.com
.
include /etc/nginx/includes/onlyoffice-http.conf; server { listen 0.0.0.0:80; listen [::]:80 default_server; server_name onlyoffice.your-domain.com; server_tokens off; include /etc/nginx/includes/onlyoffice-documentserver-*.conf; location ~ /.well-known/acme-challenge { root /var/www/onlyoffice/; allow all; } }
Guarde y cierre el archivo. Recargar Nginx
sudo systemctl reload nginx
Luego instale el cliente certbot (Let's Encrypt).
sudo apt install letsencrypt
A continuación, ejecute el siguiente comando para obtener un certificado TLS gratuito utilizando el complemento webroot.
sudo letsencrypt certonly --webroot --agree-tos --email your-email-address -d onlyoffice.your-domain.com -w /var/www/onlyoffice/
En unos segundos, verá un mensaje como el siguiente, lo que significa que el certificado TLS se obtuvo con éxito.
Edite onlyoffice-documentserver.conf
archivo.
sudo nano /etc/nginx/conf.d/onlyoffice-documentserver.conf
Elimine todo en ese archivo y pegue el siguiente texto en el archivo.
include /etc/nginx/includes/onlyoffice-http.conf; ## Normal HTTP host server { listen 0.0.0.0:80; listen [::]:80 default_server; server_name onlyoffice.your-domain.com; server_tokens off; ## Redirects all traffic to the HTTPS host root /nowhere; ## root doesn't have to be a valid path since we are redirecting rewrite ^ https://$host$request_uri? permanent; } #HTTP host for internal services server { listen 127.0.0.1:80; listen [::1]:80; server_name localhost; server_tokens off; include /etc/nginx/includes/onlyoffice-documentserver-common.conf; include /etc/nginx/includes/onlyoffice-documentserver-docservice.conf; } ## HTTPS host server { listen 0.0.0.0:443 ssl; listen [::]:443 ssl default_server; server_name onlyoffice.your-domain.com; server_tokens off; root /usr/share/nginx/html; ssl on; ssl_certificate /etc/letsencrypt/live/onlyoffice.your-domain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/onlyoffice.your-domain.com/privkey.pem; ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA128:DHE-RSA-AES128-GCM-SHA384:DHE-RSA-AES128-GCM-SHA128:ECDHE-RSA-AES128-SHA384:ECDHE-RSA-AES128-SHA128:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA128:DHE-RSA-AES128-SHA128:DHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA384:AES128-GCM-SHA128:AES128-SHA128:AES128-SHA128:AES128-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4"; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_session_cache builtin:1000 shared:SSL:10m; ssl_prefer_server_ciphers on; add_header Strict-Transport-Security max-age=31536000; # add_header X-Frame-Options SAMEORIGIN; add_header X-Content-Type-Options nosniff; ## [Optional] If your certficate has OCSP, enable OCSP stapling to reduce the overhead and latency of running SSL. ## Replace with your ssl_trusted_certificate. For more info see: ## - https://medium.com/devops-programming/4445f4862461 ## - https://www.ruby-forum.com/topic/4419319 ## - https://www.digitalocean.com/community/tutorials/how-to-configure-ocsp-stapling-on-apache-and-nginx # ssl_stapling on; # ssl_stapling_verify on; # ssl_trusted_certificate /etc/nginx/ssl/stapling.trusted.crt; # resolver 208.67.222.222 208.67.222.220 valid=300s; # Can change to your DNS resolver if desired # resolver_timeout 10s; ## [Optional] Generate a stronger DHE parameter: ## cd /etc/ssl/certs ## sudo openssl dhparam -out dhparam.pem 4096 ## #ssl_dhparam {{SSL_DHPARAM_PATH}}; location ~ /.well-known/acme-challenge { root /var/www/onlyoffice/; allow all; } include /etc/nginx/includes/onlyoffice-documentserver-*.conf; }
Guarde y cierre el archivo. Luego pruebe la configuración de Nginx y vuelva a cargar.
sudo nginx -t sudo systemctl reload nginx
Visita https://onlyoffice.your-domain.com
en el navegador web para verificar que el servidor de documentos de OnlyOffice se está ejecutando correctamente en modo HTTPS.
Paso 2:Instale la aplicación de integración OwnCloud OnlyOffice
SSH en su servidor ownCloud y luego cambie el directorio al directorio de aplicaciones ownCloud.
cd /var/www/owncloud/apps/
A continuación, descargue la aplicación de integración ownCloud ONLYOFFICE con el siguiente comando.
sudo git clone https://github.com/ONLYOFFICE/onlyoffice-owncloud.git onlyoffice
Luego vaya a la página de aplicaciones ownCloud, haga clic en Not Enabled
y habilite la aplicación OnlyOffice.
Después de eso, vaya a la página de administración de ownCloud, seleccione la pestaña ONLYOFFICE en el panel izquierdo e ingrese su nombre de dominio en el campo Dirección del servicio de edición de documentos.
Después de guardar la configuración anterior, debería poder crear documentos, hojas de cálculo y archivos de presentación dentro de ownCloud.
Se abrirá una pestaña separada para editar.
¡Eso es!
Espero que este tutorial le haya ayudado a integrar OnlyOffice con ownCloud. Como siempre, si encuentra útil esta publicación, suscríbase a nuestro boletín gratuito. También puede seguirnos en Google+, Twitter o gustar en nuestra página de Facebook.