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

Установка компонентов ONLYOFFICE Workspace Community вручную

Введение​

Проще всего установить ONLYOFFICE Workspace Community с помощью скрипта для Docker. Если вы предпочитаете полностью контролировать процесс установки, можно установить все компоненты вручную.

ONLYOFFICE Workspace Community включает в себя следующие компоненты: ONLYOFFICE Community Server, ONLYOFFICE Control Panel, ONLYOFFICE Docs и ONLYOFFICE Mail. Чтобы установить их все и интегрировать друг с другом, следуйте приведенным ниже инструкциям.

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

  • Процессор: не менее 4 ядер (рекомендуется 6 ядер)
  • ОЗУ: не менее 8 ГБ (рекомендуется 12 ГБ)
  • Жесткий диск: не менее 40 ГБ свободного места
  • SWAP: не менее 4 ГБ, но зависит от ОС хоста. Чем больше, тем лучше
  • ОС: дистрибутив Linux amd64 с версией ядра 3.10 или выше
  • Дополнительные требования
    • Docker: любая версия, поддерживаемая командой Docker

Шаг 1. Установка необходимых компонентов​

Если Docker не установлен, обратитесь к разделу «Установка» на сайте Docker.

примечание

В Docker по умолчанию используются DNS-серверы Google. Если ваша установка ONLYOFFICE Workspace Community не будет иметь доступа в Интернет, рекомендуется изменить заданный в Docker по умолчанию адрес DNS-сервера на адрес вашего локального DNS-сервера. Для этого откройте файл /etc/default/docker и замените IP-адрес в следующей строке на IP-адрес DNS-сервера в вашей локальной сети:

docker_OPTS="--dns 8.8.8.8"

Для операционных систем на основе RPM, например, CentOS:

  1. Создайте файл конфигурации /etc/docker/daemon.json со следующим содержанием:

    { "dns" : [ "8.8.8.8" ] }
  2. Перезапустите сервис Docker:

    sudo systemctl restart docker.service

Перед началом установки необходимо создать следующие папки:

  1. Для сервера MySQL

    sudo mkdir -p "/app/onlyoffice/mysql/conf.d";
    sudo mkdir -p "/app/onlyoffice/mysql/data";
    sudo mkdir -p "/app/onlyoffice/mysql/initdb";
  2. Для данных и журналов ONLYOFFICE Community Server

    sudo mkdir -p "/app/onlyoffice/CommunityServer/data";
    sudo mkdir -p "/app/onlyoffice/CommunityServer/logs";
    sudo mkdir -p "/app/onlyoffice/CommunityServer/letsencrypt";
  3. Для данных и журналов ONLYOFFICE Docs

    sudo mkdir -p "/app/onlyoffice/DocumentServer/data";
    sudo mkdir -p "/app/onlyoffice/DocumentServer/logs";
  4. И для данных и журналов ONLYOFFICE Mail

    sudo mkdir -p "/app/onlyoffice/MailServer/data/certs";
    sudo mkdir -p "/app/onlyoffice/MailServer/logs";
  5. Для данных и журналов ONLYOFFICE Control Panel

    sudo mkdir -p "/app/onlyoffice/ControlPanel/data";
    sudo mkdir -p "/app/onlyoffice/ControlPanel/logs";

Затем создайте сеть onlyoffice:

sudo docker network create --driver bridge onlyoffice

Шаг 2. Установка MySQL​

Далее создайте контейнер Docker для сервера MySQL. Создайте файл конфигурации:

echo "[mysqld]
sql_mode = 'NO_ENGINE_SUBSTITUTION'
max_connections = 1000
max_allowed_packet = 1048576000
group_concat_max_len = 2048" > /app/onlyoffice/mysql/conf.d/onlyoffice.cnf

Создайте SQL-скрипт, который создаст пользователей и выдаст им права. Пользователь onlyoffice_user необходим для ONLYOFFICE Community Server, а mail_admin — для ONLYOFFICE Mail, если он будет установлен:

echo "ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'my-secret-pw';
CREATE USER IF NOT EXISTS 'onlyoffice_user'@'%' IDENTIFIED WITH mysql_native_password BY 'onlyoffice_pass';
CREATE USER IF NOT EXISTS 'mail_admin'@'%' IDENTIFIED WITH mysql_native_password BY 'Isadmin123';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
GRANT ALL PRIVILEGES ON *.* TO 'onlyoffice_user'@'%';
GRANT ALL PRIVILEGES ON *.* TO 'mail_admin'@'%';
FLUSH PRIVILEGES;" > /app/onlyoffice/mysql/initdb/setup.sql

Обратите внимание, что приведенный выше скрипт задает права доступа к SQL-серверу с любого домена (%). Если вы хотите ограничить доступ, можно указать хосты, которые будут иметь доступ к SQL-серверу.

Создайте контейнер MySQL версии 8.0.29:

