Установка Onlyoffice Document Server на Debian Buster 10 с PostgreSQL, Nginx и Let's Encrypt
Для кого эта инструкция
Коротко: для системных администраторов и инженеров DevOps, которым нужно развернуть Onlyoffice Document Server на выделенном Debian Buster 10 с использованием PostgreSQL и Nginx. Если вы развертываете в контейнерах или используете другую ОС, смотрите раздел “Альтернативные подходы”.
Краткие термины
- Onlyoffice Document Server — сервер для совместного редактирования документов.
- Let’s Encrypt — бесплатный центр сертификации для выдачи SSL/TLS сертификатов.
- DHPARAM — параметры Диффи-Хеллмана для усиления обмена ключами в TLS.
Содержание
- Предварительные требования
- Шаг 1: Установка зависимостей пакетов
- Шаг 2: Установка и настройка PostgreSQL
- Шаг 3: Генерация SSL-сертификата и dhparam
- Шаг 4: Установка ONLYOFFICE Document Server
- Шаг 5: Настройка HTTPS для Document Server
- Шаг 6: Тестирование
- Критерии приёмки
- Рольовые чек-листы
- Устранение неисправностей и советы
- Альтернативные подходы и миграция
- Безопасность и соответствие
- Резюме
Предварительные требования
Для корректной работы Document Server рекомендуется минимальная конфигурация сервера:
- 2 ГБ ОЗУ
- 4 ГБ SWAP
- 2 vCPU (ядра)
- 40 ГБ свободного диска
- Доменное имя с A/AAAA записью, указывающей на сервер
- Доступ root/sudo
Важно: для продакшна рекомендуется выделять больше памяти и CPU в зависимости от числа одновременных пользователей.
Шаг 1 — Установка зависимостей пакетов
В этом шаге устанавливаются необходимые системные службы: Redis, RabbitMQ и nginx-extras — они требуются Document Server для очередей, кэша и веб-сервера.
Обновите списки пакетов и установите зависимости:
sudo apt update
sudo apt install redis-server rabbitmq-server nginx-extras gnupg2Проверьте, что сервисы включены и автоматически запускаются при загрузке:
systemctl is-enabled nginx
systemctl is-enabled rabbitmq-server
systemctl is-enabled redis-serverОжидаемый результат: команды должны вернуть “enabled”. Если какой-то сервис не включён — включите через:
sudo systemctl enable <имя_сервиса>Совет: при проблемах с зависимостями посмотрите вывод apt и лог /var/log/apt/term.log.

ALT: Подготовка сервера Debian перед установкой Onlyoffice — терминал с командами обновления пакетов
Шаг 2 — Установка и настройка PostgreSQL
Onlyoffice использует PostgreSQL как базу данных. Установим PostgreSQL и создадим базу и пользователя для Document Server.
Установите PostgreSQL:
sudo apt install postgresqlЗапустите и добавьте в автозагрузку:
systemctl start postgresql
systemctl enable postgresqlВойдите в консоль PostgreSQL под системным пользователем postgres:
sudo -i -u postgres psqlВнутри psql выполните команды для создания базы и роли (в примере имя и пароль — onlyoffice):
CREATE DATABASE onlyoffice;
CREATE USER onlyoffice WITH password 'onlyoffice';
GRANT ALL privileges ON DATABASE onlyoffice TO onlyoffice;Выйдите из psql командой \q.

ALT: Установка и создание базы данных PostgreSQL для Onlyoffice — окно терминала с psql
Совет по безопасности: замените пароль ‘onlyoffice’ на сложный пароль и храните в менеджере секретов. При необходимости настройте pg_hba.conf для ограничения доступа по IP.
Шаг 3 — Генерация SSL сертификата Let’s Encrypt и dhparam
Мы будем запускать Document Server по HTTPS. Генерируем сертификат Let’s Encrypt и файл dhparam для повышения безопасности TLS.
Установите certbot:
sudo apt install certbotЗамените в команде домен и email на свои и выполните генерацию (сервер должен быть доступен по HTTP, порт 80):
certbot certonly --standalone --agree-tos -m youremail@example.com -d your.domain.tldПосле успешного выполнения сертификаты будут в каталоге /etc/letsencrypt/live/your.domain.tld/
Генерация dhparam может занять продолжительное время (особенно для 4096 бит). Сгенерируйте его и поместите в /etc/ssl/certs/:
cd /etc/ssl/certs/
openssl dhparam -out dhparam.pem 4096Файл /etc/ssl/certs/dhparam.pem будет использован в конфигурации Nginx.
Важно: продвинутые админы могут сгенерировать dhparam меньшей длины (2048) при ограниченных ресурсах, но 4096 даёт лучший уровень безопасности.
Шаг 4 — Установка ONLYOFFICE Document Server
Добавим GPG-ключ и репозиторий ONLYOFFICE (репозиторий рассчитан на старую ветку, но совместим с Buster):
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys CB2DE8E5
sudo echo "deb https://download.onlyoffice.com/repo/debian squeeze main" | sudo tee /etc/apt/sources.list.d/onlyoffice.listОбновите списки и установите пакет:
sudo apt update
sudo apt install onlyoffice-documentserverВо время установки пакет может запросить пароль к базе данных PostgreSQL для подключения — введите тот пароль, который вы создали ранее (‘onlyoffice’ в примере).

ALT: Добавление репозитория Onlyoffice в список источников APT — снимок терминала и файл списка
После установки Document Server будет слушать по HTTP на порту 80 (по умолчанию). Не запускайте nginx до настройки HTTPS, иначе certbot не сможет получить сертификат в режиме standalone.
Шаг 5 — Настройка HTTPS для Document Server
Document Server поставляет шаблоны конфигурации Nginx в /etc/onlyoffice/documentserver/nginx/. Мы используем SSL-шаблон ds-ssl.conf.tmpl.
Остановите nginx перед изменениями:
systemctl stop nginxСкопируйте шаблон SSL в рабочий конфиг:
cd /etc/onlyoffice/documentserver/nginx/
cp ds-ssl.conf.tmpl ds.confОткройте файл ds.conf в редакторе (vim/nano) и укажите пути к сертификатам Let’s Encrypt:
ssl_certificate /etc/letsencrypt/live/your.domain.tld/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/your.domain.tld/privkey.pem;
ssl_dhparam /etc/ssl/certs/dhparam.pem;Сохраните файл.
Проверьте конфигурацию Nginx:
nginx -tЕсли проверка успешна, перезапустите nginx:
systemctl restart nginxПосле этого Document Server будет доступен по HTTPS.

ALT: Конфигурация Nginx для Onlyoffice с указанием путей к сертификатам Let’s Encrypt и dhparam
Совет: автоматизируйте обновление сертификатов с помощью cron или systemd timer (certbot renew). После обновления перезапускайте nginx.
Шаг 6 — Тестирование
Откройте в браузере адрес вашего сервера, например:
Вы должны увидеть страницу приветствия Onlyoffice Document Server, подтверждающую, что сервер запущен.

