Содержание

Cхема

Установка Middle архитектуры Корпоративного сервера 2024 на Альт Сервер 10.1

1. Роль PostgreSQL

Примечание

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

# Добавляем службу:
firewall-cmd --permanent --zone=public --add-service=postgresql
  
# Перезапускаем службу firewalld:
firewall-cmd --reload
  
# Проверяем правила для зоны public:
firewall-cmd --zone=public --list-all

1.1 Установите PostgreSQL

apt-get update && apt-get install -y postgresql14-server
/etc/init.d/postgresql initdb

1.2 Отредактируйте postgresql.conf

vim /var/lib/pgsql/data/postgresql.conf

Приводим параметры к виду:

listen_addresses = 'localhost,192.168.26.48' # what IP address(es) to listen on;
port = 5432

Где

  • localhost,192.168.26.48 — адреса, которые слушает сервис
  • 5432 — порт, который сервис прослушивает

1.3 Измените pg_hba.conf

vim /var/lib/pgsql/data/pg_hba.conf

Добавьте строку

host cddisk cddisk 192.168.26.99/32 md5

Где

  • cddisk — имя базы данных р7-диска
  • cddisk — имя пользователя для р7-диска
  • 192.168.26.99 — адрес, с которого будет подключаться р7-диск

1.4 Создайте пользователя и БД

su - postgres -s /bin/bash -c "psql -c \"CREATE DATABASE cddisk;\""
su - postgres -s /bin/bash -c "psql -c \"CREATE USER cddisk WITH password 'Rtyh&t6djsk123$';\""
su - postgres -s /bin/bash -c "psql -c \"GRANT ALL privileges ON DATABASE cddisk TO cddisk;\""
su - postgres -s /bin/bash -c "psql -c \"ALTER DATABASE cddisk OWNER TO cddisk;\""

Где,

  • cddisk — имя БД для работы р7-диск;
  • cddisk — пользователь с доступом к БД cddisk;
  • Rtyh&t6djsk123$ — пароль от пользователя cddisk.

1.5 Перезапустите PostgreSQL

systemctl enable postgresql
systemctl restart postgresql

2. Роль DS

Актуальная инструкция на странице

Примечание

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

# Добавляем службу:
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --permanent --zone=public --add-service=http
  
# Перезапускаем службу firewalld:
firewall-cmd --reload
  
# Проверяем правила для зоны public:
firewall-cmd --zone=public --list-all

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

sudo apt-get update && sudo apt-get install -y xorg-x11-font-utils cabextract

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

