¿Qué es OnlyOffice? ONLYOFFICE es un proyecto desarrollado por los expertos con gran experiencia en IT de Ascensio System SIA, la empresa destacada con la oficina central en Riga, Letonia. Inicialmente ONLYOFFICE fue planeado para la colaboración interna de equipo.
Con esta guía instalarás la última versión de OnlyOffice Document Server para Debian 9.x o Debian 10.x en un contenedor de Proxmox y la integración con Nextcloud. La instalación incluye Nginx, PostgreSQL, RabbitMQ y certificados para el servidor ya que la conexión con el Nextcloud necesita comunicación segura HTTPS.
Requisitos:
– Conexión a Internet.
– Contenedor de Proxmox con Debian 9.x o Debian 10.x (64Bit).
– Servidor Nextcloud.
Notas:
– Todas las operaciones las haremos como «root», si usas un usuario diferente escale con el comando «su -»
Preparando:
Verifica la zona horaria:
timedatectl set-timezone America/Havana
Configura «locales»:
dpkg-reconfigure locales
Busca en la lista: es_CU UTF-8
Seleccionarlo con «Espacio», y en la siguiente pantalla bajar hasta «es_CU» y «Enter».
Reiniciar y verificar que se haya aplicado:
locale
Configurar «proxy» (en caso uses):
nano /etc/environment [Configuramos proxy y exceptuamos nuestra red] http_proxy=http://user:pass@proxy:puerto/ https_proxy=http://user:pass@proxy:puerto/ ftp_proxy=http://user:pass@proxy:puerto/ no_proxy=localhost,127.0.0.0/8,.tudominio.cu,192.168.1.0/24
Intalando herramientas necesarias:
apt update && apt upgrade -y apt install -y lsb-release sudo curl gnupg2 ca-certificates lsb-release
PostgreSQL
Agregar el repo:
echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list
Importar la llave:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
Actualizar e instalar:
apt update && apt install -y postgresql
Creamos Base de Datos y Usuario:
sudo -i -u postgres psql -c "CREATE DATABASE onlyoffice;" sudo -i -u postgres psql -c "CREATE USER onlyoffice WITH password 'onlyoffice';" sudo -i -u postgres psql -c "GRANT ALL privileges ON DATABASE onlyoffice TO onlyoffice;"
Nginx
Agregar repo:
echo "deb http://nginx.org/packages/debian `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
Importar llave:
wget --quiet -O - https://nginx.org/keys/nginx_signing.key | apt-key add -
Actualizar e instalar:
apt update && apt install -y nginx-extras
Rabbitmq
Instalamos:
apt install -y rabbitmq-server
Instalar ONLYOFFICE:
Se puede hacer de 2 formas:
– Bajando el .deb (Recomendado)
– Mediante el repositorio
Aclaro que, de hacerlo por el repositorio nos dará error al instalar fuentes ya que algunas están en Sourceforge y está denegado para Cuba, continuar sin ellas igual funciona. Si no quieres ver estos errores pones un VPN delante y no hay problema.
Variante DEB
Bajaremos la última versión desde github, https://github.com/ONLYOFFICE/DocumentServer/releases/latest
Al momento de creación de este tutorial la versión más reciente es la 6.1.0.
cd /opt wget -c https://github.com/ONLYOFFICE/DocumentServer/releases/download/v6.1.0/onlyoffice-documentserver_amd64.deb dpkg -i onlyoffice-documentserver_amd64.deb
Al terminar corregimos problemas de dependencias incumplidas:
apt install -f
Variante repositorio
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys CB2DE8E5 Con proxy: apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --keyserver-options http-proxy=http://proxy:puerto --recv-keys CB2DE8E5
Agregamos repositorio e instalamos:
echo "deb https://download.onlyoffice.com/repo/debian squeeze main" | sudo tee /etc/apt/sources.list.d/onlyoffice.list apt update && apt install -y onlyoffice-documentserver
Durante la instalación nos pedirá la clave de la BD que pusimos cuando se configuró el PostgresSQL, y en este caso es «onlyoffice»
Al terminar corregimos problemas de dependencias incumplidas:
apt install -f
Certificados
Para los certificados puedes usar una Entidad Certificadora que ya tengas creada, Certificados autogenerados o Certificados Let’s Encrypt. Escoja el que más guste.
Certificados con CA:
Ahora copiaremos en el CT el certificado de nuestra CA y el certificado de nuestro dominio con su respectiva llave, en este caso «CA_server.crt, server_crt.crt, server_key.key«.
cp CA_server.crt /usr/local/share/ca-certificates/CA_server.crt update-ca-certificates cp server_crt.crt /etc/ssl/certs/ && cp server_key.key /etc/ssl/certs/
Certificados Let’s Encrypt:
Copiamos nuestros certificados LE en «/etc/ssl/certs/«, solo necesitamos «fullchain.pem y privkey.pem»
Certificados Autogenerados:
cd /etc/ssl/certs/ openssl genrsa -out onlyoffice.key 2048 openssl req -new -key onlyoffice.key -out onlyoffice.csr
Al ejecutar éste último comando vendrán una serie de preguntas las cuales voy a explicar a continuación:
Nota.- En caso de equivocarte presionar Ctrl + C para cancelar, introducir el comando anterior y volver a empezar.
Country Name (2 letter code) = Código de país en formato ISO de dos letras mayúsculas.
State or Province Name (full name) = Estado o provincia.
Locality Name = Localidad o ciudad.
Organization Name = Nombre de la organización.
Organizational Unit Name = Sector de la organización.
Common Name = FQDN del servidor. Introducir el DNS para tu onlyoffice (onlyoffice.tudominio.cu).
Email Address = Dirección de correo de contacto. (o Enter para no poner nada)
A los campos «A challenge password» y «An optional company name» dale Enter para dejarlos en blanco.
Generamos el certificado para 10 años:
openssl x509 -req -days 3652 -in onlyoffice.csr -signkey onlyoffice.key -out onlyoffice.crt
Configuramos el NGINX para que coja nuestro certificado:
service nginx stop cp -f /etc/onlyoffice/documentserver/nginx/ds-ssl.conf.tmpl /etc/onlyoffice/documentserver/nginx/ds.conf nano /etc/onlyoffice/documentserver/nginx/ds.conf
Sustituir los valores {{SSL_CERTIFICATE_PATH}} y {{SSL_KEY_PATH}} por los certificados que vayamos a usar.
Si usaste los certificados de tu CA pones:
ssl_certificate /etc/ssl/certs/server_crt.crt; ssl_certificate_key /etc/ssl/certs/server_key.key;
Si usaste los certificados Let’s Encrypt:
ssl_certificate /etc/ssl/certs/fullchain.pem; ssl_certificate_key /etc/ssl/certs/privkey.pem;
Si usaste los certificados autogenerados:
ssl_certificate /etc/ssl/certs/onlyoffice.crt; ssl_certificate_key /etc/ssl/certs/onlyoffice.key;
Iniciamos Nginx:
service nginx start
Ahora editamos la línea 97 de la configuración del OnlyOffice y.
nano +97 /etc/onlyoffice/documentserver/default.json
Modificamos el parámetro «rejectUnauthorized» para que no chequee las conexiones de Nextcloud
"rejectUnauthorized": false
Guardamos y continuamos.
Fuentes
Ahora copiaremos las fuentes de la carpeta «Windows > Fonts» a nuestro OnlyOffice, en el directorio «/usr/share/fonts/«.
Luego ejecutamos el siguiente script:
documentserver-generate-allfonts.sh
Reiniciamos el CT y vamos al servidor de Nextcloud.
Enlazando OnlyOffice con Nextcloud
Iniciamos sesión en nuestro servidor de Nextcloud con el usuario de administración.
Vamos a «Aplicaciones > Oficina y texto» e instalamos la app «ONLYOFFICE«.
Vamos a «Configuración > ONLYOFFICE«.
En el apartado «Dirección del Servicio de Edición de Documentos» ponemos la dirección DNS de nuestro servidor OnlyOffice. (Si no has hecho el registro DNS éste es el momento).
Pinchamos en guardar.
Nota importante para los que usaron Certificados Autogenerados:
– Deben marcar la opción «Desactivar la verificación de certificados (inseguro)» de lo contrario no se conectará.
– Si usas Firefox, luego de especificar el servidor de Onlyoffice deben ir a «https://onlyoffice.tudominio.cu» para aceptar el certificado inseguro de lo contrario no se abrirá el documento al cliquear en él.
Más abajo aparecerán una gama de extensiones de documentos, marca las que deses que se abran con el OnlyOffice.
Los archivos de Office de versiones viejas (.doc, .xls, .ppt) se abrirán en modo «Solo Lectura«.
Para poder editarlos debemos convertirlos, y con OnlyOffice con par de clics lo tenemos resuelto. «Clic derecho > Convertir con OnlyOffice«, nos crea un documento nuevo con extensión .docx, y si lo deseas borras el otro.
Una vez abierto el documento y comiences a realizarle cambios, dichas modificaciones se guardarán casi que automáticamente. El botón de «Guardar» se activará, pero unos segundos después se volverá a sombrear. Esto significa que tus cambios están guardados.
Aquí les dejo una imagen durante la edición de un documento:
A disfrutar!
Todos los agradecimientos a Yoandy (@yoandymg) autor de dicho tutorial 😉
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36
Una pregunta, es necesario si o si tener corriendo un netxcloud o se puede utilizar solamente el servidor de onlyoffice ?.
Gracias de antemano
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36
Me pueden confirmar el límite de usuarios online y el límite de concurrencia sobre el mismo documento, creo que eran 20 pero no estoy seguro.
Saludos
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36 OPR/84.0.4316.42
Si, 20 conexiones.
Warning: Undefined array key 1 in /var/www/html/sysadminsdecuba/wp-content/plugins/wp-useragent/wp-useragent-detect-os.php on line 668
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:82.0) Gecko/20100101 Firefox/82.0
Corrección!
Parece ser un palo de nexcloud 18.x, upgradenado a la 20.x en breve…
Warning: Undefined array key 1 in /var/www/html/sysadminsdecuba/wp-content/plugins/wp-useragent/wp-useragent-detect-os.php on line 668
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:82.0) Gecko/20100101 Firefox/82.0
Por ahora me está dando palos con la integración con nextcloud, pero el ejemplo del onlyoffice pincha 100%
En Ubuntu 20.04 LTS se puede hacer con todas las cosas del repo directo, solo un detalles, debes instalar npm y nodejs antes de instalar el onlyoffice (desde archivo en mi caso)
Sigo fajado con nextcloud que no quiere integrarse…