bolt Valebyte VPS desde $4/mes — NVMe, despliegue en 60s.

Obtener VPS arrow_forward
eco Principiante Tutorial/Cómo hacer

Implementación de OnlyOffice Document Server en

calendar_month Jun 30, 2026 schedule 27 min de lectura visibility 33 vistas
Развёртывание OnlyOffice Document Server на VPS: свой облачный редактор документов
info

¿Necesitas un servidor para esta guía? Ofrecemos servidores dedicados y VPS en más de 50 países con configuración instantánea.

¿Necesitas un VPS para esta guía?

Explore otras opciones de servidores dedicados en

Despliegue de OnlyOffice Document Server en un VPS: tu propio editor de documentos en la nube

TL;DR

En esta guía detallada, configuraremos y desplegaremos paso a paso OnlyOffice Document Server en tu propio VPS, convirtiéndolo en una potente plataforma para la edición colaborativa de documentos, hojas de cálculo y presentaciones, totalmente bajo tu control. Aprenderás a elegir la configuración de VPS adecuada, preparar el servidor, instalar y configurar OnlyOffice usando Docker, asegurar el acceso a través de HTTPS con Nginx y Certbot, así como a implementar una estrategia robusta de copia de seguridad y mantenimiento.

  • Elegiremos la configuración de VPS óptima, considerando la carga y el presupuesto.
  • Prepararemos un servidor basado en Ubuntu 24.04 LTS con medidas de seguridad básicas.
  • Instalaremos y configuraremos OnlyOffice Document Server versión 8.x/9.x (actualizado a 2026) usando Docker.
  • Protegeremos el acceso a OnlyOffice a través de Nginx como proxy inverso y configuraremos HTTPS con certificados gratuitos de Let's Encrypt.
  • Desarrollaremos una estrategia de copias de seguridad para preservar datos y configuraciones, así como un plan de mantenimiento regular.
  • Obtendremos una plataforma totalmente funcional, segura y gestionada por ti para la colaboración en documentos.

Qué configuramos y por qué

Diagrama: Qué configuramos y por qué
Diagrama: Qué configuramos y por qué

En el mundo moderno, la colaboración en documentos se ha convertido en una parte integral de cualquier proyecto, ya sea el desarrollo de software, la gestión de una startup o la organización de una comunidad de juegos. Muchos están acostumbrados a las soluciones en la nube de Google o Microsoft; sin embargo, a menudo conllevan problemas de privacidad de datos, limitaciones de funcionalidad o un alto costo al escalar. OnlyOffice Document Server ofrece una potente alternativa: es un conjunto de editores en línea para documentos de texto, hojas de cálculo y presentaciones que puedes desplegar en tu propio servidor.

Al desplegar OnlyOffice Document Server en tu VPS, obtienes control total sobre tus datos e infraestructura. Esto permite garantizar un alto nivel de seguridad, adaptar el sistema a requisitos específicos y evitar la dependencia de proveedores externos. Al final, obtendrás un análogo funcional de Google Docs o Microsoft Office Online, accesible a través de un navegador web, con capacidad de edición colaborativa en tiempo real, soporte para formatos populares (DOCX, XLSX, PPTX) e integración con diversas plataformas de almacenamiento de archivos, como Nextcloud, ownCloud o SharePoint. Es la solución ideal para un fundador de SaaS en solitario que quiera configurar Mattermost para su equipo, o para un desarrollador que necesite levantar GitLab y asegurar la colaboración en la documentación.

Entre las principales alternativas a OnlyOffice Document Server se pueden destacar:

  • Google Workspace (Google Docs, Sheets, Slides): Conveniente, ampliamente difundido, pero los datos se almacenan en los servidores de Google y el costo puede ser significativo para equipos grandes. Existen preocupaciones sobre la privacidad de los datos.
  • Microsoft 365 (Office Online): Similar a Google Workspace, vinculación al ecosistema de Microsoft, cuestiones de soberanía de datos y control sobre la infraestructura.
  • Collabora Online (basado en LibreOffice): Otra opción de código abierto que también requiere despliegue en un servidor. Tiene sus propias particularidades en la integración y el soporte de formatos, a veces inferior a OnlyOffice en compatibilidad con formatos de MS Office.

La elección de una solución self-hosted en un VPS se debe a varias ventajas clave. Primero, es la independencia. No estás atado a la política de un solo proveedor y controlas completamente el ciclo de vida de tus datos. Segundo, es la seguridad y confidencialidad. Todos los datos permanecen en tu servidor, lo cual es crucial para información sensible o para aquellos que se preocupan por la privacidad. Tercero, es la flexibilidad. Puedes configurar el sistema según tus necesidades, integrarlo con servicios internos y escalar los recursos a medida que crecen las demandas. Finalmente, para muchas tareas, puede resultar más económico a largo plazo, especialmente si ya tienes un VPS que está inactivo o no se utiliza a plena capacidad, por ejemplo, para ejecutar un nodo de Bitcoin/Ethereum o un servidor de Minecraft.

Qué configuración de VPS se necesita para esta tarea

Diagrama: Qué configuración de VPS se necesita para esta tarea
Diagrama: Qué configuración de VPS se necesita para esta tarea

La elección de un VPS adecuado para OnlyOffice Document Server depende de la carga prevista, el número de usuarios simultáneos y la intensidad del trabajo con documentos. OnlyOffice es una aplicación bastante intensiva en recursos, especialmente durante la edición colaborativa activa de archivos grandes. Requiere importantes recursos de CPU y RAM para procesar documentos en tiempo real.

Requisitos mínimos (para 1-5 usuarios simultáneos, uso poco frecuente):

Esta configuración es adecuada para uso personal o para un equipo muy pequeño que no trabaja con documentos de forma constante.

  • Procesador (CPU): 2 núcleos (arquitectura x64). Núcleos modernos con buen rendimiento.
  • Memoria RAM (RAM): 4 GB. Solo para OnlyOffice Document Server. Si el servidor ejecutará otros servicios (por ejemplo, Nextcloud, base de datos), se necesitará más.
  • Disco: 50 GB SSD. El SSD es crucial para el rendimiento de E/S, ya que OnlyOffice trabaja activamente con archivos temporales.
  • Red: 100 Mbps. Suficiente para el trabajo básico, pero para el intercambio intensivo de datos puede ser un cuello de botella.