sudo apt-get install nginx

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

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 '3595remote_addr - 3595remote_user [3595time_local] "3595request" '
        '3595status 3595body_bytes_sent "3595http_referer" '
        '"3595http_user_agent" "3595http_x_forwarded_for"';
    access_log /var/log/nginx/access.log main;
    sendfile on;
    #tcp_nopush on;
    keepalive_timeout 65;
    #gzip on;
    include /etc/nginx/sites-enabled/*;
    include /etc/nginx/sites-enabled.d/*;
}

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

sudo apt-get install postgresql12 postgresql12-server -y

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

sudo /etc/init.d/postgresql initdb

2.5 Запустите PostgreSQL

systemctl enable --now postgresql

Проверьте включён ли метод аутентификации «trust» для адреса localhost в формате IPv4 и IPv6:

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

vi /var/lib/pgsql/data/pg_hba.conf

Пример

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            ident на trust
# IPv6 local connections:
host    all             all             ::1/128                 ident на trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
local   replication     all                                     trust
host    replication     all             127.0.0.1/32            trust
host    replication     all             ::1/128                 trust

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

sudo systemctl restart postgresql
sudo systemctl enable postgresql

2.6 Создайте БД и пользователя

sudo -u postgres psql -c "CREATE USER r7office WITH password 'r7office';"
sudo -u postgres psql -c "CREATE DATABASE r7office OWNER r7office;"
sudo -u postgres psql -c "GRANT ALL privileges ON DATABASE r7office TO r7office;"

2.7 Установите вспомогательных сервисов

sudo apt-get install rabbitmq-server redis -y

2.8 Запустите сервисы

sudo systemctl enable rabbitmq redis
sudo systemctl start rabbitmq redis

2.9 Установите дополнительные пакеты

apt-get install ca-certificates apt-https

2.10 Установка DS

2.10.1 Добавьте репозиторий для установки зависимостей

apt-repo add "rpm https://alt-repo.r7-office.ru r7server/x86_64 r7server"
apt-get update

2.10.2 Установите пакета

apt-get install r7-office-documentserver-ee -y

2.11 Запустите DS

sudo systemctl start ds-docservice.service
sudo systemctl start ds-converter.service
sudo systemctl start ds-metrics.service
sudo systemctl enable ds-docservice.service
sudo systemctl enable ds-converter.service
sudo systemctl enable ds-metrics.service
sudo systemctl start nginx.service
sudo systemctl enable nginx.service

2.11.1 Настройка сервера документов

Запустите скрипт documentserver-configure.sh для конфигурирования:

bash documentserver-configure.sh

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

Для PostgreSQL:

  • Host: localhost
  • Database:  r7office
  • User: r7office
  • Password: r7office

Для Redis:

  • Host: localhost

Для AMQP:

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

2.11.2 JWT_SECRET

Выполните:

documentserver-jwt-status.sh

Запомните значение JWT_SECRET, т.к. пригодится на шаге установки Р7-Диска

2.12 Переведите на https

Актуальная инструкция на странице

2.12.1 Создайте директорию

sudo mkdir /var/www/r7-office/Data/ssl

2.12.2 Поместите сертификат и ключ в таком виде

/var/www/r7-office/Data/ssl/имя_файла.crt
/var/www/r7-office/Data/ssl/имя_файла.key

Где,

  • имя_файла — домен или произвольное название.

2.12.3 Замените конфигурационный файл на https

sudo cp /etc/r7-office/documentserver/nginx/ds.conf /etc/r7-office/documentserver/nginx/ds.conf_orig
sudo cp -f /etc/r7-office/documentserver/nginx/ds-ssl.conf.tmpl /etc/r7-office/documentserver/nginx/ds.conf

2.12.4 Измените конфигурационный файл

    vim /etc/r7-office/documentserver/nginx/ds.conf

В разделе HTTPS host изменить строки

# Закомментировать
#ssl on
# Изменить
ssl_certificate /var/www/r7-office/Data/ssl/имя_файла.crt;
ssl_certificate_key /var/www/r7-office/Data/ssl/имя_файла.key;

Где,

  • имя_файла — домен или произвольное название.

2.12.5 Проверьте конфигурацию

nginx -t

2.12.6 Перезапустите сервис nginx

systemctl restart nginx

2.12.7 Запустите скрипт для обновления секрета storage

bash /usr/bin/documentserver-update-securelink.sh

2.13 Регистрация DS

Если вы приобрели Р7-Офис. Профессиональный. Сервер документов и получили файл license.lic. Вы можете поместить его в инсталляцию, для получения полной версии программы.

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

/var/www/r7-office/Data/license.lic

Имя файла лицензии должно быть строго license.lic.

После этого ваша версия Р7-Офис. Профессиональный. Сервер документов станет зарегистрированной и полнофункциональной.

3. Роль Р7-Диск

Актуальная инструкция на странице

Примечание

При включенной службе firewalld необходимо выполнить настройку для Р7-Диск.

# Добавляем службу:
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --permanent --zone=public --add-service=http
  
# Перезапускаем службу firewalld:
sudo firewall-cmd --reload
  
# Проверяем правила для зоны public:
sudo firewall-cmd --zone=public --list-all

3.1 Скачайте архив дистрибутива

3.2 Разметите архив в /mnt

3.3 Распакуйте

unzip AltServer*.zip

3.4 Для HTTPS

Для корректной работы Корпоративного сервера обязательно требуется настройка HTTPS. Перед установкой, скопируйте crt и key файлы в папку /mnt/sslcert.

Примечание
Имя файла должно содержать название домена и расширение.
Например, для домена r7.ru имена файлов должны быть r7.ru.crt и r7.ru.key.

Важно
Потребуется использовать ssl сертификат типа wildcard с соответствующей А записью (пример, *.yourdomain.ru) на используемом DNS сервере в сети сервера.
Для интеграции Р7-Корпоративный сервер 2024 с Р7-Команда сертификат должен быть с шифрованием RSA.

3.5 Добавьте права на исполнение скрипту

chmod +x online_installer.sh

3.6 Запустите установку (В зависимости от версии дистрибутива, шаги могут отличаться)

./online_installer.sh

3.7 В процессе установки:

3.7.1 Чистая установка

Если требуется выполнить чистую установку (удалит имеющуюся инсталляцию Р7-Диск и зависимости):

  • Выберите Да

Установка Middle архитектуры Корпоративного сервера 2024 на Альт Сервер 10.1

3.7.2 Установка СУБД на локальную ВМ

Install PostgreSQL:

  • Выберите Нет

Установка Middle архитектуры Корпоративного сервера 2024 на Альт Сервер 10.1

3.7.3 Установка Сервера Документов

Важно
Если версия устанавливаемого корпоративного сервера 2024 ниже 14000, то для корректной установки Роли Р7-Диск требуется document-server. Поэтому во время установки будем использовать локальный документ сервер, а потом его вынесем на отдельную ВМ.

Установка Сервер Документов:

  • Выберите Да

Установка Middle архитектуры Корпоративного сервера 2024 на Альт Сервер 10.1

3.7.3.1 JWT Key Document Server

Укажите Секрет установленного Document Server

  • Его значение сохраняли в п. 2.11.2, значение jwt-secret

Установка Middle архитектуры Корпоративного сервера 2024 на Альт Сервер 10.1

3.7.3.2 Пароль для базы данных DS

Установка Middle архитектуры Корпоративного сервера 2024 на Альт Сервер 10.1

3.7.4 Установка CDDisk api & web

  • Выберите Да

Установка Middle архитектуры Корпоративного сервера 2024 на Альт Сервер 10.1

3.7.5 Выбрать PostgreSQL

  • Выберите PostgreSQL

Установка Middle архитектуры Корпоративного сервера 2024 на Альт Сервер 10.1

3.7.6 Создание БД

Выберите

  • Нет

Установка Middle архитектуры Корпоративного сервера 2024 на Альт Сервер 10.1

3.7.7 Хост СУБД

Укажите ip сервера с СУБД

Установка Middle архитектуры Корпоративного сервера 2024 на Альт Сервер 10.1

3.7.7.1 Порт СУБД

Укажите port сервера с СУБД

  • По умолчанию 5432, порт задавали в п.1.2

Установка Middle архитектуры Корпоративного сервера 2024 на Альт Сервер 10.1

3.7.7.2 Пользователь с правами создания БД

Укажите cddisk

Установка Middle архитектуры Корпоративного сервера 2024 на Альт Сервер 10.1

3.7.8 Пароль от пользователя cddisk

Укажите пароль пользователя cddisk, что был задан в п.1.4

Установка Middle архитектуры Корпоративного сервера 2024 на Альт Сервер 10.1

3.7.9 coremachinkey от CS19

  • Измените на актуальный, если есть Р7-Офис Корпоративный сервер 2019 и нажмите ОК,
  • Если нет, нажмите Ок без редактирования

Установка Middle архитектуры Корпоративного сервера 2024 на Альт Сервер 10.1

3.7.10 Настройка https

  • Выберите Да, если выполнили пункт 3.4
  • В ином случае выберете Нет

Установка Middle архитектуры Корпоративного сервера 2024 на Альт Сервер 10.1

3.7.11 Укажите домен

  • Необходимо указать домен, в котором у Вас созданы записи

Например, при домене r7.ru, необходимо создать запись cddisk.r7.ru.
В значении указываем именно r7.ru, не созданную А запись

Установка Middle архитектуры Корпоративного сервера 2024 на Альт Сервер 10.1

3.7.11.1 Укажите префикс модуля Р7-Диск

Установка Middle архитектуры Корпоративного сервера 2024 на Альт Сервер 10.1

Указать имя, которое будет открываться в браузере для веб Р7-Диска

Например, если Вы хотите, чтобы открылся Р7-Диск по адресу disk.r7.ru, то указать нужно именно disk, без указания домена.

Также, необходимо сделать соответствующую А запись в DNS.

3.7.11.2 Укажите префикс модуля Р7-Админ

Установка Middle архитектуры Корпоративного сервера 2024 на Альт Сервер 10.1

Указать имя, которое будет открываться в браузере для веб админской панели.

Например, если Вы хотите, чтобы открылся Р7-Админ по адресу admin.r7.ru, то указать нужно именно admin, без указания домена.

Также, необходимо сделать соответствующую А запись в DNS.

3.7.11.3 Префикс Р7-Контакты

Установка Middle архитектуры Корпоративного сервера 2024 на Альт Сервер 10.1

Указать имя, которое будет открываться в браузере для веб клиента контактов.

Например, если Вы хотите, чтобы открылся Р7-Контакты по адресу contacts.r7.ru, то указать нужно именно contacts, без указания домена.

Также, необходимо сделать соответствующую А запись в DNS.

3.7.11.4 Префикс Р7-Проекты

Установка Middle архитектуры Корпоративного сервера 2024 на Альт Сервер 10.1

Указать имя, которое будет открываться в браузере для веб клиента проектов.

Например, если Вы хотите, чтобы открылся Р7-Проекты по адресу projects.r7.ru, то указать нужно именно projects, без указания домена.

Также, необходимо сделать соответствующую А запись в DNS.

3.7.11.5 Укажите префикс модуля Р7-Почта

Установка Middle архитектуры Корпоративного сервера 2024 на Альт Сервер 10.1

Указать имя, которое будет открываться в браузере для веб клиента почты.

Например, если Вы хотите, чтобы открылся Р7-Почта по адресу cdmail.r7.ru, то указать нужно именно cdmail, без указания домена.

Также, необходимо сделать соответствующую А запись в DNS.

3.7.11.6 Укажите префикс модуля Р7-Календарь

Установка Middle архитектуры Корпоративного сервера 2024 на Альт Сервер 10.1

Указать имя, которое будет открываться в браузере для веб календаря.

Например, если Вы хотите, чтобы открылся Р7-Календарь по адресу calendar.r7.ru, то указать нужно именно calendar, без указания домена.

Также, необходимо сделать соответствующую А запись в DNS.

3.7.11.7 Префикс Р7-Сервер Документов

Установка Middle архитектуры Корпоративного сервера 2024 на Альт Сервер 10.1

Указать имя, которое будет открываться в браузере для веба сервера документом.

Например, если Вы хотите, чтобы открылся Р7-Сервер Документов по адресу ds.r7.ru, то указать нужно именно ds, без указания домена.

Также, необходимо сделать соответствующую А запись в DNS.

3.7.12 Установить Р7 Почтовый сервер

  • Выбрать Нет

Установка Middle архитектуры Корпоративного сервера 2024 на Альт Сервер 10.1

Установка почтового сервера на Alt linux 10.1 будет реализовано позже.

3.7.13 Перезагрузка сервера

  • Ввести Да

Установка Middle архитектуры Корпоративного сервера 2024 на Альт Сервер 10.1

3.8 Интеграция корпоративного сервера 2024 с вынесенным сервером документов

Актуальная инструкция на странице

3.8.1 На сервере с БД (postgresql) (пункт 1) выведите информацию:

sudo -u postgres psql -d cddisk -c "SELECT * FROM public.\"MessageSettings\" WHERE \"Key\" = 'documentServerUrl';"
sudo -u postgres psql -d cddisk -c "SELECT * FROM public.\"MessageSettings\" WHERE \"Key\" = 'apiUrlInternal';"
sudo -u postgres psql -d cddisk -c "SELECT * FROM public.\"MessageSettings\" WHERE \"Key\" = 'files.docservice.secret';" - где потребуется сохранить значение files.docservice.secret
3.8.1.1 Обновите на новые значения секрет (если требуется) и адрес сервера документов в БД:
sudo -u postgres psql -d cddisk -c "UPDATE public.\"MessageSettings\" SET \"Value\"='https://ds.r7o.ru' WHERE \"Key\" = 'documentServerUrl';"
sudo -u postgres psql -d cddisk -c "UPDATE public.\"MessageSettings\" SET \"Value\"='https://cddisk.r7o.ru' WHERE \"Key\" = 'apiUrlInternal';"
  • указав вместо https://ds.r7o.ru адрес вынесенного сервера документов (если адрес вынесенного ДС одноименный — нет необходимости менять), для примера, указан в запросе — Value»=’https://ds.r7o.ru’
  • указав вместо https://cddisk.r7o.ru ссылку на сервер документов
3.8.1.2 Секрет

На вынесенном сервере документов (установили в пункте 2) укажите секрет из запроса, по значению ключа «Key» = ‘files.docservice.secret’, в файле:/etc/r7-office/documentserver/local.json

Пример:

"secret": {       
      "inbox": {
       "string": " "   // в кавычках указать ключ из селекта п. 3.8.1, по значению ключа "Key" = 'files.docservice.secret'       
   },
   "outbox": {
       "string": " "   // в кавычках указать ключ из селекта п. 3.8.1, по значению ключа "Key" = 'files.docservice.secret'
           },
   "session": {
       "string": " "   // в кавычках указать ключ из селекта п. 3.8.1, по значению ключа "Key" = 'files.docservice.secret'
           },

Перезапустите сервис DS (на вынесенном сервере документов) и проверьте статусы сервисов:

systemctl restart ds-* --all
systemctl status ds-*

3.8.2 Перезапустите cddisk

supervisorctl restart all

3.8.3 Отключите сервер документов на сервере с ролью Р7-Диск

systemctl stop ds-*
systemctl disable ds-metrics.service ds-docservice.service ds-converter.service

3.8.4 Проверьте работу сервера документов

Зайдите на портал Корпоративного сервера 2024 и создайте документ. Проверьте редактирование

4. Роль Поиск

Примечание: При включенной службе firewalld необходимо выполнить настройку для nfs.

# Добавляем службу:
firewall-cmd --permanent --zone=public --add-port=2664/tcp
  
# Перезапускаем службу firewalld:
firewall-cmd --reload
  
# Проверяем правила для зоны public:
firewall-cmd --zone=public --list-all

4.1 Установите зависимости

4.1.1 Установите дополнительные пакеты

apt-get update && apt-get install ca-certificates apt-https

4.1.2 Добавьте репозиторий

apt-repo add "rpm https://alt-repo.r7-office.ru r7server/x86_64 r7server"

4.1.3 Установите пакеты необходимые для запуска сервиса Search

sudo apt-get update && apt-get install dotnet-aspnetcore-3.1 dotnet-sdk-3.1 supervisor -y

4.2 Перенесите конфигурационные файлы

4.2.1 Архивируйте их на сервере с ролью Р7-Диск

Пример команды

tar czvf search.tar.gz --selinux /opt/r7-office/SearchApi /var/log/r7-office/CDDisk/SearchApi /var/log/r7-office/CDDisk/Bsa.Search.Api.Host /etc/supervisord.d /var/r7-office/searchindex

4.2.2 Перенесите удобным вам способом архив на сервер с ролью search

Пример переноса через scp

scp search.tar.gz ipВмПоиска:/root/

4.2.3 Узнайте uid и gid пользователя cddisk на сервере с ролью Р7-Диск

id cddisk

Вывод

uid=479(cddisk) gid=459(cddisk) groups=459(cddisk)

4.2.4 Удалите конфигурационный файл на сервере с ролью Р7-Диск

rm /etc/supervisord.d/cddisk-searchapi.ini

4.2.5 Отредактируйте файл

vim /etc/supervisord.d/cddisk.ini

Приведите к виду

[group:cddisk]
programs=api,filestorage,processing,registry,apisso

4.2.6 Отредактируйте файл сервиса Registry

vi /opt/r7-office/Service.Registry/appsettings.json

Приведите параметры к виду

.....
    },
    {
      "id": "ISearchService",
      "host": "http://192.168.27.218:2664"
    }
  ],
  "ServiceRegistry": {
    "Host": "http://localhost:7777"
  }
}

где,

  • 192.168.27.218 — ip ВМ, где находится сервис search.

Если серверов с сервисом поиска несколько, то вид будет следующим

.....
    },
    {
      "id": "ISearchService",
      "host": "http://192.168.27.218:2664"
    },
    {
      "id": "ISearchService",
      "host": "http://192.168.27.219:2664"
    }
  ],
  "ServiceRegistry": {
    "Host": "http://localhost:7777"
  }
}

де,

  • 192.168.27.218, 192.168.27.219 — ip ВМ, где находится сервис search.

4.2.7 Перезапустите сервис

systemctl restart supervisord
supervisorctl restart all

4.3 На сервере с ролью Search

4.3.1 Создайте группу и пользователя cddisk

# Создаём группу и пользователя на сервере с поиском
groupadd -g 459 cddisk
  
# Создаём пользователя с uid 479 и добавляем его в группу с gid 459
useradd -u 479 -g 459 cddisk

где, uid=479 и gid=459 которые мы узнали в пункте 4.2.3

4.3.2 Распакуйте архив

tar xzvf search.tar.gz --selinux -C /

4.3.3 Удалите лишнее конфигурационные файлы /etc/supervisord.d

rm -Rf /etc/supervisord.d/{cddisk-api,cddisk-processing,cddisk-filestorage,cddisk-registry,cddisk-ssoapi}.ini

4.3.4 Измените файл /etc/supervisord.d/cddisk.ini

Приведите к виду:

[group:cddisk]
programs=searchapi

4.3.5 Перезапустите службу

systemctl restart supervisor.service
supervisorctl status all

4.4 Проверьте работу поиска

4.4.1. Введите в модуле Диск, в строке поиска, символы из названия документа

Для выдачи результата понадобится время, т.к. сервис только начал работу.

Установка Middle архитектуры Корпоративного сервера 2024 на Альт Сервер 10.1

4.4.2. Проверьте дополнительно трафик

На сервере Поиска включите tcpdump, чтобы убедится, идут ли запросы во время заполнения строки поиска

tcpdump port 2664

Вывод

Установка Middle архитектуры Корпоративного сервера 2024 на Альт Сервер 10.1

5. Роль NFS (опционально)

NFS сервер возможно заменить на дополнительный примонтированный диск

Примечание: При включенной службе firewalld необходимо выполнить настройку для nfs.

# Добавляем службу:
firewall-cmd --permanent --zone=public --add-service=nfs
  
# Перезапускаем службу firewalld:
firewall-cmd --reload
  
# Проверяем правила для зоны public:
firewall-cmd --zone=public --list-all

5.1 Установите nfs и запустите

apt-get install nfs-server -y
systemctl enable nfs
systemctl start nfs

5.2 Создайте каталог

mkdir -p /mnt/nfs/search
mkdir /mnt/nfs/cddisk
mkdir /mnt/nfs/ds

Где,

  • /mnt/nfs/search — каталог для файлов Сервера с сервисом Поиска;
  • /mnt/nfs/cddisk —  каталог для файлов Р7-Диск;
  • /mnt/nfs/ds — каталог для файлов Сервера Документов.

5.3 Создайте пользователей ds и cddisk

5.3.1 Проверьте на ВМ с сервисом Поиска и ВМ с Р7-Диск uid и gid

id cddisk

Вывод:

[root@sabrr-search-alt10-1 var]# id cddisk
uid=479(cddisk) gid=459(cddisk) groups=459(cddisk)

5.3.2 Проверьте на ВМ с Сервером документов uid и gid

id ds

Вывод:

[root@sabrr-ds-alt10-1 ~]# id ds
uid=480(ds) gid=459(ds) groups=459(ds)
5.3.2.1 Измените gid и uid на ВМ с Сервером Документов

Если uid или gid пользователя ds совпадает с cddisk, то обновляем значения, потому что значение gid и uid должны быть уникальными для каждой группы и пользователя;

# Останавливаем службы
systemctl stop ds-converter ds-docservice ds-metrics
# Изменяем группу и права на каталог
groupmod -g 1100 ds
usermod -u 1100 -g 1100 ds
# Обновляем права на каталоги
chown -R ds:ds /var/lib/r7-office /var/www/r7-office /etc/r7-office /var/log/r7-office
# Запускаем сервисы
systemctl start ds-converter ds-docservice ds-metrics

5.3.3 Создайте пользователя на сервере NFS

5.3.3.1 Для DS
# Создаём группу ds
groupadd -g 1100 ds
 
# Создаём пользователя ds и добавляем в группу
useradd -u 1100 -g 1100 ds
5.3.3.2 Для Р7-Диска и Поиска
# Создаём группу cddisk
groupadd -g 459 cddisk
# Создаём пользователя cddisk и добавляем в группу
useradd -u 479 -g 459 cddisk

5.4 Измените файл

vim /etc/exports

5.4.1 Добавьте строки

# Шара для сервера с Сервером документов
/mnt/nfs/ds 192.168.25.1/32(rw,nohide,all_squash,anonuid=1100,anongid=1100,no_subtree_check)
# Шары для сервера с CDDISK и сервера с сервисом поиска
/mnt/nfs/cddisk 192.168.25.2/32(rw,nohide,all_squash,anonuid=119,anongid=131,no_subtree_check)
/mnt/nfs/search 192.168.25.3/32(rw,nohide,all_squash,anonuid=119,anongid=131,no_subtree_check)

Где,

  • 192.168.25.1 — ip сервера DS
  • 192.168.25.2 — ip сервера с Р7-Диск
  • 192.168.25.3 — ip сервера с сервисом Поиска

5.4.2 Обновите права на каталоги

chown cddisk:cddisk /mnt/nfs/cddisk
chown cddisk:cddisk /mnt/nfs/search
chown ds:ds /mnt/nfs/ds

5.4.3 Включите сетевые каталоги

exportfs -ra

6. Подключение сетевых каталогов

6.1 Установите клиент nfs на северах с ролями DS, Р7-Диск, Search

systemctl stop ds-converter ds-docservice ds-metrics

6.2 Для ВМ с ролью DS

6.2.1 Остановите сервис

systemctl stop ds-converter ds-docservice ds-metrics

6.2.2 Пропишите в fstab сетевой каталог

192.168.27.165:/mnt/nfs/ds /var/lib/r7-office/documentserver/App_Data/cache nfs defaults 0 2

где,

  • 192.168.27.165 — ip сервера nfs;
  • /mnt/nfs/ds — сетевой каталог на сервера nfs;
  • /var/lib/r7-office/documentserver/App_Data/cache — куда монтируем сетевой каталог на сервере с DS.

6.2.3 Скопируйте файлы

cd /var/lib/r7-office/documentserver/App_Data/cache/
mkdir /tmp/backup_ds
cp -pr ./ /tmp/backup_ds/

6.2.4 Примонтируйте и скопируйте файлы

cd /tmp/backup_ds
mount -a
cp -pr ./ /var/lib/r7-office/documentserver/App_Data/cache

6.2.5 Запустите сервисы

systemctl start ds-converter ds-docservice ds-metrics

6.2.6 Проверьте работу редактирования

И что файлы создаются на нашем nfs сервере

Установка Middle архитектуры Корпоративного сервера 2024 на Альт Сервер 10.1

6.3 Для ВМ с ролью Р7-Диск

6.3.1 Остановите сервисы

supervisorctl stop all

6.3.2 Пропишите в fstab

192.168.25.4:/mnt/nfs/cddisk /var/r7-office nfs defaults 0 2

Где

  • 192.168.25.4ip сервера nfs;
  • /mnt/nfs/cddisk — сетевой каталог на сервера nfs;
  • /var/r7-office — куда монтируем сетевой каталог на сервере с Р7-Диск.

6.3.3 Скопируйте файлы

cd /var/r7-office
mkdir /tmp/backup_cddisk
cp -pr ./ /tmp/backup_cddisk

6.3.4 Примонитируйте и скопируйте файлы

cd /tmp/backup_cddisk
mount -a
cp -pr ./ /var/r7-office

6.3.5 Запустите сервисы

supervisorctl start all

6.3.6 Проверьте работу портала и сохранение документов

6.3.6.1 Создайте файл и отредактируйте его

Установка Middle архитектуры Корпоративного сервера 2024 на Альт Сервер 10.1

6.3.6.2 Проверьте его сохранение

Установка Middle архитектуры Корпоративного сервера 2024 на Альт Сервер 10.1

6.4 Для ВМ с Сервисом Поиска

6.4.1 Остановите сервис

supervisorctl stop all

6.4.2 Пропишите в fstab сетевой каталог

192.168.25.4:/mnt/nfs/search /var/r7-office/searchindex nfs defaults 0 2

Где

  • 192.168.25.4ip сервера nfs;
  • /mnt/nfs/search— сетевой каталог на сервера nfs;
  • /var/r7-office/searchindex  — куда монтируем сетевой каталог на сервере с сервисом Поиска.

6.4.3 Скопируйте файлы

cd /var/r7-office/searchindex
mkdir /tmp/backup_search
cp -pr ./ /tmp/backup_search

6.3.4 Примонтируйте и скопируйте файлы

cd /tmp/backup_search
mount -a
cp -pr ./ /var/r7-office/searchindex

6.3.5 Запустите сервисы

supervisorctl start all

6.3.6 Проверьте работу поиска

6.3.6.1 Введите имя файла в строке поиска

Должен выдать его в результате

Установка Middle архитектуры Корпоративного сервера 2024 на Альт Сервер 10.1

7. Настройка потоковой репликации Master-Slave PostgreSQL

Примечание: При включенной службе firewalld необходимо выполнить настройку для PostgreSQL.

# Добавляем службу:
firewall-cmd --permanent --zone=public --add-service=postgresql
   
# Перезапускаем службу firewalld:
firewall-cmd --reload
   
# Проверяем правила для зоны public:
firewall-cmd --zone=public --list-all

7.1 Установите PostgreSQL на Slave

apt-get update && apt-get install -y postgresql14-server
/etc/init.d/postgresql initdb

7.2 Измените postgresql.conf

vim /var/lib/pgsql/data/postgresql.conf

Приведите параметры к виду:

listen_addresses = 'localhost,192.168.26.71' # what IP address(es) to listen on;
port = 5432

где

  • localhost,192.168.26.71 — адреса, которые слушает сервис
  • 5432 — порт, который сервис прослушивает

7.2.1 Перезапустите PostgreSQL

systemctl enable postgresql
systemctl restart postgresql

7.3 На Master

7.3.1 Создайте пользователя

su - postgres /bin/bash
createuser --replication -P repluser

Запросит ввод пароля для новой роли, сохраните его

7.3.1.1 Проверьте расположение конфигурационного файла
psql -c 'SHOW config_file;'

В нашем случае это

/var/lib/pgsql/data/postgresql.conf

7.3.2 Выйдите из оболочки postgres

exit

7.3.3 Измените postgresql.conf

vim /var/lib/pgsql/data/postgresql.conf

Отредактируйте следующие параметры:

wal_level = replica
max_wal_senders = 1
max_replication_slots = 2
hot_standby = on
hot_standby_feedback = on

Где,

  • wal_level — указывает, сколько информации записывается в WAL (журнал операций, который используется для репликации);
  • max_wal_senders — количество планируемых серверов Slave;
  • max_replication_slots — максимальное число слотов репликации;
  • hot_standby — определяет, можно или нет подключаться к postgresql для выполнения запросов в процессе восстановления;
  • hot_standby_feedback — определяет, будет или нет сервер slave сообщать мастеру о запросах, которые он выполняет.

7.3.4 Измените файл pg_hba.conf

vim /var/lib/pgsql/data/pg_hba.conf

Добавьте следующие строки:

host    replication     repluser        127.0.0.1/32           md5
host    replication     repluser        192.168.26.48/32       md5
host    replication     repluser        192.168.26.71/32       md5
  • Данной настройкой Вы разрешаете подключение к базе данных replication пользователю repluser с локального сервера (localhost и 192.168.26.48) и сервера 192.168.26.71.

7.3.5 Перезапустите службу postgresql

systemctl restart postgresql

7.4 На Slave

7.4.1 Проверьте пути до конфигурационных файлов

sudo -u postgres psql -c 'SHOW data_directory;'

Вывод

Установка Middle архитектуры Корпоративного сервера 2024 на Альт Сервер 10.1

sudo -u postgres psql -c 'SHOW config_file;'

Вывод

Установка Middle архитектуры Корпоративного сервера 2024 на Альт Сервер 10.1

7.4.2 Остановите PostgreSQL

systemctl stop postgresql

7.4.3 Сделайте бэкап

tar -czvf /tmp/data_pgsql.tar.gz /var/lib/pgsql/data

7.4.4 Удалите содержимое

rm -rf /var/lib/pgsql/data/*

7.4.5 Запустите репликацию с Master на Slave

sudo -u postgres pg_basebackup --host=192.168.26.48 --username=repluser --pgdata=/var/lib/pgsql/data --wal-method=stream --write-recovery-conf

Где,

  • 192.168.26.48 — IP-адрес мастера;
  • /var/lib/pgsql/data — путь до каталога с данными.

После ввода команды система запросит пароль для созданной ранее учетной записи repluser — введите его.

Начнется процесс клонирования данных.

7.4.6 Запустите PostgreSQL

systemctl start postgresql

7.5 Проверка репликации

7.5.1 Посмотрите статус

Статус работы репликации можно посмотреть следующими командами.

7.5.1.1 На Master
select * from pg_stat_replication;
7.5.1.2 На Slave:
select * from pg_stat_wal_receiver;

Установка Middle архитектуры Корпоративного сервера 2024 на Альт Сервер 10.1

7.5.2 Создайте тестовую базу

7.5.2.1 На Master зайдите в командную оболочку Postgres
sudo -u postgres -s psql
7.5.2.2 Создайте новую базу данных:
CREATE DATABASE repltest ENCODING='UTF8';
7.5.2.3 На Slave посмотрите список баз

Выполните команду

sudo -u postgres -s psql -c '\l'

Вы должны увидеть среди баз ту, которую создали на первичном сервере:

Установка Middle архитектуры Корпоративного сервера 2024 на Альт Сервер 10.1

Настройка завершена.