Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

GenieACS - это программное решение с открытым исходным кодом для удаленного управления устройствами по протоколу TR-069.

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

Ручная установка GenieACS

Info
Для работы GenieACS потребуется Node.js 10.x или выше и MongoDB 3.6 или выше. 


Expand
titleИнструкция по ручной установке

Установка из NPM.

Code Block
sudo npm install -g genieacs@1.2.5

Создайте системного пользователя для запуска демонов GenieACS.

Code Block
sudo useradd --system --no-create-home --user-group genieacs

Создайте каталог для сохранения расширений и файла среды, установите владельца для него. Каталог/opt/genieacs/ext/ будет использован для хранения скриптов расширений (если они есть).

Code Block
mkdir /opt/genieacs
mkdir /opt/genieacs/ext
chown genieacs:genieacs /opt/genieacs/ext

Создайте файл /opt/genieacs/genieacs.env для хранения параметров конфигурации, которые передаются GenieACS в качестве переменных сред и через редактор вставьте в него нижеуказанный текст. Вы можете изменить значения переменных сред под ваши нужды, они описаны на сайте разработчика.

Code Block
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
NODE_OPTIONS=--enable-source-maps
GENIEACS_EXT_DIR=/opt/genieacs/ext
GENIEACS_UI_JWT_SECRET=secret

Установите владельца файла и права доступа к файлу.

Code Block
sudo chown genieacs:genieacs /opt/genieacs/genieacs.env
sudo chmod 600 /opt/genieacs/genieacs.env

Создать каталог журналов и установите владельца.

Code Block
mkdir /var/log/genieacs
chown genieacs:genieacs /var/log/genieacs

Создайте файл модуль systemd для каждой из четырех служб GenieACS. Обратите внимание, что мы используем EnvironmentFile для чтения переменных среды из файла, который мы создали ранее. Подробно прочитать за что отвечает каждая служба можно по ссылке.

Выполните следующую команду, чтобы создать genieacs-cwmp службу.

Code Block
sudo systemctl edit --force --full genieacs-cwmp

В редакторе вставьте нижеуказанный код.

Code Block
[Unit]
Description=GenieACS CWMP
After=network.target

[Service]
User=genieacs
EnvironmentFile=/opt/genieacs/genieacs.env
ExecStart=/usr/bin/genieacs-cwmp

[Install]
WantedBy=default.targe

Выполните следующую команду, чтобы создать genieacs-nbi службу.

Code Block
sudo systemctl edit --force --full genieacs-nbi

В редакторе вставьте нижеуказанный код.

Code Block
[Unit]
Description=GenieACS NBI
After=network.target

[Service]
User=genieacs
EnvironmentFile=/opt/genieacs/genieacs.env
ExecStart=/usr/bin/genieacs-nbi

[Install]
WantedBy=default.target

Выполните следующую команду, чтобы создать genieacs-fs службу.

Code Block
sudo systemctl edit --force --full genieacs-fs

В редакторе вставьте нижеуказанный код.

Code Block
[Unit]
Description=GenieACS FS
After=network.target

[Service]
User=genieacs
EnvironmentFile=/opt/genieacs/genieacs.env
ExecStart=/usr/bin/genieacs-fs

[Install]
WantedBy=default.target

Выполните следующую команду, чтобы создать genieacs-ui службу.

Code Block
sudo systemctl edit --force --full genieacs-ui

В редакторе вставьте нижеуказанный код.

Code Block
[Unit]
Description=GenieACS UI
After=network.target

[Service]
User=genieacs
EnvironmentFile=/opt/genieacs/genieacs.env
ExecStart=/usr/bin/genieacs-ui

[Install]
WantedBy=default.target

Задайте ротацию файлов журнала с помощью утилиты logrotate.

Создайте файл /etc/logrotate.d/genieacs и вставьте в него нижеуказанный код. Вы можете изменить политику ротации под ваши нужды.

Code Block
/var/log/genieacs/*.log /var/log/genieacs/*.yaml {
    daily
    rotate 30
    compress
    delaycompress
    dateext
}

Добавьте службы в автозапуск системы, включите их и проверьте статус работы.

Code Block
sudo systemctl enable genieacs-cwmp
sudo systemctl start genieacs-cwmp
sudo systemctl status genieacs-cwmp

sudo systemctl enable genieacs-nbi
sudo systemctl start genieacs-nbi
sudo systemctl status genieacs-nbi

sudo systemctl enable genieacs-fs
sudo systemctl start genieacs-fs
sudo systemctl status genieacs-fs

sudo systemctl enable genieacs-ui
sudo systemctl start genieacs-ui
sudo systemctl status genieacs-ui

На этом установка и настройка завершены.

Установка GenieACS через скрипт

Для упрощения установки был создан скрипт. В скрипте заложена установка Node.js (для загрузки потребуется утилита curl) и MongoDB. Если вам требуются определенные версии, а не те что устанавливает скрипт, то удалите из скрипта верхние строчки отвечающие за их установку.

Info
Установка выполнялась на Ubuntu 18.04.5 LTS. В зависимости от дистрибутива может потребоваться внести изменения в скрипт.


Expand
titleИнструкция по установки через скрипт

Скачайте скрипт acs.sh удобным способом и сделайте его исполняемым. 

Code Block
sudo chmod +x acs.sh

Вы также можете самостоятельно создать файл, вставить в него код из скрипта через редактор и сделать его исполняемым.

Запустите скрипт.

Code Block
sudo ./acs.sh

Установка занимает около десяти минут, в процессе потребуется подтверждение действий выполняемых скриптом. Скрипт установит GenieACS и создаст системные файлы и каталоги для её работы.

По завершению установки будут выведены статус служб и версии Node.js и MongoDB.

Подробно прочитать за что отвечает каждая служба можно по ссылке.

На этом установка завершена.

Авторизация и подключение устройств к серверу GenieACS

По умолчанию Web-сервер доступен по адресу 127.0.01:3000. Не снимая галочки нажмите ABRACADABRA, далее нажмите Log in Логин и пароль по умолчанию admin/admin.

В настройках TR-69 (CWMP) на CPE укажите адрес сервера с портом 7547. В нашем случае, IP-адрес сервера 192.168.1.210.

После применение настроек на странице Devices в GenieACS, будет отображаться роутер SNR-CPE.

При нажатии на роутер SNR-CPE из списка Devices, откроется окно конфигурации с параметрами для удаленного администрирования. 

Info
Более подробная информация по кастомизации сервера есть на официальном сайте: https://genieacs.com/