Requisitos recomendados (para 5-20 usuarios simultáneos, uso activo):

Esta configuración garantizará un trabajo cómodo y estable para la mayoría de los equipos pequeños y medianos.

  • Procesador (CPU): 4 núcleos. Esto proporcionará suficiente potencia de cálculo para procesar varios documentos simultáneamente.
  • Memoria RAM (RAM): 8-16 GB. Esto garantizará un trabajo cómodo al editar documentos complejos, trabajar con muchas pestañas y con varios usuarios simultáneamente. OnlyOffice utiliza activamente la RAM para el almacenamiento en caché.
  • Disco: 100-200 GB SSD. Suficiente para el sistema operativo, imágenes Docker, almacenamiento de archivos temporales de OnlyOffice y posible integración con otros servicios.
  • Red: 1 Gbps. Un alto ancho de banda de red es importante para el intercambio rápido de datos entre clientes y el servidor, especialmente durante la edición colaborativa.

Para un trabajo cómodo con OnlyOffice Document Server para un equipo pequeño, se puede considerar un VPS con las características indicadas. Asegúrate de que el plan elegido se ajuste a tus necesidades de CPU, RAM y espacio en disco para evitar problemas de rendimiento.

¿Cuándo se necesita un servidor dedicado y no un VPS?

Un servidor dedicado se vuelve necesario cuando:

  • Gran número de usuarios: Más de 50-100 usuarios simultáneos que trabajan intensivamente con documentos, o miles de usuarios con acceso periódico.
  • Altos requisitos de rendimiento: Trabajo regular con documentos muy grandes (cientos de páginas, tablas complejas con miles de filas, macros), presentaciones complejas con gran cantidad de medios o fuentes específicas.
  • Requisitos específicos de seguridad o cumplimiento normativo: Algunos requisitos regulatorios (por ejemplo, GDPR, HIPAA) pueden prescribir el uso de equipos físicamente aislados, donde tú eres el único inquilino.
  • Necesidad de personalización completa del hardware: Por ejemplo, el uso de controladores RAID especializados, GPU para ciertas tareas de procesamiento de imágenes o video (aunque esto es raro para OnlyOffice), o tarjetas de red específicas.
  • Integración con sistemas corporativos pesados: Si OnlyOffice forma parte de una gran infraestructura corporativa con altos requisitos de uptime y rendimiento, un servidor dedicado puede ser preferible.

En la mayoría de los casos, para pequeñas y medianas empresas, así como para necesidades personales, un VPS bien configurado será más que suficiente. Si planeas ejecutar OnlyOffice junto con otros servicios que consumen muchos recursos (por ejemplo, una gran instancia de GitLab o múltiples servidores de juegos), entonces un servidor dedicado puede estar justificado.

Ubicación del VPS: ¿qué factores influye?

La elección de la ubicación geográfica de tu VPS también tiene importancia:

  • Latencia (Latency): Cuanto más cerca esté el servidor de los usuarios principales, menor será la latencia y más rápida la respuesta. Esto es especialmente importante para la edición colaborativa interactiva, donde cada milisegundo afecta la experiencia del usuario. Una alta latencia puede hacer que la colaboración sea incómoda.
  • Legislación y soberanía de datos: En algunas jurisdicciones existen reglas estrictas para el almacenamiento y procesamiento de datos. La elección de la ubicación del servidor permite cumplir con estos requisitos y permanecer dentro del marco legal. Esto es crítico para proyectos relacionados con información confidencial.
  • Peering de red: La calidad de las conexiones de red del proveedor en la ubicación elegida puede afectar la velocidad de acceso general y la estabilidad de la conexión. Un buen peering con grandes proveedores garantiza un acceso rápido y fiable.
  • Costo: En algunas regiones, el costo de un VPS puede ser mayor o menor debido a las diferencias en los precios de la electricidad, los bienes raíces y los impuestos.

Se recomienda elegir una ubicación lo más cercana posible a tu audiencia principal o al lugar de trabajo del equipo para minimizar las latencias y garantizar el máximo rendimiento.

Preparación del servidor

Esquema: Preparación del servidor
Esquema: Preparación del servidor

Antes de proceder con la instalación de OnlyOffice Document Server, es necesario realizar la configuración básica de su nuevo VPS. Utilizaremos Ubuntu Server 24.04 LTS, ya que es un sistema operativo popular, estable y bien soportado, que seguirá siendo relevante en 2026, ofreciendo soporte a largo plazo y actualizaciones de seguridad.

1. Actualización del sistema

En primer lugar, conéctese al servidor por SSH (normalmente como usuario root o el proporcionado por el proveedor) y actualice todos los paquetes a sus versiones más recientes. Esto asegurará que esté trabajando con las últimas correcciones de seguridad y versiones estables del software.


sudo apt update && sudo apt upgrade -y

Este comando actualizará la lista de paquetes disponibles desde los repositorios e instalará todas las actualizaciones disponibles. La bandera -y confirma automáticamente la instalación para no requerir confirmación para cada paquete.

2. Creación de un nuevo usuario con permisos sudo

Trabajar como usuario root es inseguro, ya que otorga derechos ilimitados y aumenta el riesgo de daños accidentales o malintencionados al sistema. Crearemos un nuevo usuario y le daremos permisos sudo para realizar tareas administrativas.


sudo adduser onlyuser

Siga las instrucciones en pantalla para establecer una contraseña segura y (opcionalmente) completar la información del usuario. Luego, añada el nuevo usuario al grupo sudo para que pueda ejecutar comandos con privilegios administrativos:


sudo usermod -aG sudo onlyuser

Salga de la sesión actual de root e inicie sesión como el nuevo usuario onlyuser para asegurarse de que los permisos estén configurados correctamente.


exit

ssh onlyuser@your_vps_ip

Ahora, todas las acciones futuras se realizarán como el usuario onlyuser utilizando sudo.

3. Configuración de claves SSH (recomendado)

Para mejorar la seguridad y la comodidad, se recomienda utilizar claves SSH en lugar de contraseñas para iniciar sesión en el servidor. Esto reduce significativamente el riesgo de ataques de fuerza bruta. Si aún no las ha configurado, hágalo ahora.

En su máquina local genere un par de claves SSH (si no tiene uno):


ssh-keygen -t rsa -b 4096 -C "[email protected]"

Siga las instrucciones para guardar la clave (normalmente en ~/.ssh/id_rsa) y establecer una frase de contraseña (passphrase) para protección adicional. Luego, copie la clave pública al servidor:


ssh-copy-id onlyuser@your_vps_ip

Este comando copiará su clave pública al archivo ~/.ssh/authorized_keys en el servidor. Después de esto, podrá iniciar sesión sin contraseña (o utilizando la frase de contraseña, si la estableció). Para deshabilitar completamente el inicio de sesión con contraseña en el servidor, edite el archivo de configuración del servidor SSH:


sudo nano /etc/ssh/sshd_config

Busque la línea #PasswordAuthentication yes (o simplemente PasswordAuthentication yes) y cámbiela a:


PasswordAuthentication no

También se recomienda asegurarse de que la línea PubkeyAuthentication yes no esté comentada. Guarde los cambios y reinicie el servicio SSH para que surtan efecto:


sudo systemctl restart sshd

Importante: Antes de deshabilitar la autenticación por contraseña, asegúrese de poder iniciar sesión con la clave SSH. De lo contrario, corre el riesgo de perder el acceso al servidor.

4. Configuración del firewall (UFW)

UFW (Uncomplicated Firewall) es una interfaz fácil de usar para gestionar el firewall netfilter en Linux. Lo configuraremos para permitir el acceso solo a los puertos necesarios y bloquear todo el demás tráfico, aumentando la seguridad del servidor.


sudo apt install ufw -y

Permitiremos el acceso a SSH (puerto 22), HTTP (puerto 80) y HTTPS (puerto 443). Estos puertos son necesarios para la administración remota del servidor y el funcionamiento de los servicios web.


sudo ufw allow OpenSSH       # Permite SSH en el puerto 22
sudo ufw allow http          # Permite HTTP en el puerto 80
sudo ufw allow https         # Permite HTTPS en el puerto 443
sudo ufw enable              # Habilita el firewall

Confirme la activación del firewall (introduciendo y si se le solicita). Verifique el estado del firewall para asegurarse de que las reglas se hayan aplicado:


sudo ufw status verbose

La salida debería mostrar que SSH, HTTP y HTTPS están permitidos.

5. Instalación de Fail2Ban

Fail2Ban es un servicio que escanea archivos de registro (por ejemplo, /var/log/auth.log) en busca de actividad sospechosa, como múltiples intentos fallidos de inicio de sesión. Al detectar dicha actividad, Fail2Ban bloquea automáticamente las direcciones IP de los atacantes durante un tiempo determinado, lo que ayuda a proteger contra ataques de fuerza bruta.


sudo apt install fail2ban -y

Fail2Ban comienza a funcionar inmediatamente después de la instalación con la configuración predeterminada, que incluye protección SSH. Para una configuración más detallada, puede copiar el archivo de configuración /etc/fail2ban/jail.conf a /etc/fail2ban/jail.local y realizar cambios allí para que no sean sobrescritos al actualizar el paquete Fail2Ban.


sudo systemctl enable fail2ban # Habilita el inicio automático de Fail2Ban al arrancar el sistema
sudo systemctl start fail2ban  # Inicia el servicio Fail2Ban

Ahora su servidor está listo para la instalación de OnlyOffice Document Server. Está actualizado, protegido con medidas de seguridad básicas y listo para el despliegue de aplicaciones.

Instalación de software - paso a paso

Esquema: Instalación de software - paso a paso
Esquema: Instalación de software - paso a paso

Instalaremos OnlyOffice Document Server utilizando Docker y Docker Compose. Este es el método más flexible, escalable y recomendado, que permite aislar la aplicación del sistema principal, gestionar fácilmente sus versiones y dependencias. Utilizaremos la versión de OnlyOffice Document Server, relevante para 2026, que corresponderá a las últimas versiones estables (presumiblemente, será v8.x o v9.x).

1. Instalación de Docker Engine y Docker Compose

Para empezar, instalaremos Docker Engine — el entorno de ejecución de contenedores, y Docker Compose — la herramienta para definir y ejecutar aplicaciones Docker multi-contenedor. Seguiremos las recomendaciones oficiales para la instalación de Docker.


# Paso 1: Eliminar versiones antiguas de Docker (si las hay) para evitar conflictos
for pkg in docker.io docker-doc docker-compose docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin; do sudo apt remove $pkg; done

# Paso 2: Actualizar la lista de paquetes
sudo apt update

# Paso 3: Instalar las dependencias necesarias para trabajar con repositorios HTTPS
sudo apt install ca-certificates curl gnupg -y

# Paso 4: Añadir la clave GPG oficial de Docker. Esto es necesario para verificar la autenticidad de los paquetes Docker.
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Paso 5: Añadir el repositorio de Docker a la lista de fuentes de APT
echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# Paso 6: Actualizar la lista de paquetes con el nuevo repositorio de Docker
sudo apt update

# Paso 7: Instalar Docker Engine, Docker CLI, containerd y Docker Compose Plugin
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

Después de la instalación, añada su usuario (onlyuser) al grupo docker para ejecutar comandos Docker sin necesidad de usar sudo:


sudo usermod -aG docker ${USER}

Salga de la sesión SSH actual y vuelva a iniciar sesión para que los cambios en los grupos de usuario surtan efecto:


exit
ssh onlyuser@your_vps_ip

Verifique que Docker esté instalado y funcionando correctamente, ejecutando el contenedor de prueba "hello-world":


docker run hello-world

Debería ver un mensaje de bienvenida de Docker, confirmando la instalación exitosa.

2. Despliegue de OnlyOffice Document Server con Docker Compose

Ahora que Docker está instalado, podemos desplegar OnlyOffice Document Server. Crearemos un directorio separado para nuestro proyecto y un archivo docker-compose.yml, que describirá la configuración del contenedor de OnlyOffice.


mkdir -p ~/onlyoffice # Creamos el directorio para el proyecto
cd ~/onlyoffice        # Nos movemos al directorio creado
nano docker-compose.yml # Creamos y abrimos el archivo docker-compose.yml para editarlo

Pegue el siguiente contenido en el archivo docker-compose.yml. Utilizamos la imagen onlyoffice/documentserver:latest, que siempre apuntará a la versión estable más reciente, relevante también en 2026. En este ejemplo, OnlyOffice escuchará en los puertos 80 (HTTP) y 443 (HTTPS) dentro del contenedor, los cuales proxyaremos a los puertos 8000 y 8443 de su VPS respectivamente. Esto permite evitar conflictos con Nginx, que escuchará en los puertos 80 y 443 en el host.


version: '3.8'

services:
  documentserver:
    image: onlyoffice/documentserver:latest
    container_name: onlyoffice-documentserver
    hostname: onlyoffice
    environment:
      # OBLIGATORIO: REEMPLACE 'YOUR_VERY_STRONG_SECRET_KEY' por una cadena aleatoria larga y compleja.
      # Esta clave se utiliza para proteger el JWT (JSON Web Token) que OnlyOffice usa para autenticar solicitudes
      # de aplicaciones cliente (por ejemplo, Nextcloud). Sin esta clave, su instalación será vulnerable.
      - JWT_SECRET=YOUR_VERY_STRONG_SECRET_KEY
      - JWT_ENABLED=true
      - JWT_HEADER=Authorization
      - JWT_IN_BODY=false
      # Variables de entorno adicionales para configurar OnlyOffice (descomente si es necesario)
      # - DB_TYPE=postgres          # Si desea utilizar una base de datos PostgreSQL externa
      # - DB_HOST=localhost         # Host de su DB
      # - - DB_PORT=5432            # Puerto de la DB
      # - DB_NAME=onlyoffice        # Nombre de la base de datos
      # - DB_USER=onlyoffice        # Usuario de la DB
      # - DB_PWD=your_db_password   # Contraseña del usuario de la DB
    ports:
      - "8000:80"  # Proxy del puerto HTTP interno de OnlyOffice al puerto 8000 del host
      - "8443:443" # Proxy del puerto HTTPS interno de OnlyOffice al puerto 8443 del host (para acceso directo por HTTPS, si Nginx no se usa)
    volumes:
      - /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data       # Para datos de OnlyOffice (caché, archivos temporales)
      - /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice            # Para los logs de OnlyOffice
      - /app/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice             # Para librerías y archivos de servicio
      - /app/onlyoffice/DocumentServer/fonts:/usr/share/fonts/truetype     # Para fuentes personalizadas
    restart: always # Reinicio automático del contenedor en caso de fallos o reinicio del servidor
    healthcheck: # Verificación del estado del contenedor
      test: ["CMD-SHELL", "wget -q --no-check-certificate https://localhost/healthcheck || exit 1"]
      interval: 30s
      timeout: 10s
      retries: 5

IMPORTANTE: No olvide reemplazar YOUR_VERY_STRONG_SECRET_KEY por una cadena secreta larga, aleatoria y compleja. Puede generarla, por ejemplo, con openssl rand -base64 32. Esta clave es críticamente importante para la seguridad de su instalación de OnlyOffice y para protegerla del acceso no autorizado. Anótela en un lugar seguro.

Guarde el archivo (presione Ctrl+X, luego Y, luego Enter).

3. Inicio de OnlyOffice Document Server

Ahora que el archivo docker-compose.yml está listo, inicie el contenedor Docker Compose:


docker compose up -d

Este comando descargará la imagen de OnlyOffice Document Server (si no está localmente), creará los volúmenes definidos en el archivo y ejecutará el contenedor en segundo plano (-d). El proceso puede tardar varios minutos dependiendo de la velocidad de su conexión a internet y el rendimiento del VPS.

Verifique que el contenedor esté en ejecución y funcionando correctamente:


docker ps

Debería ver el contenedor con el nombre onlyoffice-documentserver y el estado Up, así como información sobre los puertos redirigidos.

4. Verificación de la disponibilidad básica

OnlyOffice Document Server ahora debería estar accesible a través de la dirección IP de su VPS en el puerto 8000 (para HTTP). Abra en su navegador http://your_vps_ip:8000. Debería ver la página de bienvenida de OnlyOffice Document Server con instrucciones de integración. Esto significa que el servidor está funcionando y responde a las solicitudes.

En esta etapa, OnlyOffice Document Server está instalado y funcionando, pero aún no está protegido con HTTPS ni es accesible por nombre de dominio. Nos ocuparemos de esto en la siguiente sección.

Configuración

Diagrama: Configuración
Diagrama: Configuración

Después de una instalación exitosa de OnlyOffice Document Server en un contenedor Docker, el siguiente paso crucial es su configuración adecuada para un acceso seguro y conveniente. Esto incluye la configuración de un proxy inverso para el acceso por nombre de dominio, la provisión de cifrado HTTPS con Let's Encrypt y la protección básica.

1. Configuración del nombre de dominio y DNS

Antes de configurar HTTPS, necesitará un nombre de dominio (por ejemplo, docs.yourdomain.com) que apunte a la dirección IP de su VPS. Agregue el registro A correspondiente en la configuración DNS de su dominio. Asegúrese de que el registro se haya propagado completamente a través de los servidores DNS (esto puede tardar desde unos minutos hasta varias horas) antes de pasar al siguiente paso.

Ejemplo de registro DNS:

Tipo de registroNombre/HostValorTTL
AdocsSu_dirección_IP_de_VPS3600

2. Instalación y configuración de Nginx como proxy inverso

Nginx actuará como un servidor proxy inverso. Recibirá solicitudes en los puertos estándar (80 para HTTP y 443 para HTTPS) para su nombre de dominio y las reenviará al contenedor Docker de OnlyOffice (que hemos configurado en los puertos 8000 y 8443). Esto nos permitirá usar un solo nombre de dominio, configurar HTTPS y mejorar la seguridad al ocultar los puertos internos de OnlyOffice.


# Instalación de Nginx
sudo apt install nginx -y

Cree un nuevo archivo de configuración de Nginx para su dominio. Este será un host virtual para OnlyOffice:


