Установка ONLYOFFICE Docs Enterprise Edition на CentOS/RHEL ARM64
Введение
Enterprise Edition позволяет установить ONLYOFFICE Docs на локальном сервере и интегрировать онлайн-редакторы с платформой для совместной работы ONLYOFFICE или другими популярными системами (смотрите подробный список возможностей). В данной инструкции объясняется, как установить ONLYOFFICE Docs Enterprise Edition версии 7.1 и выше на CentOS Stream 9, RHEL 8 и RHEL 9 для 64-битной архитектуры ARM.
Системные требования
- Процессор: 64-битный процессор ARM
- Оперативная память: не менее 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
module_hotfixes=true
Установите NGINX:
sudo yum install nginx
Удалите следующий файл:
sudo rm /etc/nginx/conf.d/default.conf
После этого отредактируйте конфигурационный файл 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 на версию вашей ОС (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
Включите метод аутентификации '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 | sudo bash
ERLANG_LATEST_VERSION=$(curl -s https://api.github.com/repos/rabbitmq/erlang-rpm/releases | sed -n 's/.*"tag_name":\s*"v\([^"]*\)".*/\1/p' | head -1)
sudo rpm -ivh https://github.com/rabbitmq/erlang-rpm/releases/latest/download/erlang-${ERLANG_LATEST_VERSION}-1.el${REV}.aarch64.rpm
Вручную замените $REV на версию вашей ОС (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
Добавление репозитория ONLYOFFICE Docs
Добавьте yum-репозиторий ONLYOFFICE Docs с помощью следующей команды:
sudo yum install https://download.onlyoffice.com/repo/centos/main/noarch/onlyoffice-repo.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 станет зарегистрированной и полнофункциональной.