Пост инсталяционная настройка GenieACS. Конфигурирование systemd.
Для скриптов расширений ACS и конфигурационных файлов нам нужна будет рабочая директория.
root@shelter:~$ mkdir /opt/genieacs root@shelter:~$ mkdir /opt/genieacs/ext root@shelter:~$ chown genieacs:genieacs /opt/genieacs/ext
Создадим файл настроек:
root@shelter:~$ vim /opt/genieacs/genieacs.env
И сохраним в него минимально необходимые параметры:
GENIEACS_CWMP_ACCESS_LOG_FILE=/var/log/genieacs/genieacs-cwmp-access.log GENIEACS_NBI_ACCESS_LOG_FILE=/var/log/genieacs/genieacs-nbi-access.log GENIEACS_FS_ACCESS_LOG_FILE=/var/log/genieacs/genieacs-fs-access.log GENIEACS_UI_ACCESS_LOG_FILE=/var/log/genieacs/genieacs-ui-access.log GENIEACS_DEBUG_FILE=/var/log/genieacs/genieacs-debug.yaml GENIEACS_EXT_DIR=/opt/genieacs/ext GENIEACS_UI_JWT_SECRET=secret
Полный список переменных можно посмотреть на официальной Wiki – Environment Variables.
Назначим владельца и права:
root@shelter:~$ chown genieacs:genieacs /opt/genieacs/genieacs.env root@shelter:~$ chmod 600 /opt/genieacs/genieacs.env
Для log-файлов нам понадобится отдельная папка:
root@shelter:~$ mkdir /var/log/genieacs root@shelter:~$ chown genieacs:genieacs /var/log/genieacs
Стартовые скрипты (systemd unit)
Создадим для каждого демона GenieACS конфигурационные файлы systemd (юниты). Укажем в них на наш файл с переменными для каждого демона, что бы они использовали заданные настройки.
Каждый сервис будет иметь два потока логирования: access.log и process.log. Access.log сконфигурируем для записи в /var/log/genieacs/, а лог процесса направим в journald. Для просмотра логов можно использовать journalctl.
Отметьте. Если команда systemctl edit –force –full выдаёт ошибку, можно создать юниты вручную.
Создадим genieacs-cwmp сервис:
root@shelter:~$ systemctl edit --force --full genieacs-cwmp
Со следующим содержимым:
[Unit] Description=GenieACS CWMP After=network.target [Service] User=genieacs EnvironmentFile=/opt/genieacs/genieacs.env ExecStart=/usr/local/bin/genieacs-cwmp [Install] WantedBy=default.target
Создадим genieacs-nbi сервис:
root@shelter:~$ systemctl edit --force --full genieacs-nbi
Со следующим содержимым:
[Unit] Description=GenieACS NBI After=network.target [Service] User=genieacs EnvironmentFile=/opt/genieacs/genieacs.env ExecStart=/usr/local/bin/genieacs-nbi [Install] WantedBy=default.target
Создадим genieacs-fs сервис:
root@shelter:~$ systemctl edit --force --full genieacs-fs
Со следующим содержимым:
[Unit] Description=GenieACS FS After=network.target [Service] User=genieacs EnvironmentFile=/opt/genieacs/genieacs.env ExecStart=/usr/local/bin/genieacs-fs [Install] WantedBy=default.target
Создадим genieacs-ui сервис
sudo systemctl edit --force --full genieacs-ui
Со следующим содержимым:
[Unit] Description=GenieACS UI After=network.target [Service] User=genieacs EnvironmentFile=/opt/genieacs/genieacs.env ExecStart=/usr/local/bin/genieacs-ui [Install] WantedBy=default.target
Далее включим ротацию новых лог-файлов с помщью logrotate
В файл /etc/logrotate.d/genieacs пропишем следующее:
/var/log/genieacs/*.log /var/log/genieacs/*.yaml { daily rotate 30 compress delaycompress dateext }
Ну и финальные шаги, разрешим автостарт и запустим все сервисы:
root@shelter:~$ systemctl enable genieacs-cwmp root@shelter:~$ systemctl start genieacs-cwmp root@shelter:~$ systemctl status genieacs-cwmp root@shelter:~$ systemctl enable genieacs-nbi root@shelter:~$ systemctl start genieacs-nbi root@shelter:~$ systemctl status genieacs-nbi root@shelter:~$ systemctl enable genieacs-fs root@shelter:~$ systemctl start genieacs-fs root@shelter:~$ systemctl status genieacs-fs root@shelter:~$ systemctl enable genieacs-ui root@shelter:~$ systemctl start genieacs-ui root@shelter:~$ systemctl status genieacs-ui
Проверяем вывод systemctl status что всё запустилось и работает без ошибок.
Готово. ACS работает.
P.S. После смены настроек юнитов нужно перегрузить демона что бы перечитал конфигурацию:
systemctl daemon-reload

Что дальше?
Открываем панель управления роутера на Wive-NG.
Во вкладке Сервисы-CWMP – включаем его.
В пункте адрес сервера прописываем адрес и порт, на котором висит genieacs-cwmp демон: http://ip-addr:7457
Управление сервером осуществляется через Web панель управления демона genieacs-ui и доступна по адресу http://ip-addr:3000
Реквизиты доступа по умолчанию admin:admin
Авторизовавшись, на вкладке Devices мы увидим наш сконфигурированный ранее Wive-NG роутер. Кликнув на него, мы попадём на страницу устройства, здесь более 300 параметров, кроме настроек маршрутизатора, доступны диагностические инструменты и лог-файл.

Изменение параметров помещается в очередь. Которую впоследствии или сразу можно применить или отменить.
На основе этих настроек можно создать файл для auto-provision. И новые устройства автоматически будут настраиваться определённым образом.
