Шаг 1. Установить Nginx
Для этого требуется:
1.1. Установить пакет "nginx":
sudo apt-get install nginx
1.2. Запустить сервис "nginx" и добавить его в автозапуск:
sudo systemctl start nginx sudo systemctl enable nginx
1.3. Разрешить локальный проброс портов:
sudo setsebool -P httpd_can_network_connect 1
Шаг 2. Настроить iptables
Если установлен iptables, выполнить настройки ниже
Для этого требуется добавить доступ к протоколам HTTP и HTTPS с помощью команд:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT sudo iptables-save -f /etc/sysconfig/iptables
Шаг 3. Создать пользователя "avanpost"
Для этого необходимо выполнить команду:
sudo useradd -M avanpost
Шаг 4. Создать каталог для приложения и настроить доступ к нему
Для этого необходимо выполнить команды:
sudo mkdir -p /opt/avanpost/ sudo chown -R avanpost:avanpost /opt/avanpost
Шаг 5. Установить dotnet-sdk
Примечание:
Дополнительная информация по установке: https://docs.microsoft.com/ru-ru/dotnet/core/install/linux-rhel#supported-distributions
Для этого требуется:
5.1. Установить пакет:
sudo apt-get install dotnet-sdk-8.0
5.2. Проверить установку с помощью команды:
dotnet --info
Пример корректного вывода команды
dotnet --info >.NET SDKs installed: > 8.0.100 [/usr/share/dotnet/sdk] >.NET runtimes installed: > Microsoft.AspNetCore.App 8.0.0 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App] > Microsoft.NETCore.App 8.0.0 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
Шаг 6. Распаковать дистрибутив
Для этого требуется:
6.1. Авторизоваться под пользователем "avanpost":
sudo su - avanpost
6.2. Перейти в каталог "/opt/avanpost":
cd /opt/avanpost
6.3. Добавить файл дистрибутива DAG в каталог "/opt/avanpost".
6.4. Создать каталог "/opt/avanpost/dag":
mkdir /opt/avanpost/dag
6.5. Распаковать архив с дистрибутивом с помощью команды по шаблону:
Шаблон команды
unzip Avanpost.Dag.[Version].zip -d dag
Заменить в команде [Version] на номер актуальной версии Avanpost DAG.
6.6. Создать каталог конфигурации "/opt/avanpost/config":
mkdir /opt/avanpost/config
6.7. Разместить файл лицензии "license.xml" в каталоге "/opt/avanpost/config" с помощью SFTP клиента.
Примечание:
Вместо SFTP можно воспользоваться командой scp:
Шаблон команды
scp [Путь до файла] [реквизиты для подключения по SSH]:[Полный путь папки назначения]
Шаг 7. Настроить файлы конфигурации
Для этого требуется:
7.1. Для создания новой конфигурации скопировать файл "dag/configs/config.example" в "/opt/avanpost/config/dag.config" и открыть его для редактирования:
cp dag/configs/config.example /opt/avanpost/config/dag.config nano config/dag.config
7.2. Установить значения параметров в соответствии с таблицей:
Таблица – Описание и настройка параметров конфигурационного файла
Параметр | Описание | Значение | |
|---|---|---|---|
rootUser | Привилегированный пользователь в домене | Указать логин пользователя по шаблону: [Realm]\\[логин] | |
defaultRealm | Домен по умолчанию. Realm определяет область аутентификации пользователей. | Например: avanpost.local | |
host | IP адрес сервера каталога LDAP | Например: 192.168.1.44 | |
bindDN | DN для привязки к LDAP-серверу (DN – идентифицирующее имя объекта в LDAP-директории) | Полный DN в формате: cn=[Имя],dc=[Домен2ур],dc=[Домен1ур] | |
password | Пароль пользователя | Указать пароль пользователя | |
usersBase | Определяет базовый путь в структуре LDAP-директории, где хранятся и обрабатываются данные пользователей, используемые для процесса аутентификации. | Указать путь до директории | |
userNameAttribute | Задает атрибут, который будет использоваться для идентификации имени пользователя при аутентификации. | Параметр не требуется для управляемой системы MS Active Directory, и может быть удален из конфигурации. | |
connectionString | Строка подключения к БД | Указать строку по шаблону: | |
7.3. Создать файлы конфигурации кластера:
cp dag/configs/dag/cluster.dag.config.json /opt/avanpost/config/dag-cluster.config cp dag/configs/dagcollector/cluster.dagcollector.config.json /opt/avanpost/config/dagcollector-cluster.config
Шаг 8. Настроить сервисы "dag" и "dagcollector"
Для этого требуется:
8.1. Скопировать пример файла конфигурации сервиса "dag" в каталог "systemd":
sudo cp /opt/avanpost/dag/configs/dag/dag.service /etc/systemd/system/dag.service
8.2. Скопировать пример файла конфигурации сервиса "dagcollector" в каталог "systemd":
sudo cp /opt/avanpost/dag/configs/dagcollector/dagcollector.service /etc/systemd/system/dagcollector.service
8.3. Открыть для редактирования файл "/etc/systemd/system/dag.service":
sudo nano /etc/systemd/system/dag.service
8.4. Заполнить файл "/etc/systemd/system/dag.service" по примеру:
[Unit] Description=DAG App [Service] WorkingDirectory=/opt/avanpost/dag/web ExecStart=/usr/bin/dotnet /opt/avanpost/dag/web/Avanpost.Dag.WebHost.dll Restart=always RestartSec=10 SyslogIdentifier=dag User=avanpost # В строке ниже задается локальный порт на котором будет подниматься приложение Environment="ASPNETCORE_URLS=http://localhost:5001/;http://localhost:5002/" Environment="ASPNETCORE_ENVIRONMENT=Production" Environment="DOTNET_PRINT_TELEMETRY_MESSAGE=false" Environment="DAG_CFG=/opt/avanpost/config/dag.config" Environment="CLUSTER_CFG=/opt/avanpost/config/dag-cluster.config" [Install] WantedBy=multi-user.target
8.5. Добавить сервисы "dag" и "dagcollector" в автозапуск и запустить их:
sudo systemctl daemon-reload sudo systemctl enable dag sudo systemctl enable dagcollector sudo systemctl start dag sudo systemctl start dagcollector
Шаг 9. Настроить Nginx
Для этого требуется:
9.1. Открыть файл конфигурации Nginx "/etc/nginx/nginx.conf" для редактирования:
sudo nano /etc/nginx/nginx.conf
9.2. В секцию "http" добавить значение:
map $http_upgrade $connection_upgrade {
default upgrade;
"" close;
}
9.3. Скопировать пример файла конфигурации Nginx в "/etc/nginx/sites-enabled.d/avanpost.conf":
sudo cp /opt/avanpost/dag/configs/dag/dag.conf.nginx /etc/nginx/sites-enabled.d/avanpost.conf
9.4. Открыть конфигурационный файл "/etc/nginx/sites-enabled.d/avanpost.conf" для редактирования:
sudo nano /etc/nginx/sites-enabled.d/avanpost.conf
9.5. В конфигурационном файле "/etc/nginx/sites-enabled.d/avanpost.conf" указать доменные имена для сервисов, которые перенаправляются Nginx:
Параметр | Значение |
|---|---|
server_name | Адрес web-интерфейса администрирования в формате "adm.[ваш домен]" |
[ваш домен] заменить на фактическое доменное имя | |
Примечание:
Nginx выполняет анализ запрашиваемого доменного имени и перенаправляет запрос на соответствующий порт, где запущен нужный сервис.
9.6. Проверить конфигурацию с помощью команды:
sudo nginx -t
Пример корректного вывода команды
# nginx: the configuration file /etc/nginx/nginx.conf syntax is ok # nginx: configuration file /etc/nginx/nginx.conf test is successful
9.7. Перезапустить Nginx:
sudo systemctl restart nginx
Шаг 10. Проверить работу сервера
Для проверки необходимо: