Гид по технологиям

Компиляция и запуск ONLYOFFICE Document Server на Ubuntu

5 min read Установка Обновлено 24 Nov 2025
Собрать ONLYOFFICE Document Server на Ubuntu
Собрать ONLYOFFICE Document Server на Ubuntu

Логотип и скриншот ONLYOFFICE Document Server

ONLYOFFICE Document Server — это веб‑просмотрщики и совместные редакторы документов, таблиц и презентаций с высокой совместимостью OOXML форматов (docx, xlsx, pptx). Набор распространяется под лицензией GNU AGPL v3.0.

Document Server можно интегрировать с облачными хранилищами типа Nextcloud, ownCloud, Seafile, HumHub, Plone и другими, а также встроить в собственное решение. Он входит в состав ONLYOFFICE Community Edition — бесплатного OSS решения с онлайн‑редакторами и платформой для совместной работы.

Редактор документов ONLYOFFICE — интерфейс редактора

Инструменты в репозитории build_tools позволяют автоматически установить все зависимости и скомпилировать последнюю версию редакторов из исходников.

Краткие требования

  • CPU: минимум двухъядерный процессор 2 ГГц или лучше
  • ОЗУ: 2 ГБ или больше (рекомендуется 4 ГБ и выше для комфортной работы)
  • Диск: минимум 40 ГБ свободного места
  • Раздел подкачки (swap): как минимум 4 ГБ

Важно: это минимальные требования для сборки и тестового запуска. Для продакшн‑нагрузок увеличьте ресурсы и настройте репликацию/балансировку.

Что вы получите в конце

  • Скомпилированную копию ONLYOFFICE Document Server в каталоге out/linux_64/onlyoffice/documentserver/
  • Настроенный NGINX как прокси, PostgreSQL как БД и RabbitMQ как брокер сообщений
  • Запущенные локальные сервисы FileConverter, SpellChecker и DocService

Шаг 1: Установка зависимостей

Если Python и Git отсутствуют, установите их командой:

sudo apt-get install -y python git

Примечание: для сборки могут потребоваться дополнительные пакеты (build‑tools, сборщики и т.д.). Если скрипт automate.py будет жаловаться на недостающие зависимости — установите их по подсказкам.

Шаг 2: Сборка исходников Document Server

Клонируйте репозиторий build_tools:

git clone https://github.com/ONLYOFFICE/build_tools.git

Перейдите в каталог для Linux:

cd build_tools/tools/linux

Запустите автоматический сценарий сборки:

./automate.py server

После завершения скомпилированный Document Server будет доступен в каталоге ../../out/linux_64/onlyoffice/documentserver/.

Важно: сборка может занять значительное время и потребовать много оперативной памяти. Если у вас недостаточно ресурсов, рассмотрите сборку на выделенной машине или в контейнере.

Шаг 3: Установка и настройка NGINX, PostgreSQL и RabbitMQ

Document Server использует NGINX как веб‑сервер, PostgreSQL как базу данных и RabbitMQ для очередей сообщений.

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

Установите NGINX:

sudo apt-get install nginx

Отключите сайт по умолчанию:

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

Создайте файл конфигурации сайта /etc/nginx/sites-available/onlyoffice-documentserver с таким содержимым:

map $http_host $this_host {  
  "" $host;  
  default $http_host;  
}  
map $http_x_forwarded_proto $the_scheme {  
  default $http_x_forwarded_proto;  
  "" $scheme;  
}  
map $http_x_forwarded_host $the_host {  
  default $http_x_forwarded_host;  
  "" $this_host;  
}  
map $http_upgrade $proxy_connection {  
  default upgrade;  
  "" close;  
}  
proxy_set_header Host $http_host;  
proxy_set_header Upgrade $http_upgrade;  
proxy_set_header Connection $proxy_connection;  
proxy_set_header X-Forwarded-Host $the_host;  
proxy_set_header X-Forwarded-Proto $the_scheme;  
server {  
  listen 0.0.0.0:80;  
  listen [::]:80 default_server;  
  server_tokens off;  
  rewrite ^\/OfficeWeb(\/apps\/.*)$ /web-apps$1 redirect;  
  location / {  
    proxy_pass http://localhost:8000;  
    proxy_http_version 1.1;  
  }  
  location /spellchecker/ {  
    proxy_pass http://localhost:8080/;  
    proxy_http_version 1.1;  
  }  
}

Добавьте символьную ссылку в sites-enabled и перезагрузите NGINX:

sudo ln -s /etc/nginx/sites-available/onlyoffice-documentserver /etc/nginx/sites-enabled/onlyoffice-documentserver
sudo nginx -s reload

Примечание: если NGINX запускается под ограниченным пользователем, проверьте права на сокеты и файлы.

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

Установите PostgreSQL:

sudo apt-get install postgresql

Создайте базу данных и пользователя (укажите ‘onlyoffice’ и в качестве имени, и в качестве пароля):

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;"

Инициализируйте схему базы данных:

psql -hlocalhost -Uonlyoffice -d onlyoffice -f ../../out/linux_64/onlyoffice/documentserver/server/schema/postgresql/createdb.sql

Команда одна строка. При появлении запроса введите пароль onlyoffice.

Установка RabbitMQ

Установите RabbitMQ:

sudo apt-get install rabbitmq-server

RabbitMQ не требует дополнительной конфигурации для базовой работы, но в продуктивной среде настройте учетные записи, виртуальные хосты и политики безопасности.

Шаг 4: Генерация данных шрифтов

Перейдите в каталог с собранным сервером и создайте папку fonts, затем запустите генератор:

cd out/linux_64/onlyoffice/documentserver/  
mkdir fonts  
LD_LIBRARY_PATH=${PWD}/server/FileConverter/bin server/tools/allfontsgen \  
  --input="${PWD}/core-fonts" \  
  --allfonts-web="${PWD}/sdkjs/common/AllFonts.js" \  
  --allfonts="${PWD}/server/FileConverter/bin/AllFonts.js" \  
  --images="${PWD}/sdkjs/common/Images" \  
  --selection="${PWD}/server/FileConverter/bin/font_selection.bin" \  
  --output-web='fonts' \  
  --use-system="true"

Это создаст веб‑версию таблицы шрифтов и бинарные артефакты, используемые FileConverter.

Шаг 5: Генерация тем для презентаций

Выполните команды:

cd out/linux_64/onlyoffice/documentserver/
LD_LIBRARY_PATH=${PWD}/server/FileConverter/bin server/tools/allthemesgen \  
  --converter-dir="${PWD}/server/FileConverter/bin"\  
  --src="${PWD}/sdkjs/slide/themes"\  
  --output="${PWD}/sdkjs/common/Images"

Генерация подтянет изображения тем в каталог SDK, чтобы презентации отображались корректно в веб‑редакторе.

Шаг 6: Запуск Document Server

Компоненты Document Server запускаются как foreground‑процессы. Для одновременного запуска используйте несколько терминалов, tmux/screen или системные менеджеры (systemd) для фонового запуска.

Запустите FileConverter:

cd out/linux_64/onlyoffice/documentserver/server/FileConverter  
LD_LIBRARY_PATH=$PWD/bin NODE_ENV=development-linux NODE_CONFIG_DIR=$PWD/../Common/config ./converter

Запустите SpellChecker:

cd out/linux_64/onlyoffice/documentserver/server/SpellChecker  
NODE_ENV=development-linux NODE_CONFIG_DIR=$PWD/../Common/config ./spellchecker

Запустите DocService:

cd out/linux_64/onlyoffice/documentserver/server/DocService  
NODE_ENV=development-linux NODE_CONFIG_DIR=$PWD/../Common/config ./docservice

После запуска сервисов доступ к редакторам будет организован через NGINX и проксироваться на локальные порты.

Важно: в тестовой среде можно запускать процессы в foreground. Для стабильного продакшна создайте systemd‑юнит‑файлы или используйте контейнеры.

Альтернативные подходы

  • Использовать официальный Docker‑образ ONLYOFFICE Document Server — быстрее разворачивается и проще управляется в продакшн.
  • Установить готовые deb/rpm‑пакеты из официального репозитория ONLYOFFICE — минимум ручных шагов.
  • Разворачивать через Ansible/Terraform для повторяемости и автоматизации.

Когда этот подход не подходит

  • На слабых машинах локальная сборка может завершиться с ошибкой из‑за нехватки памяти.
  • Для быстрой проверки проще использовать Docker, чем собирать с нуля.
  • Если требуется корпоративная поддержка и SLA, рассматривайте коммерческие варианты ONLYOFFICE.

Чек‑лист для продакшн‑развёртывания

  • Резервное копирование и миграция PostgreSQL
  • Настроить TLS/HTTPS в NGINX (Let’s Encrypt или коммерческий сертификат)
  • Настроить systemd‑юниты или контейнерную оркестрацию
  • Настроить мониторинг сервисов и логирование
  • Ограничить доступ к RabbitMQ и PostgreSQL через брандмауэр
  • Настроить план обслуживания и регулярные обновления

Критерии приёмки

  • Document Server успешно собирается и все три сервиса (FileConverter, SpellChecker, DocService) запускаются без ошибок.
  • NGINX проксирует запросы и редактор доступен в браузере.
  • Конвертация и сохранение документов проходят без ошибок в тестовых файлах docx/xlsx/pptx.
  • Логи не содержат критических ошибок и сервисы устойчивы при нескольких одновременных подключениях.

Безопасность и приватность

  • Используйте HTTPS для фронтенда и, при необходимости, внутренней связи между компонентами.
  • Ограничьте доступ к базе данных и RabbitMQ через приватные сети и правила брандмауэра.
  • При обработке персональных данных проверьте соответствие требованиям локального законодательства и GDPR при необходимости.

Краткий словарь

  • FileConverter — служба для конвертации и рендеринга документов.
  • DocService — центральный сервис Document Server, обрабатывающий запросы от веб‑редактора.
  • SpellChecker — служба проверки орфографии.
  • SDKJS — фронтенд‑библиотеки, используемые редактором в браузере.

Краткое резюме

  • Сборка из исходников даёт максимальную гибкость, но требует ресурсов и внимания к зависимостям.
  • Для быстрого развёртывания рассмотрите Docker или готовые пакеты.
  • В продакшн‑окружении обязательно настройте TLS, systemd/контейнеры, мониторинг и бэкапы.

Extras: используйте этот гид как основу для тестовой интеграции и, при переходе в продуктовую среду, оформите автоматизацию развёртывания.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство