Перейти к основному содержимому

Установка ONLYOFFICE Docs Enterprise Edition на CentOS

Введение​

Enterprise Edition позволяет установить ONLYOFFICE Docs на локальном сервере и интегрировать онлайн-редакторы с платформой для совместной работы ONLYOFFICE или другими популярными системами (смотрите подробный список возможностей). В данной инструкции объясняется, как установить на компьютере версию ONLYOFFICE Docs Enterprise Edition для Linux.

Системные требования​

  • Процессор: двухъядерный с тактовой частотой 2 ГГц или лучше
  • Оперативная память: не менее 2 ГБ, но это зависит от ОС хоста. Чем больше, тем лучше
  • Жесткий диск: не менее 40 ГБ свободного места
  • SWAP: не менее 4 ГБ, но это зависит от ОС хоста. Чем больше, тем лучше
  • ОС: CentOS Stream 9, RHEL 8 или RHEL 9
  • Дополнительные требования:
    • PostgreSQL: версия 12.9 или выше
    • NGINX: версия 1.3.13 или выше
    • Redis: версия 5 или выше
    • RabbitMQ

Установка зависимостей​

Установка актуальной версии пакетов NGINX​

Для настройки репозитория yum для RHEL/CentOS необходимо создать файл с именем /etc/yum.repos.d/nginx.repo и таким содержимым:

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key

Официальная инструкция

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

sudo yum install nginx

После этого отредактируйте конфигурационный файл NGINX /etc/nginx/nginx.conf, чтобы он выглядел следующим образом:

user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
Важно

Если вы планируете запускать ONLYOFFICE Docs на порту 80, отключите сейчас веб-сайт NGINX по умолчанию. В противном случае ONLYOFFICE Docs может работать неправильно. Для этого выполните следующие команды:

sudo mv -f /etc/nginx/sites-enabled/default /etc/nginx/sites-available/default.disabled
sudo mv -f /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.disabled
sudo systemctl is-active --quiet nginx && sudo systemctl reload nginx || sudo systemctl start nginx

В зависимости от того, как был установлен NGINX, одна из первых двух команд может сообщить, что файл не существует. Это сообщение можно спокойно проигнорировать.

Установка репозитория EPEL​

sudo yum install epel-release

Для установки EPEL на CentOS 9 используйте следующие команды:

sudo yum config-manager --set-enabled crb
sudo yum install epel-release epel-next-release

Для установки EPEL на RHEL используйте следующие команды:

sudo subscription-manager repos --enable codeready-builder-for-rhel-$REV-$(arch)-rpms
sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-$REV.noarch.rpm

Вручную замените $REV на версию вашей ОС (7 для версий 7.x, 8 для версий 8.x, 9 для версий 9.x и т.д.).

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

Установите версию PostgreSQL, включенную в вашу версию CentOS:

sudo yum install postgresql postgresql-server
примечание

Если вы хотите установить какую-то другую версию PostgreSQL из репозитория PostgreSQL, обратитесь за дополнительной информацией к официальной документации PostgreSQL.

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

sudo service postgresql initdb
sudo chkconfig postgresql on

На CentOS 9 chkconfig по умолчанию не установлен. Установите его с помощью следующей команды:

sudo yum install chkconfig

Включите метод аутентификации 'scram-sha-256' для адреса localhost в формате IPv4 и IPv6

Откройте файл /var/lib/pgsql/data/pg_hba.conf в текстовом редакторе.

Найдите строку host all all 127.0.0.1/32 ident и замените ее на следующую:

host all all 127.0.0.1/32 scram-sha-256

Затем найдите строку host all all ::1/128 ident и замените ее на следующую:

host all all ::1/128 scram-sha-256

Сохраните изменения.

Откройте файл /var/lib/pgsql/data/postgresql.conf в текстовом редакторе.

Найдите параметр 'password_encryption', раскомментируйте его и замените значение на 'scram-sha-256':

password_encryption = 'scram-sha-256'

Сохраните изменения.

Перезапустите сервис PostgreSQL:

sudo service postgresql restart

Создайте базу данных и пользователя PostgreSQL:

примечание

Имя пользователя и пароль могут быть любыми.

Сначала выполните команду

cd /tmp

для предотвращения ситуации, когда при запуске от имени суперпользователя выдается сообщение could not change directory to "/root". После этого необходимо создать базу данных и пользователя:

sudo -i -u postgres psql -c "CREATE USER onlyoffice WITH PASSWORD 'onlyoffice';"
sudo -i -u postgres psql -c "CREATE DATABASE onlyoffice OWNER onlyoffice;"

Установка Redis​

Выполните следующую команду:

sudo yum -y install redis

Запустите сервис redis и добавьте его в автозагрузку:

sudo systemctl enable --now redis

Установка RabbitMQ​

sudo curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | os=centos dist=$REV sudo bash
sudo curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | os=centos dist=$REV sudo bash

Вручную замените $REV на версию вашей ОС (7 для версий 7.x, 8 для версий 8.x, 9 для версий 9.x и т.д.).

sudo yum install rabbitmq-server

Или вы можете установить RabbitMQ на CentOS 8 или CentOS 9 с официального сайта.

Запустите сервис rabbitmq и добавьте его в автозагрузку:

sudo systemctl enable --now rabbitmq-server

Добавление репозитория ONLYOFFICE Docs​

