Установка и настройка Pilot-Server на Linux

Pilot-Server для Linux поставляется как автономное приложение .NET 6. Перед установкой ознакомьтесь со страницей Системные требования.

Очистка

Перед началом рекомендуется удалить следы ранее используемых компонентов, чтобы они не могли влиять на текущий процесс установки или последующую работу.

Перед началом очистки исключите риск потери ценных для вас данных, например, базы данных.

Остановите и отключите службы systemd с Pilot-Server и Pilot-BIM-Server:

# systemctl stop pilot-server.service
# systemctl stop pilot-bim-server.service
# systemctl disable pilot-server.service
# systemctl disable pilot-bim-server.service
# systemctl daemon-reload

Удалите юниты systemd серверных компонентов системы Pilot:

# rm /etc/systemd/system/pilot-server.service
# rm /etc/systemd/system/pilot-update.service
# rm /etc/systemd/system/pilot-bim-server.service

Удалите папки с серверными компонентами Pilot:

# rm -R /usr/share/ASCON
# rm -R /opt/pilot-server
# rm -R /opt/pilot-bim-server

Создание пользователя pilotuser

Создайте учетную запись pilotuser, от которой будет запускаться и работать Pilot-Server:

# adduser pilotuser --no-create-home

Задайте пользователю pilotuser права запускать и останавливать сервисы Pilot-Server. Для этого необходимо скорректировать содержимое файла sudoers с помощью visudo:

# visudo

Добавьте в файл конфигурации cледующие строки:

Cmnd_Alias PIL_CMDS = /opt/pilot-server/Ascon.Pilot.Daemon *, /bin/systemctl start pilot-update.service, /bin/systemctl stop pilot-update.service, /bin/systemctl start pilot-server.service, /bin/systemctl stop pilot-server.service

pilotuser ALL=(ALL) NOPASSWD: PIL_CMDS

Сохраните конфигурацию (CTRL+O) и закройте редактор (CTRL+X). Это позволит пользователю pilotuser запускать демон Pilot-Server и сервисы systemd без запроса пароля.

Создание юнитов systemd

Создайте юниты pilot-server.service и pilot-update.service в /etc/systemd/system.

Например, чтобы создать pilot-server.service можно воспользоваться текстовым редактором nano:

# nano /etc/systemd/system/pilot-server.service

Скопируйте текст юнита, сохраните файл (CTRL+O) и закройте nano (CTRL+X).

Если операционная система не предусматривает наличие службы инициализации systemd, то для её замены можно воспользоваться программой Supervisor.

pilot-server.service

[Unit]
Description=ASCON Pilot-Server
After=network.target

[Service]
User=pilotuser
Group=pilotuser
Type=simple
WorkingDirectory=/opt/pilot-server
Restart=always
RestartSec=3
ExecStart=/opt/pilot-server/Ascon.Pilot.Daemon /opt/pilot-server/settings.xml
ExecStop=/bin/kill -s 3 $MAINPID

[Install]
WantedBy=multi-user.target

pilot-update.service

[Unit]
Description=ASCON Pilot-Update
After=network.target

[Service]
User=pilotuser
Group=pilotuser
Type=oneshot
RemainAfterExit=yes
WorkingDirectory=/opt/pilot-server
ExecStart=/bin/sh /opt/pilot-server/bin/updateScript.sh /opt/pilot-server/Update /opt/pilot-server

[Install]
WantedBy=multi-user.target

Загрузка Pilot-Server

Создайте папку для Pilot-Server:

# mkdir -p /opt/pilot-server/bases

$ cd /opt/pilot-server

В папку /opt/pilot-server скачайте и распакуйте актуальную версию Pilot-Server:

# wget --no-check-certificate https://pilot.ascon.ru/release/pilot-server.zip

# unzip pilot-server.zip

Удалите архив, он больше не понадобится:

# rm pilot-server.zip

Для того, чтобы скрипт автоматического обновления updateScript.sh не перезаписывался при обновлении, скопируйте его в папку /opt/pilot-server/bin:

# cp /opt/pilot-server/updateScript.sh /opt/pilot-server/bin

Скачайте и распакуйте демонстрационную базу данных:

$ cd /opt/pilot-server/bases
# wget --no-check-certificate https://pilot.ascon.ru/release/Databases.zip
# unzip Databases.zip
$ cd ../

Назначьте пользователя pilotuser владельцем каталога и файлов, созданных при распаковке, и дайте ему права на них:

# chown pilotuser -Rv /opt/pilot-server

# chmod -R 755 /opt/pilot-server

Назначьте пользователя pilotuser владельцем папки с лицензией:

# chown pilotuser -Rv /usr/share/ASCON

Сделайте Ascon.Pilot.Daemon исполняемым:

# chmod u+x Ascon.Pilot.Daemon

Добавление администратора сервера Pilot-Server

Добавьте администратора Pilot-Server. Придумайте ваш логин и пароль:

$ su pilotuser

# ./Ascon.Pilot.Daemon --admin ./settings.xml имя_администратора_сервера пароль_администратора_сервера

$ exit

По умолчанию в файле settings.xml задан порт HTTP 5545.

Администратор сервера должен быть создан тем же пользователем ОС, который будет запускать сервер.

Запуск Pilot-Server

Запустите юнит pilot-server.service:

# systemctl daemon-reload

# systemctl enable pilot-server.service

# systemctl start pilot-server.service

Если всё настроено правильно, то вызов следующей команды вернёт версию Pilot-Server:

$ curl http://localhost:5545

Настройка Pilot-Server

Дальнейшая настройка системы Pilot включает в себя установку лицензии и подключение базы данных и осуществляется в Pilot-myAdmin.