ONLYOFFICE установка на Ubuntu сервер: пошаговая инструкция 2024 | AdminWiki

Установка ONLYOFFICE на сервер Ubuntu: Полное руководство для DevOps

18 декабря 2025 9 мин. чтения #devops #docker #onlyoffice #ubuntu #офисный пакет #сервер #установка

Представь, что тебе нужно развернуть полноценный офисный пакет на собственном сервере — для совместной работы над документами, таблицами и презентациями. ONLYOFFICE — идеальное решение, а Ubuntu — одна из самых популярных платформ для его размещения. Давай разберем, как выполнить установку ONLYOFFICE на сервер Ubuntu правильно, с учетом всех нюансов.

Подготовка сервера Ubuntu

Перед началом установки ONLYOFFICE убедись, что твой сервер соответствует минимальным требованиям:

  • Ubuntu 20.04 LTS или 22.04 LTS (рекомендуется)
  • 4+ ГБ оперативной памяти
  • 2+ ядра процессора
  • 10+ ГБ свободного места на диске
  • Статический IP-адрес или доменное имя
Важно: Для production-среды рекомендуется использовать отдельный сервер или виртуальную машину. Установка ONLYOFFICE на Ubuntu вместе с другими тяжелыми сервисами может привести к нехватке ресурсов.

Обновление системы и установка зависимостей

Начнем с базовой подготовки системы:

bash
# Обновляем список пакетов
sudo apt update

# Обновляем установленные пакеты
sudo apt upgrade -y

# Устанавливаем необходимые утилиты
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release

Установка Docker и Docker Compose

ONLYOFFICE рекомендуется устанавливать через Docker — это самый простой и надежный способ. Давай настроим Docker окружение.

Установка Docker Engine

bash
# Добавляем официальный GPG ключ Docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# Добавляем репозиторий Docker
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# Устанавливаем Docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

# Проверяем установку
sudo docker --version
Внимание: Не добавляй текущего пользователя в группу docker без необходимости (sudo usermod -aG docker $USER). Это может создать уязвимости безопасности. Для production используй sudo перед docker командами.

Настройка Docker Compose

Хотя в Docker уже есть compose плагин, для ONLYOFFICE часто используют отдельный файл docker-compose.yml:

bash
# Устанавливаем Docker Compose отдельно (опционально)
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

Установка ONLYOFFICE Document Server

Document Server — это ядро ONLYOFFICE, которое отвечает за редактирование документов. Установим его через Docker.

Создание docker-compose.yml

Создадим директорию для ONLYOFFICE и конфигурационный файл:

bash
# Создаем рабочую директорию
mkdir ~/onlyoffice && cd ~/onlyoffice

# Создаем файл docker-compose.yml
nano docker-compose.yml

Добавь следующее содержимое в файл docker-compose.yml:

yaml
version: '3.8'

services:
  onlyoffice-document-server:
    image: onlyoffice/documentserver:latest
    container_name: onlyoffice-document-server
    restart: unless-stopped
    ports:
      - "8080:80"
    environment:
      - JWT_ENABLED=true
      - JWT_SECRET=your_strong_secret_key_here_change_me
    volumes:
      - onlyoffice_data:/var/www/onlyoffice/Data
      - onlyoffice_logs:/var/log/onlyoffice
      - onlyoffice_lib:/var/lib/onlyoffice
      - onlyoffice_db:/var/lib/postgresql

volumes:
  onlyoffice_data:
  onlyoffice_logs:
  onlyoffice_lib:
  onlyoffice_db:
Критически важно: Замени "your_strong_secret_key_here_change_me" на свой сложный секретный ключ! Используй генератор паролей. Без этого твой ONLYOFFICE будет уязвим.

Запуск ONLYOFFICE Document Server

bash
# Запускаем контейнер
sudo docker compose up -d

# Проверяем статус
sudo docker compose ps

# Смотрим логи (если нужно)
sudo docker compose logs -f

После запуска проверь доступность сервиса:

bash
# Проверяем, что сервер отвечает
curl -I http://localhost:8080/welcome/

Настройка Nginx как обратного прокси

Для production-среды рекомендуется использовать Nginx перед ONLYOFFICE. Это даст SSL, кэширование и лучшую безопасность.

Установка и настройка Nginx

bash
# Устанавливаем Nginx
sudo apt install -y nginx

# Создаем конфиг для ONLYOFFICE
sudo nano /etc/nginx/sites-available/onlyoffice

Добавь конфигурацию (замени example.com на свой домен):

nginx
upstream onlyoffice_backend {
    server 127.0.0.1:8080;
}

server {
    listen 80;
    server_name office.your-domain.com;
    
    # Редирект на HTTPS (раскомментируй после настройки SSL)
    # return 301 https://$server_name$request_uri;
    
    location / {
        proxy_pass http://onlyoffice_backend;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        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;
        
        # Таймауты
        proxy_connect_timeout 600;
        proxy_send_timeout 600;
        proxy_read_timeout 600;
        send_timeout 600;
    }
    
    # Статические файлы
    location ~* \\.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot)$ {
        proxy_pass http://onlyoffice_backend;
        expires 30d;
        add_header Cache-Control "public";
    }
}
bash
# Активируем конфиг
sudo ln -s /etc/nginx/sites-available/onlyoffice /etc/nginx/sites-enabled/

# Проверяем конфигурацию Nginx
sudo nginx -t

# Перезапускаем Nginx
sudo systemctl restart nginx

Настройка SSL с Let's Encrypt

Без SSL твой ONLYOFFICE не сможет нормально работать с некоторыми интеграциями:

bash
# Устанавливаем Certbot
sudo apt install -y certbot python3-certbot-nginx

# Получаем SSL сертификат
sudo certbot --nginx -d office.your-domain.com

# Настраиваем авто-обновление
sudo certbot renew --dry-run

Настройка и оптимизация ONLYOFFICE

После базовой установки ONLYOFFICE на Ubuntu сервер нужно провести тонкую настройку.

Конфигурация через local.json

Основные настройки ONLYOFFICE хранятся в файле local.json. Создадим его:

bash
# Заходим в контейнер
sudo docker exec -it onlyoffice-document-server bash

# Редактируем конфиг (внутри контейнера)
cd /etc/onlyoffice/documentserver
nano local.json

Пример расширенной конфигурации:

json
{
  "services": {
    "CoAuthoring": {
      "sql": {
        "type": "postgres",
        "dbHost": "localhost",
        "dbPort": "5432",
        "dbName": "onlyoffice",
        "dbUser": "onlyoffice",
        "dbPass": "onlyoffice_pass"
      },
      "token": {
        "enable": {
          "request": {
            "inbox": true,
            "outbox": true
          },
          "browser": true
        },
        "inbox": {
          "header": "Authorization"
        },
        "outbox": {
          "header": "Authorization"
        }
      },
      "secret": {
        "inbox": {
          "string": "your_strong_secret_key_here_change_me"
        },
        "outbox": {
          "string": "your_strong_secret_key_here_change_me"
        },
        "session": {
          "string": "your_strong_secret_key_here_change_me"
        }
      }
    }
  },
  "rabbitmq": {
    "url": "amqp://guest:guest@localhost"
  },
  "redis": {
    "host": "localhost"
  },
  "storage": {
    "fs": {
      "folderPath": "/var/www/onlyoffice/Data"
    }
  }
}
bash
# После изменения конфига перезапускаем сервисы
supervisorctl restart all

# Выходим из контейнера
exit

# Перезапускаем контейнер снаружи
sudo docker compose restart

Оптимизация производительности

  • Кэширование: Настрой Redis для кэширования сессий
  • База данных: Используй внешнюю PostgreSQL вместо встроенной
  • Лимиты: Увеличь лимиты на размер файлов в Nginx
  • Мониторинг: Настрой мониторинг ресурсов (CPU, RAM, Disk)

Интеграция и использование

После успешной установки ONLYOFFICE на Ubuntu сервер можно настроить интеграции.

Проверка работоспособности

Открой в браузере:

bash
# Если используешь Nginx
https://office.your-domain.com

# Если напрямую к Docker
http://your-server-ip:8080

Ты должен увидеть приветственную страницу ONLYOFFICE.

Интеграция с Nextcloud/ownCloud

Для интеграции с Nextcloud установи приложение "OnlyOffice" в Nextcloud и укажи в настройках:

  • URL Document Server: https://office.your-domain.com
  • Секретный ключ (должен совпадать с JWT_SECRET)
  • Внутренний адрес (если Nextcloud на том же сервере)

Обслуживание и мониторинг

Задача Команда Частота
Обновление ONLYOFFICE sudo docker compose pull && sudo docker compose up -d Раз в месяц
Очистка логов sudo docker compose logs --tail=100 Еженедельно
Проверка обновлений Ubuntu sudo apt update && sudo apt upgrade Еженедельно
Бэкап данных sudo docker compose exec onlyoffice-document-server tar -czf /backup/onlyoffice-$(date +%Y%m%d).tar.gz /var/www/onlyoffice/Data Ежедневно

Решение распространенных проблем

Проблема: ONLYOFFICE не запускается

Решение: Проверь логи и порты:

bash
sudo docker compose logs onlyoffice-document-server
sudo netstat -tulpn | grep :8080

Проблема: Документы не открываются

Решение: Проверь JWT секреты и SSL:

bash
# Проверь, что JWT включен
curl -v http://localhost:8080/healthcheck

Проблема: Медленная работа

Решение: Увеличь ресурсы и оптимизируй:

bash
# Мониторинг ресурсов
sudo docker stats onlyoffice-document-server

# Проверь нагрузку на сервер
top -i

Часто задаваемые вопросы (FAQ)

Можно ли установить ONLYOFFICE без Docker?

Да, но это сложнее. ONLYOFFICE предоставляет DEB пакеты для Ubuntu, но Docker установка рекомендуется из-за простоты обновления и изоляции. Без Docker придется вручную настраивать все зависимости: PostgreSQL, RabbitMQ, Redis, и сам Document Server.

Как обновить ONLYOFFICE на Ubuntu?

Для Docker установки: sudo docker compose pull && sudo docker compose up -d. Для DEB установки: sudo apt update && sudo apt install --only-upgrade onlyoffice-documentserver. Всегда делай бэкап перед обновлением!

Какие порты использует ONLYOFFICE?

По умолчанию: 80/443 (веб-интерфейс), 5432 (PostgreSQL), 5672 (RabbitMQ), 6379 (Redis). В Docker установке обычно пробрасывается только порт 80 наружу. Проверь открытые порты: sudo docker port onlyoffice-document-server.

Как настроить бэкап данных?

Бэкапируй volume'ы Docker: onlyoffice_data, onlyoffice_db. Используй команды: sudo docker run --rm -v onlyoffice_data:/data -v /backup:/backup ubuntu tar czf /backup/onlyoffice-data-$(date +%Y%m%d).tar.gz /data. Настрой автоматический бэкап через cron.

Почему нужен SSL для ONLYOFFICE?

Без SSL многие браузеры блокируют доступ к камере/микрофону (для видеоконференций), не работают некоторые API, и интеграции с Nextcloud/ownCloud могут давать ошибки. Let's Encrypt предоставляет бесплатные SSL сертификаты.

Итог: Установка ONLYOFFICE на сервер Ubuntu — процесс, который можно разбить на четкие этапы: подготовка сервера, установка Docker, настройка ONLYOFFICE Document Server, конфигурация Nginx и SSL, оптимизация. Главное — не забывать про безопасность (JWT секреты, SSL) и регулярное обслуживание.

Теперь у тебя есть собственный офисный сервер на Ubuntu! Помни: это production-система, которая требует регулярного обновления и мониторинга. Настрой алерты на высокую нагрузку, делай регулярные бэкапы и следи за обновлениями безопасности.

Поделиться:
Сохранить гайд? В закладки браузера