Введение
OnlyOffice - это мощный офисный пакет с открытым исходным кодом, который можно развернуть на собственном сервере. В этой статье я расскажу, как установить OnlyOffice вместе со всеми необходимыми компонентами, а также поделюсь исправлениями для команд, которые могут не сработать "из коробки".
Примечание: Эта инструкция написана для Debian-based систем (Debian, Ubuntu). Для других дистрибутивов команды могут отличаться.
1. Установка необходимых компонентов
Для работы OnlyOffice необходимы сервер баз данных PostgreSQL и брокер сообщений RabbitMQ.
1.1. Установка PostgreSQL
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
1.2. Установка RabbitMQ
Установка RabbitMQ выполняется одной командой:
sudo apt install -y rabbitmq-server
2. Установка и настройка OnlyOffice
2.1. Добавление репозитория OnlyOffice
Исправленная команда для добавления репозитория:
# Устанавливаем ключ репозитория
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
2.2. Установка шрифтов и OnlyOffice
# Устанавливаем шрифты Microsoft
sudo apt install -y ttf-mscorefonts-installer
# Устанавливаем OnlyOffice Document Server
sudo apt install -y onlyoffice-documentserver
Во время установки вас попросят ввести пароль для базы данных - используйте тот, который вы задали при создании пользователя PostgreSQL (onlyoffice123 в нашем примере).
2.3. Импорт начальных данных
# Импортируем схему базы данных
sudo -i -u postgres psql -h localhost -U onlyoffice -W -d onlyoffice -f /var/www/onlyoffice/documentserver/server/schema/postgresql/createdb.sql
3. Настройка Nginx и SSL
OnlyOffice устанавливает Nginx автоматически, но требует дополнительной настройки.
3.1. Редактирование конфигурации 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 на ваше доменное имя.
3.2. Создание SSL сертификата
# Создаем каталог для сертификатов
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 или внутреннего ЦС.
3.3. Перезапуск Nginx
# Проверяем конфигурацию и перезапускаем Nginx
sudo nginx -t && sudo nginx -s reload
4. Дополнительные настройки OnlyOffice
4.1. Отключение проверки сертификата
# Редактируем конфигурационный файл
sudo nano /etc/onlyoffice/documentserver/default.json
# Находим параметр rejectUnauthorized и меняем на false
"rejectUnauthorized": false
4.2. Перезапуск службы
sudo systemctl restart ds-docservice
4.3. Проверка работы
curl -k https://localhost/welcome/
Эта команда должна вернуть HTML-страницу приветствия OnlyOffice.
5. Интеграция с Nextcloud/OwnCloud
5.1. Получение секретного ключа
sudo cat /etc/onlyoffice/documentserver/local.json | grep string
5.2. Установка приложения OnlyOffice
Для 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
5.3. Настройка интеграции
В веб-интерфейсе Nextcloud/OwnCloud перейдите в раздел администратора → ONLYOFFICE и укажите:
- Адрес ONLYOFFICE Docs:
https://onlyoffice.yourdomain.com - Секретный ключ (из пункта 5.1)
- Для тестового сервера отметьте "Отключить проверку сертификата"
Заключение
Теперь у вас должен быть полностью рабочий сервер OnlyOffice, интегрированный с Nextcloud или OwnCloud. Основные отличия от оригинальной инструкции:
- Исправлены команды с перенаправлением вывода через
teeвместо> - Добавлены ключи
-yдля автоматического подтверждения установки - Упрощены некоторые команды для лучшей читаемости
- Добавлены пояснения для потенциально проблемных мест
Если у вас возникнут проблемы - проверьте логи служб (journalctl -u ds-docservice) и убедитесь, что все порты открыты в брандмауэре.
Комментарии
Пока нет комментариев. Будьте первым!