Install GenieACS di Linux Ubuntu 22.04 LTS
Install GenieACS di Linux Ubuntu 22.04 LTS

Cara Install GenieACS di Linux Ubuntu 22.04 LTS

GenieACS adalah platform manajemen perangkat Auto Configuration Server (ACS) yang open-source dan powerful.

Berdasarkan standar TR-069, GenieACS memungkinkan untuk mengelola, memantau, dan mengonfigurasi perangkat jaringan seperti modem, router, dan CPE lainnya secara terpusat.

Kita akan install GenieACS di Ubuntu 22.04 LTS dengan langkah-langkah terperinci.

Install Package Pendukung

Update index repository dan Upgrade Package

sudo apt update -y && sudo apt upgrade -y

Install package curl dan  gnupg

sudo apt install curl gnupg

Node Js 20

Version node js yang digunakan untuk menjalankan genieACS.

curl -fsSL https://deb.nodesource.com/setup_20.x |sudo -E bash -
sudo apt update

Installation Node Js 20

sudo apt install -y nodejs

Cek Version Node Js

node --version

MongoDB 7

GenieACS menggunakan database NoSQL yaitu MongoDB version 7.

curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | \
   sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg \
   --dearmor
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list

Update index repository dan install mongodb.

sudo apt update
sudo apt install mongodb-org -y

Start dan enable service MongoDB. Pastikan saat cek status service mongodb tidak error.

sudo systemctl start mongod.service
sudo systemctl enable mongod
sudo systemctl status mongod

Install GenieACS 1.2.13

Untuk melakukan installation GenieACS menggunaka npm, tunggu sampai proses selesai.

sudo npm install -g [email protected]

Create user linux baru, digunakan sebagai daemon GenieACS.

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

Membuat directory genieacs, ext dan mengatur user dan group.

sudo mkdir /opt/genieacs
sudo mkdir /opt/genieacs/ext
sudo chown genieacs:genieacs /opt/genieacs/ext

Membuat file environment genieACS.

nano /opt/genieacs/genieacs.env

Masukan script dibawah kedalam file 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
NODE_OPTIONS=--enable-source-maps
GENIEACS_EXT_DIR=/opt/genieacs/ext

Generate secret JWT dimasukan ke dalam file genieacs.env .

sudo su
node -e "console.log(\"GENIEACS_UI_JWT_SECRET=\" + require('crypto').randomBytes(128).toString('hex'))" >> /opt/genieacs/genieacs.env

Mengatur user/group dan permision file genieacs.env .

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

New directory log genieacs dan setting user:group .

sudo mkdir /var/log/genieacs
sudo chown genieacs:genieacs /var/log/genieacs

Membuat File Unit Systemd

Membuat service Genieacs CWMP .

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

Masukan script dibawah, execute bin CWMP.

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

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

[Install]
WantedBy=default.target
sudo systemctl enable genieacs-cwmp 
sudo systemctl start genieacs-cwmp 
sudo systemctl status genieacs-cwmp

Membuat unit systemd service Genieacs NBI .

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

Masukan script NBI dibawah.

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

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

[Install]
WantedBy=default.target
sudo systemctl enable genieacs-nbi 
sudo systemctl start genieacs-nbi 
sudo systemctl status genieacs-nbi

Membuat unit systemd service Genieacs FS .

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

Masukan script FS.

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

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

[Install]
WantedBy=default.target
sudo systemctl enable genieacs-fs 
sudo systemctl start genieacs-fs 
sudo systemctl status genieacs-fs

Membuat unit systemd service Genieacs UI

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

Masukan script UI.

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

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

[Install]
WantedBy=default.target
sudo systemctl enable genieacs-ui 
sudo systemctl start genieacs-ui 
sudo systemctl status genieacs-ui

Membuat file log rotate GenieACS.

sudo nano /etc/logrotate.d/genieacs

Isi file logrotate genieacs.

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

Akses Dashboard GenieACS

Akses http://IP_Public:3000 pada browser untuk melakukan setup wizard GenieACS. Klik ABRACADARA!

Initialization Wizard genieacs

Initialization Wizard genieacs

Klik, Open Sesame!

Initialization Complete
Initialization Complete

Masukan Username: admin, dan Password: admin. Login

From Login genieacs
From Login genieacs

Berikut dashboard dari genieacs.

Dashboard genieacs
Dashboard genieacs

Kamu telah berhasil install GenieACS di Ubuntu 22.04 LTS. Platform ini sekarang siap digunakan untuk mengelola perangkat jaringan.

Dengan GenieACS, kamu sekarang memiliki sistem manajemen perangkat yang powerful dan fleksibel untuk infrastruktur jaringan.