ALT: Страница приветствия Onlyoffice Document Server в браузере — подтверждение успешной установки
Проверочные команды и сценарии:
- Проверка процесса Document Server:
systemctl status onlyoffice-documentserver- Проверка доступности HTTPS порта из консоли:
curl -vk https://your.domain.tld/ | head -n 30- Проверка логов Nginx и приложения:
journalctl -u nginx -n 200
journalctl -u onlyoffice-documentserver -n 200
tail -f /var/log/nginx/error.logКритерии приёмки
- Веб-страница Document Server доступна по HTTPS и сертификат валиден.
- Службы nginx, rabbitmq-server, redis-server и postgresql запущены и enabled.
- База данных onlyoffice существует и к ней можно подключиться.
- Команда curl возвращает корректный HTML-контент без ошибок TLS.
- Логи не содержат повторяющихся ошибок и исключений при старте.
Рольовые чек-листы
Admin (системный администратор):
- Проверить конфигурацию DNS и открытые порты 80/443.
- Установить зависимости и Document Server.
- Выполнить настройку TLS и dhparam.
- Настроить бэкапы базы данных.
DevOps (развёртывание):
- Настроить CI/CD для обновлений только при проверенном тестовом окружении.
- Автоматизировать renew сертификатов и перезапуск nginx.
- Мониторить метрики (CPU/память/латентность).
Security engineer:
- Проверить настройки firewall (ufw/iptables) — открыть только необходимые порты.
- Настроить fail2ban для защиты от грубфорса.
- Провести аудит конфигурации TLS (оценивая шифры и поддержку TLSv1.2/1.3).
Устранение неисправностей и советы
- Если certbot не может получить сертификат: убедитесь, что порт 80 открыт и nginx остановлен (для –standalone). Либо используйте webroot-плагин.
- Если nginx не стартует: выполните nginx -t и проверьте синтаксис конфигурации. Частая ошибка — неправильный путь к сертификату.
- Проблемы подключения к PostgreSQL: проверьте pg_hba.conf и статус службы postgresql.
- Если Document Server возвращает ошибки при редактировании документов: проверьте логи onlyoffice-documentserver, redis и rabbitmq.
Мини-рутинная проверка (после изменений):
systemctl restart onlyoffice-documentserver nginx
journalctl -u onlyoffice-documentserver -n 200 --no-pager
nginx -t && systemctl restart nginxАльтернативные подходы и миграция
- Docker / Docker Compose:
- Onlyoffice предоставляет контейнерные образы — целесообразно для изоляции и упрощённого обновления.
- Подходит, если вы уже используете контейнерную платформу.
- Kubernetes:
- Для крупной инфраструктуры и масштабирования используйте K8s с PersistentVolumes и Secrets для сертификатов.
- Сторонние RPM/DEB источники:
- Можно использовать официальные пакеты для других дистрибутивов или собрать из исходников при особых требованиях.
Когда не использовать этот способ:
- Если вы хотите быстро протестировать продукт на локальной машине — проще запустить Docker-контейнер.
- Если у вас ограниченные ресурсы — контейнеры могут быть более оптимальны для лёгкой разработки.
Безопасность и соответствие
- Резервное копирование: настраивайте регулярные бэкапы PostgreSQL и ключевых конфигурационных файлов.
- Секреты: храните пароли и приватные ключи в безопасном хранилище (Vault, AWS Secrets Manager и т.п.).
- GDPR/Конфиденциальность: оцените, какие документы обрабатываются и где хранятся; при необходимости настройте локальные политики хранения и шифрования на уровне диска.
Рекомендации по усилению TLS:
- Включите только TLSv1.2 и TLSv1.3.
- Используйте современные шифры и HSTS.
Проверочные тесты и приёмка (короткий чек-лист)
- Откройте https://your.domain.tld — страница загрузилась.
- Попробуйте открыть и отредактировать документ через интерфейс (создание, сохранение).
- Выполните curl и убедитесь, что заголовок ответа содержит “Strict-Transport-Security” при включённом HSTS.
- Выполните проверку SSL через инструменты (openssl s_client или внешние сканеры).
Сводка
Вы установили Onlyoffice Document Server на Debian Buster 10, настроили PostgreSQL, сгенерировали сертификаты Let’s Encrypt и dhparam и включили HTTPS через Nginx. В руководстве приведены проверки работоспособности, рекомендации по безопасности, роли и сценарии устранения неполадок.
Возможные следующие шаги:
- Настроить интеграцию с приложением (Nextcloud, Confluence, собственный портал).
- Внедрить мониторинг и алертинг для служб.
- Планировать масштабирование в зависимости от нагрузки.
Важно: адаптируйте пароли, доменные имена и пути к файлам под ваш окружение. Обычно для продакшна требуются дополнительные меры безопасности и резервирования.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента