Установка Pilot-Server на Linux
===============================

Инструкция составлена для дистрибутива Ubuntu Server 16.04. Вы также можете использовать другие Linux-дистрибутивы находящаяся в поддержке (Debian, Fedora и т.д.). 
Актуальные дистрибутивы и документацию по Pilot-ICE вы можете найти в [Центре загрузок](http://pilot.sd.ascon.ru/).


Предварительная установка пакетов Linux
---------------------------------------

Запустите обновление пакетов, чтобы получить последние версии, и установите Mono и SQLite:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install sqlite3 mono-complete

Подробнее [об установке Mono](http://www.mono-project.com/docs/getting-started/install/linux/).


Скачивание и установка Pilot-Server
-----------------------------------

В папку /opt/pilot-server скачайте и распакуйте актуальную версию Pilot-Server:
sudo mkdir /opt/pilot-server
cd /opt/pilot-server
sudo wget http://pilot.sd.ascon.ru/release/pilot-server.tar.bz2
sudo tar xvjf pilot-server.tar.bz2 -C /opt
sudo chmod +x PilotLinuxServerUpdater

Добавьте администратора Pilot-Server. Вместо используемого в примере логина `root` и пароля `whale`, придумайте ваш логин и пароль:
sudo mono Ascon.Pilot.Daemon.exe --admin ./settings.xml root whale

Для теста, вы можете запустить Pilot-Server и проверить соединение с ним из любого браузера. По умолчанию в файле settings.xml задан порт HTTP 5545. Запуск сервера:
sudo mono Ascon.Pilot.Daemon.exe ./settings.xml

Затем проверьте соединение в браузере по адресу:
http://ваш_адрес_или_IP:5545/
Если соединение будет успешно установлено, то браузер покажет версию вашего Pilot-Server. Например `Pilot-Server_v16.0.18.25227`.
После этого теста остановите Pilot-Server командой `Ctrl+C`


Настройка автозапуска Pilot-Server
----------------------------------

Чтобы при включении компьютера, или после автообновления из Pilot-myAdmin, не надо было запускать Pilot-Server вручную, настройте автозапуск сервиса.
Создайте учетную запись `pilotuser`, от которой будет запускаться и работать Pilot-Server: 
sudo adduser pilotuser

Назначьте пользователя pilotuser владельцем каталога и файлов, созданных при распаковке:
sudo chown pilotuser -Rv /opt/pilot-server

Установите пакет supervisor и активируйте его автозапуск:
sudo apt-get install supervisor
sudo systemctl enable supervisor.service

Откройте файл /etc/supervisor/supervisord.conf в текстовом редакторе:
sudo nano /etc/supervisor/supervisord.conf

В секции unix_http_server измените значение chmod на 0770 и добавьте строку chown=pilotuser:pilotuser, как показно ниже:
[unix_http_server]
file=/var/run/supervisor.sock ; (the path to the socket file)
chmod=0770 ; sockef file mode
chown=pilotuser:pilotuser

Сохраните сделанные в файле supervisord.conf изменения.

Создайте конфигурационный файл:
printf "%s\n" [program:pilot-server] 'directory=/opt/%(program_name)s' 'command=mono Ascon.Pilot.Daemon.exe settings.xml' user=pilotuser | sudo tee /etc/supervisor/conf.d/pilot.conf

Перезапустите supervisor, чтобы обновить настройки и запустить Pilot-Server:
sudo service supervisor restart

Перезагрузите систему, чтобы убедится, что Pilot-Server стартует автоматически.

Теперь вы можете подключиться к Pilot-Server из программы Pilot-myAdmin, создать чистую базу или подключить демонстрационную базу с наполнением. 

Для подключения домонстрационной базы данных скачайте и распакуйте её в отдельную папку:
sudo mkdir /opt/pilot-server/bases
cd /opt/pilot-server/bases
sudo wget http://pilot.sd.ascon.ru/release/Databases.zip
sudo unzip Databases.zip
sudo chown pilotuser -Rv /opt/pilot-server/bases

Затем откройте Pilot-myAdmin и выполните присоединение существующей базы.

Для дальнейшего управления сервисом могут понадобиться команды остановки, запуска и просмотра текщего состояния:
sudo service supervisor stop
sudo service supervisor start
sudo service supervisor status

Подробнее о возможностях пакета [supervisor](http://supervisord.org/).

