Daftar Isi
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
, danui
.
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.