Добавьте yum-репозиторий ONLYOFFICE Docs с помощью следующей команды:

sudo yum install https://download.onlyoffice.com/repo/centos/main/noarch/onlyoffice-repo.noarch.rpm

Установка mscorefonts​

Установите пакеты cabextract и xorg-x11-font-utils:

sudo yum install cabextract xorg-x11-font-utils

Для CentOS 7.8(2003) также требуется fontconfig:

sudo yum install fontconfig

Установите пакет шрифтов msttcore:

sudo rpm -i https://sourceforge.net/projects/mscorefonts2/files/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm

Установка ONLYOFFICE Docs​

Выполните следующую команду:

sudo yum install onlyoffice-documentserver-ee

Запустите сервис nginx и добавьте его в автозагрузку:

sudo service nginx start
sudo systemctl enable nginx

После этого ONLYOFFICE Docs будет запущен как процесс. Пакет будет обновляться, как любой другой rpm-пакет.

Обновление ONLYOFFICE Docs​

Чтобы обновить ONLYOFFICE Docs, выполните следующую команду:

sudo yum update onlyoffice-documentserver-ee
Важно

На RHEL 8 и производных выполнение команды yum update при включенном репозитории ONLYOFFICE может завершиться ошибкой зависимостей.

Чтобы этого избежать, исключите следующие пакеты из репозитория ONLYOFFICE, чтобы они устанавливались из системного репозитория AppStream:

echo "excludepkgs=xorg-x11-server-Xvfb,xorg-x11-server-common" >> /etc/yum.repos.d/onlyoffice.repo

Эту команду достаточно выполнить один раз. После этого команда yum update будет работать как обычно.

Если вы установили ONLYOFFICE Docs с помощью OneClick Install, это исключение уже применено автоматически.

Смена порта для ONLYOFFICE Docs, используемого по умолчанию​

По умолчанию ONLYOFFICE Docs слушает входящие соединения на порту 8083. Начиная с версии 4.3 вы можете сменить порт для ONLYOFFICE Docs в случае, если вы планируете использовать его вместо того, который идет по умолчанию.

примечание

Если вы меняете порт по умолчанию, убедитесь, что он открыт для входящих/исходящих соединений. Посмотрите полный список портов, которые используются ONLYOFFICE Docs.

Для этого вам нужно отредактировать переменную окружения DS_PORT с помощью команды:

export DS_PORT=<PORT_NUMBER>

Вместо <PORT_NUMBER> в команде выше необходимо вписать номер порта, который будет использоваться.

примечание

Если вы указываете порт 80, убедитесь, что вы отключили веб-сайт NGINX по умолчанию, как описано в разделе Установка актуальной версии пакетов NGINX.

Внимание

Если вы хотите поменять протокол ONLYOFFICE Docs на HTTPS, не меняйте порт на 443, а воспользуйтесь этой инструкцией.

После этого можно продолжить настройку ONLYOFFICE Docs.

Настройка ONLYOFFICE Docs​

Запустите скрипт конфигурации​

Обратите внимание

По умолчанию в качестве базы данных используется PostgreSQL. Если вы хотите использовать MySQL вместо PostgreSQL, добавьте две переменные окружения для определения типа и порта базы данных перед тем, как запускать скрипт documentserver-configure.sh:

export DB_TYPE=mysql
export DB_PORT=3306

После добавления этих двух переменных вы сможете переключить базу данных с помощью скрипта.

Запустите скрипт documentserver-configure.sh:

bash documentserver-configure.sh

Вам будет предложено указать параметры подключения к PostgreSQL, Redis и RabbitMQ. Используйте следующие данные:

Для PostgreSQL:

  • Host: localhost
  • Database: onlyoffice
  • User: onlyoffice
  • Password: onlyoffice

Для Redis:

  • Host: localhost

Для RabbitMQ:

  • Host: localhost
  • User: guest
  • Password: guest

Добавьте исключение межсетевого экрана​

sudo firewall-cmd --zone=public --add-port=8083/tcp --permanent
sudo firewall-cmd --reload

Отключите SELinux​

примечание

не используется с версии 5.0

Откройте файл /etc/selinux/config в любом текстовом редакторе, замените строку SELINUX=enforcing или SELINUX=permissive на SELINUX=disabled и сохраните изменения.

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

Обратите внимание

В целях безопасности, начиная с версии 8.1, при запуске скрипта documentserver-configure.sh в файле local.json генерируются новые WOPI-ключи. Если вы используете WOPI-подключение, необходимо запустить скрипт после обновления ONLYOFFICE Docs:

documentserver-configure.sh --wopienabled true

Запуск ONLYOFFICE Docs в браузере​

После завершения настройки вы можете ввести http://localhost:8083 в адресной строке браузера, чтобы открыть страницу приветствия ONLYOFFICE Docs, где приводятся дальнейшие инструкции о том, как подключить примеры документов или интегрировать онлайн-редакторы в веб-приложение с помощью предоставленного API.

Регистрация вашей версии Enterprise Edition​

Если вы купили Enterprise Edition и получили файл license.lic, вы можете поместить его в инсталляцию для получения полной версии программы.

Если вы используете дистрибутив Linux на базе Red Hat, файл license.lic помещается в следующую папку:

/var/www/onlyoffice/Data/license.lic

После этого ваша версия Enterprise Edition станет зарегистрированной и полнофункциональной.