sudo nano /etc/nginx/sites-available/onlyoffice.conf

Pegue el siguiente contenido en el archivo, reemplazando docs.yourdomain.com con su nombre de dominio real. Esta configuración manejará primero las solicitudes HTTP y luego será actualizada por Certbot para HTTPS.


server {
    listen 80;
    server_name docs.yourdomain.com; # Reemplace con su nombre de dominio

    # La redirección de HTTP a HTTPS será configurada automáticamente por Certbot
    # location / {
    #     return 301 https://$host$request_uri;
    # }

    location / {
        proxy_pass http://localhost:8000; # Redirigimos al puerto HTTP de OnlyOffice Docker
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade; # Importante para WebSocket
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Host $host;

        # OnlyOffice specific headers
        proxy_read_timeout 1800s; # Aumentamos el tiempo de espera para archivos grandes
        proxy_send_timeout 1800s;
    }

    # Agregamos un mapa para el encabezado Connection para manejar correctamente WebSocket
    map $http_upgrade $connection_upgrade {
        default upgrade;
        '' close;
    }
}

Cree un enlace simbólico a este archivo desde el directorio sites-enabled para activar la nueva configuración:


sudo ln -s /etc/nginx/sites-available/onlyoffice.conf /etc/nginx/sites-enabled/

Elimine la configuración predeterminada de Nginx para evitar posibles conflictos con la suya nueva:


sudo rm /etc/nginx/sites-enabled/default

Verifique la sintaxis de la configuración de Nginx en busca de errores y reinicie Nginx para aplicar los cambios:


sudo nginx -t # Verificación de sintaxis
sudo systemctl restart nginx # Reinicio de Nginx

Ahora podrá acceder a OnlyOffice a través de su nombre de dominio mediante HTTP (http://docs.yourdomain.com). Sin embargo, para la seguridad y la integración con otros servicios, necesitamos HTTPS.

3. Configuración de HTTPS con Certbot (Let's Encrypt)

Usaremos Certbot para obtener e instalar automáticamente certificados SSL/TLS gratuitos de Let's Encrypt. Certbot se integra con Nginx y lo configura automáticamente para trabajar con HTTPS.


# Instalación de Certbot y el plugin para Nginx
sudo apt install certbot python3-certbot-nginx -y

Ejecute Certbot para su dominio. Certbot modificará automáticamente la configuración de Nginx para usar HTTPS, creará nuevos bloques server para el puerto 443 y configurará la redirección de HTTP a HTTPS.


sudo certbot --nginx -d docs.yourdomain.com

Siga las instrucciones de Certbot:

  • Ingrese una dirección de correo electrónico para recibir notificaciones sobre la caducidad del certificado.
  • Acepte los términos de servicio de Let's Encrypt.
  • Elija cómo Certbot debe redirigir el tráfico HTTP a HTTPS (se recomienda "2: Redirect" - esto redirigirá automáticamente todo el tráfico HTTP a HTTPS).

Una vez que Certbot se haya completado con éxito, su configuración de Nginx se actualizará y OnlyOffice estará disponible a través de HTTPS.

Verifique la renovación automática de los certificados de Let's Encrypt. Certbot agrega una tarea a cron que renueva automáticamente los certificados antes de su vencimiento. Puede probar este proceso:


sudo certbot renew --dry-run

Si el comando se ejecuta sin errores, la renovación automática funciona correctamente.

4. Configuración de JWT_SECRET en OnlyOffice (revisión)

En el archivo docker-compose.yml ya hemos establecido la variable de entorno JWT_SECRET. Asegúrese de que este secreto coincida con el que se utilizará en su sistema de gestión de documentos (por ejemplo, Nextcloud), si planea una integración. Esto es fundamental para la seguridad y el correcto funcionamiento de la integración. Si decide cambiar el secreto, no olvide actualizarlo tanto en el archivo docker-compose.yml (reiniciando el contenedor) como en la configuración de la plataforma integrable.

Para actualizar el secreto en el contenedor Docker, edite docker-compose.yml y reinicie el contenedor:


cd ~/onlyoffice
nano docker-compose.yml # Cambie el valor de JWT_SECRET
docker compose down      # Detener el contenedor actual
docker compose up -d     # Iniciar un nuevo contenedor con la configuración actualizada

5. Verificación de la funcionalidad

Abra la dirección https://docs.yourdomain.com en su navegador. Debería ver la página de bienvenida de OnlyOffice Document Server. Asegúrese de que la conexión sea segura (esto generalmente se muestra en el navegador como un "candado verde" o "Seguro").

Para una verificación más profunda, puede usar la utilidad curl en su VPS:


curl -I https://docs.yourdomain.com/healthcheck

En los encabezados de respuesta, debería ver HTTP/1.1 200 OK, lo que indica que el servidor OnlyOffice funciona correctamente y es accesible a través de Nginx y HTTPS.

En este punto, su OnlyOffice Document Server está completamente configurado, protegido y listo para integrarse con su sistema de gestión de documentos preferido.

Copias de seguridad y mantenimiento

Esquema: Copias de seguridad y mantenimiento
Esquema: Copias de seguridad y mantenimiento

El funcionamiento fiable de cualquier servicio es imposible sin una estrategia adecuada de copia de seguridad y un mantenimiento regular. OnlyOffice Document Server no es una excepción. En esta sección, veremos qué es exactamente lo que necesita ser respaldado, cómo hacerlo y cómo mantener el sistema actualizado para garantizar su estabilidad, seguridad y la posibilidad de una rápida recuperación en caso de fallos.

1. ¿Qué respaldar?

Para OnlyOffice Document Server, los siguientes componentes son críticamente importantes:

  • Datos de OnlyOffice Document Server: Estos son archivos temporales, caché, fuentes y otra información de servicio que se almacena en los volúmenes de Docker que hemos montado:
    • /app/onlyoffice/DocumentServer/data: Datos principales de OnlyOffice, incluyendo la caché de documentos, fuentes y otros archivos importantes.
    • /app/onlyoffice/DocumentServer/logs: Registros de OnlyOffice, útiles para la depuración.
    • /app/onlyoffice/DocumentServer/lib: Bibliotecas y archivos de servicio de OnlyOffice.
    • /app/onlyoffice/DocumentServer/fonts: Directorio para fuentes personalizadas.
    Es importante destacar que los documentos editables en sí se almacenan en su sistema de gestión de documentos (por ejemplo, Nextcloud), y Document Server solo los procesa. Sin embargo, la copia de seguridad de estos volúmenes es importante para una rápida recuperación del servidor OnlyOffice sin perder configuraciones ni datos en caché.
  • Configuración de Nginx: Los archivos /etc/nginx/sites-available/onlyoffice.conf y /etc/nginx/nginx.conf. Estos archivos definen cómo Nginx procesa las solicitudes y las redirige a OnlyOffice.
  • Certificados Let's Encrypt: Normalmente se almacenan en /etc/letsencrypt. Estos certificados aseguran la conexión HTTPS.
  • Archivo docker-compose.yml: Contiene toda la información sobre el despliegue de su contenedor OnlyOffice, incluyendo variables de entorno y volúmenes montados. Se almacena en ~/onlyoffice/docker-compose.yml.

2. Script simple de copia de seguridad automática

Crearemos un script simple que archivará todos los archivos importantes y, opcionalmente, los enviará a un almacenamiento remoto. Como almacenamiento remoto se puede utilizar otro VPS, un almacenamiento compatible con S3 (por ejemplo, MinIO, Wasabi) o incluso un ordenador local utilizando rsync o scp.

Cree el archivo de script backup_onlyoffice.sh en el directorio de inicio de su usuario onlyuser:


nano ~/backup_onlyoffice.sh

Pegue el siguiente contenido. Reemplace YOUR_REMOTE_USER, YOUR_REMOTE_HOST y /path/to/remote/backups con sus datos reales. Asegúrese de tener una clave SSH configurada para scp para acceder al servidor remoto sin contraseña.


#!/bin/bash

# --- Configuración de la copia de seguridad ---
BACKUP_DIR="/tmp/onlyoffice_backup_$(date +%Y%m%d%H%M%S)" # Directorio temporal para las copias de seguridad
COMPOSE_PROJECT_DIR="/home/onlyuser/onlyoffice"             # Ruta al directorio con docker-compose.yml
ONLYOFFICE_DATA_ROOT="/app/onlyoffice/DocumentServer"       # Directorio raíz para los volúmenes de OnlyOffice

# --- Configuración del almacenamiento remoto (ejemplo con SCP) ---
REMOTE_USER="YOUR_REMOTE_USER"                           # Usuario en el servidor remoto
REMOTE_HOST="YOUR_REMOTE_HOST"                           # IP o dominio del servidor remoto
REMOTE_PATH="/path/to/remote/backups/$(hostname)"        # Ruta en el servidor remoto donde se guardarán las copias de seguridad

# Creando directorio temporal para las copias de seguridad
echo "Creando directorio temporal para las copias de seguridad: $BACKUP_DIR"
mkdir -p "$BACKUP_DIR"

# 1. Copia de seguridad de los volúmenes Docker de OnlyOffice
echo "Deteniendo OnlyOffice Document Server para asegurar la consistencia de los datos..."
docker compose -f "$COMPOSE_PROJECT_DIR/docker-compose.yml" stop documentserver

echo "Archivando volúmenes de OnlyOffice Document Server..."
tar -cvpzf "$BACKUP_DIR/onlyoffice_data.tar.gz" -C "$ONLYOFFICE_DATA_ROOT" data logs lib fonts

echo "Iniciando OnlyOffice Document Server..."
docker compose -f "$COMPOSE_PROJECT_DIR/docker-compose.yml" start documentserver

# 2. Copia de seguridad de la configuración de Nginx
echo "Archivando configuración de Nginx..."
tar -cvpzf "$BACKUP_DIR/nginx_config.tar.gz" /etc/nginx/sites-available/onlyoffice.conf /etc/nginx/nginx.conf

# 3. Copia de seguridad de los certificados Let's Encrypt
echo "Archivando certificados Let's Encrypt..."
tar -cvpzf "$BACKUP_DIR/letsencrypt_certs.tar.gz" /etc/letsencrypt

# 4. Copia de seguridad de docker-compose.yml
echo "Copiando archivo docker-compose.yml..."
cp "$COMPOSE_PROJECT_DIR/docker-compose.yml" "$BACKUP_DIR/docker-compose.yml"

# Archivando todas las copias de seguridad en un archivo temporal
FINAL_BACKUP_FILE="/tmp/onlyoffice_full_backup_$(date +%Y%m%d%H%M%S).tar.gz"
echo "Creando archivo final: $FINAL_BACKUP_FILE"
tar -cvpzf "$FINAL_BACKUP_FILE" -C "$BACKUP_DIR" .

# Dónde almacenar las copias de seguridad (ejemplo con SCP a otro servidor)
# Asegúrese de tener una clave SSH configurada para acceso sin contraseña al servidor remoto
if [ -n "$REMOTE_USER" ] && [ -n "$REMOTE_HOST" ] && [ -n "$REMOTE_PATH" ]; then
    echo "Subiendo copia de seguridad al servidor remoto: $REMOTE_USER@$REMOTE_HOST:$REMOTE_PATH"
    ssh "$REMOTE_USER@$REMOTE_HOST" "mkdir -p $REMOTE_PATH" # Creamos el directorio en el host remoto
    scp "$FINAL_BACKUP_FILE" "$REMOTE_USER@$REMOTE_HOST:$REMOTE_PATH"
    if [ $? -eq 0 ]; then
        echo "Copia de seguridad subida exitosamente al servidor remoto."
    else
        echo "ERROR: No se pudo subir la copia de seguridad al servidor remoto." >&2
    fi
else
    echo "Parámetros de copia de seguridad remota no definidos. La copia de seguridad permanecerá localmente."
fi

# Limpiando archivos temporales
echo "Limpiando archivos temporales..."
rm -rf "$BACKUP_DIR" "$FINAL_BACKUP_FILE"

echo "¡Proceso de copia de seguridad completado!"

Haga el script ejecutable:


chmod +x ~/backup_onlyoffice.sh

Pruebe el script manualmente para asegurarse de que funciona correctamente y que las copias de seguridad se transfieren exitosamente al almacenamiento remoto. ¡Nunca confíe en una copia de seguridad que no haya verificado!

3. Programación de copias de seguridad con Cron

Para automatizar las copias de seguridad regulares, utilice el planificador del sistema cron. Por ejemplo, para una copia de seguridad diaria a las 03:00 de la madrugada, cuando la carga del servidor es mínima:


crontab -e

Añada la siguiente línea al final del archivo crontab:


0 3   * /home/onlyuser/backup_onlyoffice.sh > /dev/null 2>&1

Esta línea ejecuta el script todos los días a las 3 de la madrugada. La salida del script se redirige a /dev/null para evitar llenar el buzón del usuario con mensajes del sistema. Si desea recibir notificaciones de errores o de finalización exitosa, elimine > /dev/null 2>&1.

4. Mantenimiento y actualizaciones

Las actualizaciones regulares son críticamente importantes para mantener la seguridad, el rendimiento y la estabilidad de su instalación de OnlyOffice Document Server. ¡Siempre cree una copia de seguridad antes de actualizaciones importantes!

  • Actualización del sistema operativo: Mensualmente o a medida que se publiquen parches de seguridad importantes.
    
    sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y
                

    Después de actualizar el kernel o componentes importantes del sistema, puede ser necesario reiniciar el servidor: sudo reboot.

  • Actualización de la imagen Docker de OnlyOffice Document Server:

    Se recomienda actualizar OnlyOffice Document Server a las nuevas versiones estables. ¡Antes de actualizar, asegúrese de hacer una copia de seguridad!

    
    cd ~/onlyoffice
    docker compose pull documentserver # Descargar la última versión de la imagen
    docker compose down                # Detener el contenedor actual
    docker compose up -d               # Iniciar el nuevo contenedor con la imagen actualizada
                

    Siempre consulte los lanzamientos oficiales de OnlyOffice para obtener información sobre compatibilidad, cambios importantes e instrucciones de actualización.

  • Actualización de Certbot (Let's Encrypt): Los certificados se renuevan automáticamente, pero asegúrese de que Certbot y sus dependencias también se actualicen junto con el SO.
  • Monitoreo de recursos: Supervise el uso de los recursos del servidor (CPU, RAM, espacio en disco) con herramientas como htop, glances o sistemas de monitoreo más avanzados (por ejemplo, Prometheus + Grafana). Esto le permitirá reaccionar a tiempo ante posibles problemas de rendimiento o escasez de recursos.

Planifique "ventanas de mantenimiento" (maintenance windows) para actualizaciones importantes o migraciones, cuando puedan producirse interrupciones temporales del servicio. Informe a los usuarios con antelación, si corresponde.

Solución de problemas + Preguntas frecuentes

Durante el proceso de implementación y operación de OnlyOffice Document Server, pueden surgir varios problemas. A continuación, se presentan preguntas típicas y sus soluciones, que le ayudarán a diagnosticar y solucionar problemas rápidamente.

OnlyOffice Document Server no está disponible por nombre de dominio o IP

Descripción del problema: Al intentar abrir https://docs.yourdomain.com (o http://your_vps_ip:8000), el navegador muestra un error de conexión o la página no se encuentra.

Qué verificar:

  • Asegúrese de que el contenedor Docker de OnlyOffice esté en ejecución: ejecute el comando docker ps. La salida debe mostrar el contenedor onlyoffice-documentserver con el estado Up.
  • Verifique que Nginx esté en ejecución: sudo systemctl status nginx. Asegúrese de que el servicio esté activo (active (running)).
  • Compruebe la configuración de Nginx en busca de errores de sintaxis: sudo nginx -t. Si hay errores, corríjalos.
  • Asegúrese de que el firewall (UFW) permita los puertos 80 (HTTP) y 443 (HTTPS): sudo ufw status verbose.
  • Verifique los registros DNS del dominio: ¿docs.yourdomain.com apunta a la dirección IP de su VPS? Use dig docs.yourdomain.com o nslookup docs.yourdomain.com.
  • Verifique que el VPS sea accesible desde el exterior (por ejemplo, por SSH).

Cómo solucionarlo: Reinicie los servicios correspondientes (docker compose restart documentserver, sudo systemctl restart nginx). Corrija los errores en la configuración de Nginx, si los hay. Abra los puertos necesarios en UFW, si están bloqueados.

Problemas con el certificado HTTPS/SSL

Descripción del problema: El navegador emite una advertencia de conexión no segura o el certificado ha caducado.

Qué verificar:

  • ¿Ha caducado el certificado? Verifique el estado de los certificados de Certbot: sudo certbot certificates.
  • ¿Está Nginx configurado correctamente para usar SSL? Verifique el archivo /etc/nginx/sites-available/onlyoffice.conf, especialmente las secciones listen 443 ssl.
  • ¿Funciona la renovación automática de Certbot? Pruebe: sudo certbot renew --dry-run.
  • Asegúrese de que el puerto 443 esté abierto en el firewall.

Cómo solucionarlo: Intente forzar la renovación del certificado: sudo certbot renew. Si esto no ayuda o el certificado no es válido, intente reinstalar el certificado: sudo certbot --nginx -d docs.yourdomain.com --force-renewal. Asegúrese de que el dominio apunte correctamente a su VPS.

"Error al descargar el documento" o problemas al guardar

Descripción del problema: Al intentar abrir o guardar un documento en un sistema integrado (por ejemplo, Nextcloud), aparece un error de descarga/guardado.

Qué verificar:

  • Asegúrese de que JWT_SECRET en docker-compose.yml (OnlyOffice) y en la configuración de su sistema de gestión de documentos (por ejemplo, el plugin de OnlyOffice en Nextcloud) coincidan. Esta es la causa más común.
  • Verifique los logs de OnlyOffice Document Server: docker compose logs documentserver. Busque errores relacionados con el acceso a archivos o el funcionamiento interno de OnlyOffice.
  • Asegúrese de que OnlyOffice tenga suficiente espacio en disco y que los permisos de escritura en los volúmenes montados (/app/onlyoffice/DocumentServer/data, etc.) sean correctos.
  • Verifique la conexión de red entre OnlyOffice Document Server y su sistema de gestión de documentos.

Cómo solucionarlo: Corrija JWT_SECRET. Verifique los permisos de acceso a los directorios de los volúmenes de Docker; si es necesario, cámbielos (por ejemplo, sudo chown -R 1001:1001 /app/onlyoffice/DocumentServer, donde 1001 es el ID de usuario bajo el cual OnlyOffice se ejecuta en Docker). Asegúrese de que el disco no esté lleno.

¿Qué configuración mínima de VPS es adecuada?

Para un uso básico de OnlyOffice Document Server (1-5 usuarios simultáneos, uso poco frecuente), se requerirá un VPS mínimo con 2 núcleos de CPU, 4 GB de RAM y 50 GB de SSD. Sin embargo, para un funcionamiento más cómodo y la posibilidad de escalar, especialmente para un uso activo en equipo, se recomienda tener 4 núcleos de CPU, 8-16 GB de RAM y 100-200 GB de SSD. La elección de un SSD es críticamente importante para el rendimiento debido al intenso trabajo con archivos temporales.

¿Qué elegir: VPS o dedicado para esta tarea?

Para la mayoría de los escenarios de uso de OnlyOffice Document Server (hasta 50-100 usuarios simultáneos), un VPS bien configurado será la opción óptima. Ofrece un buen rendimiento a un precio razonable, flexibilidad de escalado y facilidad de gestión. Los servidores dedicados se vuelven necesarios bajo cargas muy altas (cientos de usuarios), requisitos específicos de hardware (por ejemplo, GPU para procesamiento), máximo rendimiento o estrictos requisitos regulatorios para el aislamiento físico de datos.

¿Cómo integrar OnlyOffice con Nextcloud/ownCloud?

Después de una implementación exitosa de OnlyOffice Document Server, para la integración con Nextcloud u ownCloud, es necesario instalar la aplicación correspondiente (por ejemplo, "ONLYOFFICE" desde la tienda oficial de aplicaciones de Nextcloud). En la configuración de esta aplicación, especifique la dirección de su OnlyOffice Document Server (https://docs.yourdomain.com) y el mismo JWT_SECRET que utilizó en el archivo docker-compose.yml. Después de esto, podrá abrir y editar documentos directamente desde la interfaz de Nextcloud/ownCloud, utilizando su propio editor en la nube.

¿Puedo usar OnlyOffice sin dominio y HTTPS?

Técnicamente, puede acceder a OnlyOffice Document Server por dirección IP y HTTP (por ejemplo, http://your_vps_ip:8000) para pruebas o en una red local muy cerrada. Sin embargo, para uso en producción, especialmente al integrarse con otros servicios (Nextcloud, Mattermost, GitLab) y acceder desde Internet, es altamente desaconsejable usar OnlyOffice sin un nombre de dominio y HTTPS. Esto es críticamente importante para la seguridad, ya que los datos se transmiten en texto plano, y muchos navegadores y aplicaciones modernos pueden bloquear o funcionar incorrectamente con conexiones no seguras. Además, Let's Encrypt requiere un nombre de dominio para emitir certificados.

Problemas de rendimiento de OnlyOffice

Descripción del problema: Los documentos se abren lentamente, la edición colaborativa se "ralentiza" o el servidor responde con retraso.

Qué verificar:

  • Uso de CPU y RAM en el VPS: use los comandos htop o top para monitorear. OnlyOffice puede ser intensivo en recursos.
  • Velocidad del subsistema de disco: use iostat -x 5 para verificar el rendimiento de E/S del disco. Una baja velocidad del SSD puede ser un cuello de botella.
  • Latencia de red entre usuarios y el VPS: use ping o traceroute.
  • Logs de OnlyOffice: docker compose logs documentserver pueden indicar problemas internos.

Cómo solucionarlo: Si los recursos del VPS están agotados, considere actualizar el plan del VPS (aumento de CPU/RAM). Asegúrese de usar discos SSD. Optimice la configuración de OnlyOffice, si es posible (por ejemplo, limite el número de documentos abiertos simultáneamente, si esto es aplicable a su integración). Asegúrese de que el VPS esté en una ubicación geográfica óptima en relación con los usuarios para minimizar las latencias.

Conclusiones y próximos pasos

Diagrama: Conclusiones y próximos pasos
Diagrama: Conclusiones y próximos pasos

¡Felicidades! Ha implementado y configurado con éxito OnlyOffice Document Server en su VPS. Ahora tiene un potente editor de documentos en la nube, totalmente controlado por usted, que proporciona privacidad, seguridad y flexibilidad, no disponibles en la mayoría de las soluciones comerciales en la nube. Ha dominado no solo la instalación del servicio en sí, sino también aspectos críticamente importantes como la preparación del servidor, la configuración de HTTPS, la seguridad y la creación de un sistema de copia de seguridad. Esto le otorga un control total sobre sus datos e infraestructura, lo cual es especialmente valioso para desarrolladores, fundadores individuales de SaaS, entusiastas de las criptomonedas y todos aquellos que valoran su privacidad.

Los siguientes pasos para mejorar y expandir su instalación de OnlyOffice pueden incluir:

  • Integración con un sistema de gestión de documentos (DMS): Conecte OnlyOffice a Nextcloud, ownCloud, Seafile u otro DMS para un almacenamiento y gestión de archivos completos. Esto le permitirá utilizar todas las funciones de edición colaborativa directamente desde su almacenamiento de archivos, creando una alternativa completa a Google Workspace.
  • Monitoreo y registro: Configure sistemas de monitoreo más avanzados (por ejemplo, Prometheus + Grafana) para rastrear el rendimiento del servidor y de OnlyOffice, así como un sistema de registro centralizado (por ejemplo, ELK Stack o Loki + Grafana) para una rápida identificación y resolución de problemas.
  • Optimización del rendimiento y escalabilidad: Para equipos grandes o cargas de trabajo elevadas, considere ajustar la configuración de OnlyOffice, usar una base de datos separada (PostgreSQL) en otro servidor o incluso escalar a varios servidores con balanceo de carga para garantizar la máxima disponibilidad y rendimiento.

¿Te fue útil esta guía?

Despliegue de OnlyOffice Document Server en VPS: tu propio editor de documentos en
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.