sudo docker run --net onlyoffice -i -t -d --restart=always --name onlyoffice-mysql-server \
-v /app/onlyoffice/mysql/conf.d:/etc/mysql/conf.d \
-v /app/onlyoffice/mysql/data:/var/lib/mysql \
-v /app/onlyoffice/mysql/initdb:/docker-entrypoint-initdb.d \
-e MYSQL_ROOT_PASSWORD=my-secret-pw \
-e MYSQL_DATABASE=onlyoffice \
mysql:8.0.29

Шаг 3. Установка ONLYOFFICE Docs​

sudo docker run --net onlyoffice -i -t -d --restart=always --name onlyoffice-document-server \
-v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice \
-v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data \
-v /app/onlyoffice/DocumentServer/fonts:/usr/share/fonts/truetype/custom \
-v /app/onlyoffice/DocumentServer/forgotten:/var/lib/onlyoffice/documentserver/App_Data/cache/files/forgotten \
onlyoffice/documentserver

Для получения дополнительной информации обратитесь к документации по ONLYOFFICE Docs.

Шаг 4. Установка ONLYOFFICE Mail​

sudo docker run --init --net onlyoffice --privileged -i -t -d --restart=always --name onlyoffice-mail-server -p 25:25 -p 143:143 -p 587:587 \
-e MYSQL_SERVER=onlyoffice-mysql-server \
-e MYSQL_SERVER_PORT=3306 \
-e MYSQL_ROOT_USER=root \
-e MYSQL_ROOT_PASSWD=my-secret-pw \
-e MYSQL_SERVER_DB_NAME=onlyoffice_mailserver \
-v /app/onlyoffice/MailServer/data:/var/vmail \
-v /app/onlyoffice/MailServer/data/certs:/etc/pki/tls/mailserver \
-v /app/onlyoffice/MailServer/logs:/var/log \
-h yourdomain.com \
onlyoffice/mailserver

Домен, который будет использоваться для ведения почтовой переписки, должен быть действительным и настроенным на этот сервер (то есть должен иметь соответствующую A-запись в настройках DNS, связывающую доменное имя с IP-адресом машины, на которой установлен ONLYOFFICE Mail).

В приведенной выше команде под параметром "yourdomain.com" следует понимать служебный домен для ONLYOFFICE Mail. Обычно его указывают в MX-записи домена, который будет использоваться для ведения переписки. Как правило, "yourdomain.com" имеет вид mx1.onlyoffice.com

Дополнительные параметры для почтового сервера можно найти здесь.

Шаг 5. Установка ONLYOFFICE Control Panel​

Для установки ONLYOFFICE Control Panel используйте эту команду:

sudo docker run --net onlyoffice -i -t -d --restart=always --name onlyoffice-control-panel \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /app/onlyoffice/CommunityServer/data:/app/onlyoffice/CommunityServer/data \
-v /app/onlyoffice/ControlPanel/data:/var/www/onlyoffice/Data \
-v /app/onlyoffice/ControlPanel/logs:/var/log/onlyoffice onlyoffice/controlpanel

Шаг 6. Установка ONLYOFFICE Community Server​

Наконец, можно установить ONLYOFFICE Community Server:

sudo docker run --net onlyoffice -i -t -d --privileged --restart=always --name onlyoffice-community-server -p 80:80 -p 443:443 -p 5222:5222 --cgroupns=host \
-e MYSQL_SERVER_ROOT_PASSWORD=my-secret-pw \
-e MYSQL_SERVER_DB_NAME=onlyoffice \
-e MYSQL_SERVER_HOST=onlyoffice-mysql-server \
-e MYSQL_SERVER_USER=onlyoffice_user \
-e MYSQL_SERVER_PASS=onlyoffice_pass \
-e DOCUMENT_SERVER_PORT_80_TCP_ADDR=onlyoffice-document-server \
-e MAIL_SERVER_API_HOST=${MAIL_SERVER_IP} \
-e MAIL_SERVER_DB_HOST=onlyoffice-mysql-server \
-e MAIL_SERVER_DB_NAME=onlyoffice_mailserver \
-e MAIL_SERVER_DB_PORT=3306 \
-e MAIL_SERVER_DB_USER=root \
-e MAIL_SERVER_DB_PASS=my-secret-pw \
-e CONTROL_PANEL_PORT_80_TCP=80 \
-e CONTROL_PANEL_PORT_80_TCP_ADDR=onlyoffice-control-panel \
-v /app/onlyoffice/CommunityServer/data:/var/www/onlyoffice/Data \
-v /app/onlyoffice/CommunityServer/logs:/var/log/onlyoffice \
-v /app/onlyoffice/CommunityServer/letsencrypt:/etc/letsencrypt \
-v /sys/fs/cgroup:/sys/fs/cgroup:rw \
onlyoffice/communityserver

Где ${MAIL_SERVER_IP} — IP-адрес контейнера ONLYOFFICE Mail, который можно получить с помощью следующей команды:

MAIL_SERVER_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' onlyoffice-mail-server)

После успешной установки решение будет доступно по адресу http://localhost/.