:experimental: true
:source-highlighter: highlight.js


= Инструкция по установке и настройке сервера приложений АСМО на ОС Linux

== Системные требования

- java vm версии не ниже 11 (1.11) (проверка `java -version`)
- unzip

== Установка СП АСМО:
1. Создать каталог для установки `mkdir -p /opt/asmo/server`
2. Распаковать дистрибутив в каталог */opt/asmo/server/* `unzip -d /opt/asmo/server am-<версия>-linux-x64.zip`
3. Дать файлу *am* права на выполнение `chmod +x /opt/asmo/server/am`
4. Проверить работоспособность *am* (не обязательно):
  - Запустить *am* в консольном режиме `/opt/asmo/server/am --console`
  - Подключиться к запущенному менеджеру агентов из *amconsole*
  - Остановить *am* (команда 'q')

=== Настройка запуска (с использованием systemd):
1. Создать пользователя *asmo* `useradd -r asmo`

2. Сделать пользователя *asmo* владельцем каталога */opt/asmo/* `chown -R asmo:asmo /opt/asmo`

3. Скопировать *asmod.service* в каталог */etc/systemd/system/* `cp /opt/asmo/server/doc/asmod.service /etc/systemd/system`

4. Уведомим systemd об изменении конфигурации `systemctl daemon-reload`

5. Настроим активацию при каждой загрузке `systemctl enable asmod`

6. Управление службой *asmod*
  - Запуск службы `systemctl start asmod`
  - Проверка состояние службы `systemctl status asmod` должно быть *active (running)*
  - Останов службы `systemctl stop asmod`

7. Проверить работоспособность *asmod*, подключившись к нему из *amconsole*

=== Настройка запуска (с использованием SysVinit):
Создать пользователя *asmo* `useradd -r asmo`
- Сделать пользователя *asmo* владельцем каталога */opt/asmo/* `chown asmo:asmo /opt/asmo -R`
- Скопировать скрипт *asmod* в каталог */etc/init.d/*
- Дать скрипту права на выполнение `chmod +x asmod`
- Запустить демон *asmod* `/etc/init.d/asmod start`
  - если при запуске возникает ошибка, что домашний каталог пользователя не существует,
    то можно задать для пользователя *asmo* какой-нибудь существующий каталог в качестве домашнего
    (например */var/empty* или */*) `usermod -d / asmo`
- проверить работоспособность *asmod*, подключившись к нему из *amconsole*

- Зарегистрировать *asmod* в системе:

1. `chkconfig --add asmod`
2. Проверить, что *asmod* планируется к запуску на уровнях 3 и 5 `chkconfig | grep asmod`
3. Проверить состояние службы service *asmod* status

- После регистрации управление осуществляется через команду *service*
  1. Запуск службы `service asmod start`
  2. Останов службы `service asmod stop`
  3. Перезапуск службы `service asmod restart`

- Для запуска агентов потребуется файл */opt/asmo/server/pha.conf* (формат файла описан в справке по *pha*)
  - можно создать новый пустой файл `touch pha.conf`
  - или использовать *pha.conf* из существующей установки

