1. Если планируется подключение к Серверу документов из внешней сети, к нему следует применять те же меры защиты, что и к веб-серверу. Такой сервер необходимо размещать в DMZ (зоне демилитаризации), вне внутреннего корпоративного периметра, чтобы снизить риск для внутренних систем. Заранее определите список необходимых портов и протоколов для внешнего и внутреннего взаимодействия и настройте соответствующие правила межсетевого экрана.
2. Для корпоративных установок рекомендуется организовывать доступ к Серверу документов только через корпоративный VPN. Размещение сервера с прямым доступом из интернета не рекомендуется.
Обратите внимание
Кластер не прошёл тестирование, статья выложена без всех стадий тестирования и проверок, поэтому может быть не актуальна и иметь ошибки.
0. Схема
Системные требования
Ноды сервера документов
Процессор: рекомендуется от 4 ядер;
Оперативная память: рекомендуется от 8 Гб;
Свободное место на жестком диске: рекомендуется от 40 Гб.
Ноды RabbitMQ, Postgresql, Redis
Процессор: рекомендуется от 4 ядер;
Оперативная память: рекомендуется от 4 Гб;
Свободное место на жестком диске: рекомендуется от 40 Гб.
Ноды общего хранилища, Nginx
Процессор: рекомендуется от 2 ядер;
Оперативная память: рекомендуется от 4 Гб;
Свободное место на жестком диске: рекомендуется от 40 Гб.
Данные роли можно разнести по серверам, выполняя пункты 1.1, 1.2 и 1.3 на разных серверах.
Важно
При включенной службе firewalld необходимо выполнить настройку для postgresql, redis и amqp.
# Добавляем службы:
sudo firewall-cmd --permanent --zone=public --add-service=postgresql
sudo firewall-cmd --permanent --zone=public --add-service=redis
sudo firewall-cmd --permanent --zone=public --add-service=amqp
# Перезапускаем службу firewalld:
sudo firewall-cmd --reload
# Проверяем правила для зоны public:
sudo firewall-cmd --zone=public --list-all
1.1. СУБД
1.1.1. Установите PostgreSQL
apt install postgresql -y
1.1.2. Создайте БД
sudo -i -u postgres psql -c "CREATE USER r7office WITH password 'r7office';"
sudo -i -u postgres psql -c "CREATE DATABASE r7office OWNER r7office;"
sudo -i -u postgres psql -c "GRANT ALL privileges ON DATABASE r7office TO r7office;"
1.1.3. Добавьте сервис в автозагрузку
systemctl enable postgresql
1.1.4. Приведите файл /etc/postgresql/15/main/pg_hba.conf к виду
Важно
Версия PostgreSQL может отличаться.
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# Указать все сервера с DS
host r7office r7office 192.168.25.234/32 md5
host r7office r7office 192.168.25.130/32 md5
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all peer
host replication all 127.0.0.1/32 md5
host replication all ::1/128 md5
Где:
host r7office r7office 192.168.25.234/32 md5 — Это доступ к БД r7office пользователю r7office с ip 192.168.25.234 по методу md5.
1.1.5. Приведите строки в файле /etc/postgresql/15/main/postgresql.conf к виду и раскомментируйте их
listen_addresses = 'localhost, 192.168.25.102'
port = 5432
Где:
localhost, 192.168.25.102 — интерфейсы, которые должен слушать PostgreSQL (чтобы слушались все интерфейсы можно также указать ‘*’).
<DNS_DS> – Имя для сервиса DS, Например: astracl-ds.uatr7.ru;
<SSL_CERTIFICATE_PATH> – Путь до ssl сертификата, Например: ssl_certificate /etc/nginx/ssl/uatr7.ru.crt;
<SSL_KEY_PATH> – Путь до приватного ключа сертификата, Например ssl_certificate_key /etc/nginx/ssl/uatr7.ru.key.
2.3. Проверьте конфигурацию
nginx -t
Пример вывода:
2.4. Перезапустите сервис
systemctl restart nginx
3. Файловое хранилище
3.1. Подготовка к установке ПО Samba
Рассмотрим вариант простого samba хранилища на Astra Linux 1.7.4 Orel.
Важно
При включенной службе firewalld необходимо выполнить настройку для samba.
# Добавляем службу:
sudo firewall-cmd --permanent --zone=public --add-service=samba
# Перезапускаем службу firewalld:
sudo firewall-cmd --reload
# Проверяем правила для зоны public:
sudo firewall-cmd --zone=public --list-all
3.1.1. Установите ПО Samba
apt install samba -y
3.1.2. Запустите сервис
systemctl enable smbd.service
3.1.3. Создайте директории
mkdir /mnt/cache
mkdir /mnt/data
3.2. Добавьте файл лицензии
По данному пути добавляем файл лицензии с именно таким именем license.lic:.
/mnt/data/license.lic
3.3. Создайте пользователя
Обратите внимание
В данной инструкции рассматривается чистая инсталляции без имеющихся DS. Если у Вас уже есть DS, то необходимо указать UID и GID пользователя ds с ВМ, где установлен DS.
Можно воспользоваться командой:
id ds
Обратите внимание
В данной инструкции установки не рассматривается наличие уже установленного Документ сервера, поэтому UID и GID будут везде указаны 1100. Если Вам важно сохранить имеющийся DS, то необходимо использовать GID и UID с данной ВМ, либо изменить их на ней, возможно использовать данные команды:
UID и GID пользователя ds должны быть одинаковые на всех ВМ с Сервер Документов и samba хранилищем
# Создаём группу с gid 1100
groupadd -g 1100 ds
# Создаём пользователя с uid 1100 и добавляем его в группу с gid 1100
useradd -u 1100 -g 1100 ds
# Задаем пароль пользователю
smbpasswd -a ds
# Обновляем права на каталоги
chown ds:ds -R /mnt/cache/
chown ds:ds -R /mnt/data
3.3.2. Редактируйте файл
Добавьте в конец файла /etc/samba/smb.conf параметры конфигурации для общих ресурсов cache и data:
nano /etc/samba/smb.conf
С содержимым:
[cache]
comment = DS cache
path = /mnt/cache/
valid users = ds
write list = ds
read only = no
writable = yes
[data]
comment = DS data
path = /mnt/data
valid users = ds
write list = ds
read only = no
writable = yes
3.3.3. Перезапустите сервис
4. Роль DS
Важно
При включенной службе firewalld необходимо выполнить настройку для http и https.
# Добавляем службы:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
# Перезапускаем службу firewalld:
sudo firewall-cmd --reload
# Проверяем правила для зоны public:
sudo firewall-cmd --zone=public --list-all
4.1. Подготовка к установке Сервер Документов
4.1.1. Добавьте репозиторий Debian
nano /etc/apt/sources.list
С содержимым:
# Репозиторий Debian
deb https://archive.debian.org/debian/ stretch main contrib non-free
4.1.2. Измените параметр «Pin-Priority» на «500»
nano /etc/apt/preferences.d/smolensk
С содержимым:
Package: *
Pin: release n=1.8_x86-64
Pin-Priority: 900 на 500