Установка и настройка Pilot-Server на Linux
Pilot-Server для Linux поставляется как автономное приложение .NET 6. Перед установкой ознакомьтесь со страницей Системные требования.
Очистка
Перед началом рекомендуется удалить следы ранее используемых компонентов, чтобы они не могли влиять на текущий процесс установки или последующую работу.
Перед началом очистки исключите риск потери ценных для вас данных, например, базы данных. |
Остановите и отключите службы systemd с Pilot-Server и Pilot-BIM-Server:
# 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-update.service
# rm /etc/systemd/system/pilot-bim-server.service
Удалите папки с серверными компонентами Pilot:
# 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:
Скопируйте текст юнита, сохраните файл (CTRL+O) и закройте nano (CTRL+X).
Если операционная система не предусматривает наличие службы инициализации systemd, то для её замены можно воспользоваться программой Supervisor. |
pilot-server.service
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
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
Скачайте и распакуйте демонстрационную базу данных:
# 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:
Настройка Pilot-Server
Дальнейшая настройка системы Pilot включает в себя установку лицензии и подключение базы данных и осуществляется в Pilot-myAdmin.
В качестве дополнительной возможности присоединение и отсоединение базы данных доступно с помощью команд:▼
Присоединение базы данных
База данных присоединяется и запускается командой --attach или -at с записью параметров подключения в файл settings.xml:
# ./Ascon.Pilot.Daemon --attach [DATABASE_NAME] [PATH_TO_DATABASE_FILE] [PATH_TO_FILE_ARCHIVE]
Пример для подключения демонстрационной базы данных pilot-bim_ru:
$ cd /opt/pilot-server
# ./Ascon.Pilot.Daemon --attach pilot-bim_ru ./bases/pilot-bim_ru/base.dbp ./bases/pilot-bim_ru/FileArchive/44191f9c-c8a4-4689-b38b-474f2aba4465.pilotfa
Для того, чтобы внести параметры базы данных в файл settings.xml для последующих подключений, можно воспользоваться командой --add или -ac: # ./Ascon.Pilot.Daemon --add [PATH_TO_SERVER_SETTINGS_FILE] [DATABASE_NAME] [PATH_TO_DATABASE_FILE] [PATH_TO_FILE_ARCHIVE] Например: $ cd /opt/pilot-server В этом случае база будет подключена при следующем запуске сервера: # ./Ascon.Pilot.Daemon ./settings.xml |
Отсоединение базы данных
Для отсоединения базы данных воспользуйтесь командой --detach или -de:# ./Ascon.Pilot.Daemon --detach [DATABASE_NAME]
Пример отсоединения базы данных pilot-bim_ru:
$ cd /opt/pilot-server
# ./Ascon.Pilot.Daemon --detach pilot-bim_ru