OnlyOffice Document Server

¿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 😉

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuar!

Promedio de puntuación 5 / 5. Recuento de votos: 9

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

5 comentarios

  1. Google Chrome 101.0.4951.41 Google Chrome 101.0.4951.41 Windows 10 x64 Edition Windows 10 x64 Edition
    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

  2. Google Chrome 88.0.4324.104 Google Chrome 88.0.4324.104 Windows 10 x64 Edition Windows 10 x64 Edition
    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

    • Opera 84.0.4316.42 Opera 84.0.4316.42 GNU/Linux x64 GNU/Linux x64
      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.


  3. Warning: Undefined array key 1 in /var/www/html/sysadminsdecuba/wp-content/plugins/wp-useragent/wp-useragent-detect-os.php on line 668
    Firefox 82.0 Firefox 82.0 Ubuntu x64 Ubuntu x64
    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…


  4. Warning: Undefined array key 1 in /var/www/html/sysadminsdecuba/wp-content/plugins/wp-useragent/wp-useragent-detect-os.php on line 668
    Firefox 82.0 Firefox 82.0 Ubuntu x64 Ubuntu x64
    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…

Responder a Pavel Milanes Costa (CO7WT) Cancelar la respuesta

Tu dirección de correo electrónico no será publicada.


*