OnlyOffice - это мощный офисный пакет с открытым исходным кодом, который можно развернуть на собственном сервере. В этой статье я расскажу, как установить OnlyOffice вместе со всеми необходимыми компонентами, а также поделюсь исправлениями для команд, которые могут не сработать "из коробки".
Примечание: Эта инструкция написана для Debian-based систем (Debian, Ubuntu). Для других дистрибутивов команды могут отличаться.
Для работы OnlyOffice необходимы сервер баз данных PostgreSQL и брокер сообщений RabbitMQ.
OnlyOffice требует PostgreSQL версии 12.9 и выше. Вот исправленная последовательность команд:
# Обновляем пакеты и устанавливаем curl
sudo apt update
sudo apt install -y curl
# Загружаем GPG-ключ репозитория
curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql-keyring.gpg
# Подключаем репозиторий PostgreSQL
echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/postgresql.list
# Обновляем кэш пакетов и устанавливаем PostgreSQL
sudo apt update
sudo apt install -y postgresql-15
Важно! В оригинальной инструкции была ошибка с перенаправлением вывода в файл. Я заменил >
на | sudo tee
, что более корректно для записи системных файлов.
После установки создаем пользователя и базу данных для OnlyOffice:
# Переходим в оболочку PostgreSQL
sudo -u postgres psql
-- В psql выполняем:
CREATE USER onlyoffice WITH password 'onlyoffice123';
CREATE DATABASE onlyoffice OWNER onlyoffice;
\q
Установка RabbitMQ выполняется одной командой:
sudo apt install -y rabbitmq-server
Исправленная команда для добавления репозитория:
# Устанавливаем ключ репозитория
curl -fsSL https://download.onlyoffice.com/GPG-KEY-ONLYOFFICE | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/onlyoffice.gpg
# Добавляем репозиторий (исправленная версия)
echo "deb https://download.onlyoffice.com/repo/debian squeeze main" | sudo tee /etc/apt/sources.list.d/onlyoffice.list
# Обновляем кэш пакетов
sudo apt update
# Устанавливаем шрифты Microsoft
sudo apt install -y ttf-mscorefonts-installer
# Устанавливаем OnlyOffice Document Server
sudo apt install -y onlyoffice-documentserver
Во время установки вас попросят ввести пароль для базы данных - используйте тот, который вы задали при создании пользователя PostgreSQL (onlyoffice123
в нашем примере).
# Импортируем схему базы данных
sudo -i -u postgres psql -h localhost -U onlyoffice -W -d onlyoffice -f /var/www/onlyoffice/documentserver/server/schema/postgresql/createdb.sql
OnlyOffice устанавливает Nginx автоматически, но требует дополнительной настройки.
# Открываем конфигурационный файл
sudo nano /etc/nginx/conf.d/ds.conf
Приводим секцию server к следующему виду:
server {
listen 0.0.0.0:443 ssl;
server_tokens off;
server_name onlyoffice.yourdomain.com;
ssl_certificate /etc/ssl/onlyoffice/cert.crt;
ssl_certificate_key /etc/ssl/onlyoffice/cert.key;
...
}
Замените onlyoffice.yourdomain.com
на ваше доменное имя.
# Создаем каталог для сертификатов
sudo mkdir -p /etc/ssl/onlyoffice
# Генерируем самоподписанный сертификат
sudo openssl req -x509 -days 1461 -nodes -newkey rsa:2048 -sha256 \
-keyout /etc/ssl/onlyoffice/cert.key \
-out /etc/ssl/onlyoffice/cert.crt \
-subj "/C=RU/ST=YourState/L=YourCity/O=YourCompany/OU=IT/CN=onlyoffice.yourdomain.com"
Для продакшн-среды рекомендуется использовать сертификаты от Let's Encrypt или внутреннего ЦС.
# Проверяем конфигурацию и перезапускаем Nginx
sudo nginx -t && sudo nginx -s reload
# Редактируем конфигурационный файл
sudo nano /etc/onlyoffice/documentserver/default.json
# Находим параметр rejectUnauthorized и меняем на false
"rejectUnauthorized": false
sudo systemctl restart ds-docservice
curl -k https://localhost/welcome/
Эта команда должна вернуть HTML-страницу приветствия OnlyOffice.
sudo cat /etc/onlyoffice/documentserver/local.json | grep string
Для Nextcloud:
cd /var/www/nextcloud
sudo -u www-data php ./occ app:install onlyoffice
sudo -u www-data php ./occ app:enable onlyoffice
Для OwnCloud:
cd /var/www/owncloud
sudo -u www-data php ./occ market:install onlyoffice
sudo -u www-data php ./occ app:enable onlyoffice
В веб-интерфейсе Nextcloud/OwnCloud перейдите в раздел администратора → ONLYOFFICE и укажите:
https://onlyoffice.yourdomain.com
Теперь у вас должен быть полностью рабочий сервер OnlyOffice, интегрированный с Nextcloud или OwnCloud. Основные отличия от оригинальной инструкции:
tee
вместо >
-y
для автоматического подтверждения установкиЕсли у вас возникнут проблемы - проверьте логи служб (journalctl -u ds-docservice
) и убедитесь, что все порты открыты в брандмауэре.
Внимание: Cтатьи здесь сгенерированы нейросетью, пока не правил ошибки, только запустил его да и не до этого. Просто чтобы вы знали и не запускали ядерный реактор по моим статьям ))
НО!
Каждый кейс я реально делал минимум один раз. Серьёзно.
Сервера стоят, клиенты довольны, дата-центры не горят.
Это не просто копипаста — это опыт, выстраданный в бою, просто пересказанный через ИИ.
Если у вас есть вопросы, или Нашли неточность? пишите в коментах —
вместе поправим и сделаем статью более качественной. Я лично объясню нюансы из практики.
Комментарии
Пока нет комментариев. Будьте первым!