Cara Menginstal GenieACS

Pendahuluan

GenieACS adalah platform open-source yang dibuat untuk mengelola perangkat CPE (Customer Premises Equipment) menggunakan protokol TR-069, sehingga menawarkan fleksibilitas dan skalabilitas dalam pengelolaan jaringan. Setiap layanan GenieACS bersifat independen dan dapat diinstal di server berbeda. Anda juga dapat menjalankan beberapa instance untuk load balancing atau failover setup. Jika Anda ingin menggunakan GenieACS, ikuti cara install GenieACS pada satu server dengan distro Linux yang menggunakan systemd sebagai sistem init-nya berikut ini.

Hal yang Perlu Diperhatikan Sebelum Install GenieACS

Ini beberapa syarat yang penting untuk Anda ketahui sebelum melakukan install GenieACS.

Node.js

Sebelum melakukan install GenieACS Anda membutuhkan Node.js versi 12.13 atau lebih baru. Anda bisa melihat panduan instalasi di nodejs.org.

MongoDB

Sebelum melakukan install GenieACS Anda membutuhkan MongoDB versi 3.6 atau lebih baru. Anda bisa melihat panduan instalasi di mongodb.com.

Catatan penting sebelum install penggunaan di lingkungan produksi:

  • Pastikan untuk mengkonfigurasi TLS.
  • Ubah nilai UI_JWT_SECRET menjadi string yang unik dan aman.
  • Lihat bagian HTTPS untuk mengaktifkan TLS agar lalu lintas terenkripsi.

Cara Install GenieACS

Panduan install GenieACS dapat dilakukan dengan dua cara yakni:

Instalasi melalui NPM

Gunakan perintah berikut untuk install GenieACS versi 1.2.13 melalui NPM:

sudo npm install -g [email protected] 

Instalasi dari Source

Jika Anda lebih memilih untuk menginstal dari source, seperti ketika menggunakan versi GenieACS dengan patch khusus, lihat file README.md di dalam paket source dan sesuaikan langkah berikutnya untuk install GenieACS.

1. Konfigurasi systemd

Langkah 1: Buat User Sistem

Buat user sistem untuk menjalankan daemon GenieACS:

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

Langkah 2: Buat Direktori  Ekstensi dan File Konfigurasi

Buat direktori untuk menyimpan skrip ekstensi (jika diperlukan):

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

Langkah 3:  Buat File Konfigurasi Lingkungan

Buat file /opt/genieacs/genieacs.env

untuk menyimpan konfigurasi GenieACS sebagai variabel lingkungan. Tambahkan konfigurasi berikut ke file tersebut:

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 

Langkah 4: Tambahkan Secret JWT

Hasilkan secret JWT yang aman dan tambahkan ke file genieacs.env:

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

Langkah 5: Atur Kepemilikan dan Izin File

Jalankan perintah berikut untuk mengatur kepemilikan dan izin file:

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

Langkah 6: Buat Direktori Log

Buat direktori log untuk menyimpan file log GenieACS:

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

2. Buat File Unit systemd

Buat file unit systemd untuk masing-masing layanan GenieACS:

cwmp, nbi, fs, dan ui.

a. Layanan genieacs-cwmp:

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

Isi File:

[Unit] Description=GenieACS CWMP After=network.target [Service] User=genieacs EnvironmentFile=/opt/genieacs/genieacs.env ExecStart=/usr/bin/genieacs-cwmp [Install] WantedBy=default.target 

b. Layanan genieacs-nbi:

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

Isi File:

[Unit] Description=GenieACS NBI After=network.target [Service] User=genieacs EnvironmentFile=/opt/genieacs/genieacs.env ExecStart=/usr/bin/genieacs-nbi [Install] WantedBy=default.target 

c. Layanan genieacs-fs:

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

Isi File:

[Unit] Description=GenieACS FS After=network.target [Service] User=genieacs EnvironmentFile=/opt/genieacs/genieacs.env ExecStart=/usr/bin/genieacs-fs [Install] WantedBy=default.target 

d. Layanan genieacs-ui:

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

Isi File:

[Unit] Description=GenieACS UI After=network.target [Service] User=genieacs EnvironmentFile=/opt/genieacs/genieacs.env ExecStart=/usr/bin/genieacs-ui [Install] WantedBy=default.target 

3. Konfigurasi Logrotate

Konfigurasi rotasi log dengan membuat file /etc/logrotate.d/genieacs dan tambahkan konfigurasi berikut:

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

4. Aktifkan dan Jalankan Layanan

Aktifkan dan jalankan setiap layanan:

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 

5. Verifikasi Layanan

Periksa status masing-masing layanan menggunakan perintah systemctl status untuk memastikan semuanya berjalan dengan baik.

Penutup

Dengan mengikuti langkah-langkah di panduan ini, Anda sudah berhasil install GenieACS pada server berbasis Linux. Pastikan untuk selalu memeriksa log sistem dan layanan untuk memastikan semuanya berjalan dengan lancar. Untuk mendukung performa server Anda, Anda bisa menggunakan layanan Cloud VPS dari IDCloudHost yang menawarkan fleksibilitas spesifikasi, performa tinggi, untuk menjaga stabilitas bisnis Anda.