🚀 Tutorial Instalasi MiniOS dan GenieACS
📖 Panduan lengkap untuk menginstall MiniOS di USB Flash Drive dan menginstall GenieACS di sistem MiniOS
📑 Daftar Isi
- 🖥️ Instalasi MiniOS di USB Flash Drive
- ⚙️ Instalasi GenieACS di MiniOS
- 🛠️ Troubleshooting
- 📚 Referensi
🖥️ Instalasi MiniOS di USB Flash Drive
┌─────────────────────────────────────┐
│ 🖥️ MiniOS Installation Guide 💿 │
└─────────────────────────────────────┘
1️⃣ Download File ISO MiniOS
Download Requirements
- Download file ISO MiniOS dari website resmi MiniOS.
2️⃣ Membuat USB Drive yang Bootable
Pilihan Metode Instalasi
🥇 Metode Utama (Windows/Linux/MacOS)
⭐ Rekomendasi: Metode ini mendukung fitur persistence
- Copy folder
/minios/ke root directory disk Anda (contoh:E:\minios\). - Navigasi ke directory
/minios/boot/di USB device atau hard disk Anda. - Cari file
bootinst.bat(untuk Windows) ataubootinst.sh(untuk Linux dan MacOS). - Jalankan file tersebut dengan double-click untuk melakukan perubahan yang diperlukan pada master boot record device Anda.
🔸 Menggunakan Rufus (Windows)
Rufus adalah utility yang membantu format dan membuat USB flash drive yang bootable.
- 📥 Buka Rufus.
- 🖱️ Pilih USB drive Anda.
- 📁 Pilih file ISO MiniOS.
- ▶️ Mulai proses.
🔸 Menggunakan UNetbootin (Windows/Linux/MacOS)
UNetbootin dapat membuat bootable Live USB drive.
- 📥 Buka UNetbootin.
- 📁 Pilih file ISO MiniOS.
- 🖱️ Pilih USB drive Anda.
- ✅ Klik 'OK'.
🔸 Menggunakan Ventoy (Windows/Linux)
Ventoy adalah tool open-source yang memungkinkan Anda membuat bootable USB drive dengan hanya menyalin file ISO ke dalamnya.
- ⬇️ Install Ventoy ke USB drive Anda.
- 📋 Copy file ISO MiniOS langsung ke USB.
🔸 Menggunakan Balena Etcher (Windows/Linux/MacOS)
Balena Etcher adalah utility cross-platform yang menulis images ke drives.
- 📁 Pilih file ISO MiniOS.
- 🖱️ Pilih USB drive Anda.
- ⚡ Klik "Flash!".
🔸 Menggunakan dd (Linux)
- Identifikasi USB drive Anda dengan
lsblk. - Unmount disk dengan
umount /dev/sdX. - Jalankan:
sudo dd if=/path/to/minios.iso of=/dev/sdX bs=4M; sync
🔸 Menggunakan dd (MacOS)
- 🔍 Identifikasi USB drive Anda dengan
diskutil list. - 📤 Unmount disk dengan
diskutil unmountDisk /dev/diskX. - ⚡ Jalankan:
sudo dd if=/path/to/minios.iso of=/dev/rdiskX bs=1m
3️⃣ Booting dari USB Drive
Boot Process
- 🔄 Restart komputer Anda.
- ⌨️ Pilih USB drive di boot menu komputer Anda untuk boot dari USB tersebut.
4️⃣ Catatan Penting
Requirements & Limitations
- 🚫 Boot installer tidak mendukung multiboot; hanya MiniOS yang akan bootable dari drive tersebut.
- 🔧 Disk Anda harus menggunakan partition scheme
msdos(gunakan MBR, bukan GPT). - 💾 Drive harus diformat dengan salah satu file system yang didukung: FAT32, NTFS, ext2, ext3, ext4, btrfs.
💡 Pengingat: Metode instalasi utama adalah rekomendasi utama, tetapi Anda juga bisa menggunakan Rufus, UNetbootin, Ventoy, Balena Etcher, atau
ddsebagai alternatif di Windows, Linux, dan MacOS. Namun, perlu diingat bahwa fitur persistence tidak akan berfungsi ketika menggunakan Ventoy, Balena Etcher, ataudd.
⚙️ Instalasi GenieACS di MiniOS
┌───────────────────────────────────────┐
│ ⚙️ GenieACS Installation Guide 🖥️ │
└───────────────────────────────────────┘
📋 Prerequisites
🟢 Node.js
GenieACS memerlukan Node.js 12.13 ke atas. Untuk instalasi di MiniOS:
# Update package manager
sudo apt update
# Install Node.js
sudo apt install nodejs npm
# Verifikasi instalasi
node --version
npm --version
🟢 MongoDB
GenieACS memerlukan MongoDB 3.6 ke atas:
# Install MongoDB
sudo apt install mongodb
# Start dan enable MongoDB service
sudo systemctl start mongodb
sudo systemctl enable mongodb
# Verifikasi status MongoDB
sudo systemctl status mongodb
📦 Install GenieACS
🚀 Instalasi dari NPM:
sudo npm install -g genieacs@1.2.13
🔧 Konfigurasi systemd
👤 Buat system user untuk menjalankan GenieACS daemons
sudo useradd --system --no-create-home --user-group genieacs
📁 Buat directory untuk menyimpan extensions dan environment file
mkdir /opt/genieacs
mkdir /opt/genieacs/ext
chown genieacs:genieacs /opt/genieacs/ext
📝 Buat file konfigurasi
Buat file /opt/genieacs/genieacs.env untuk menyimpan opsi konfigurasi:
sudo tee /opt/genieacs/genieacs.env > /dev/null <<EOF
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
EOF
Generate JWT secret yang aman:
node -e "console.log(\"GENIEACS_UI_JWT_SECRET=\" + require('crypto').randomBytes(128).toString('hex'))" >> /opt/genieacs/genieacs.env
Set file ownership dan permissions:
sudo chown genieacs:genieacs /opt/genieacs/genieacs.env
sudo chmod 600 /opt/genieacs/genieacs.env
Buat logs directory
mkdir /var/log/genieacs
chown genieacs:genieacs /var/log/genieacs
Buat systemd unit files
Service genieacs-cwmp:
sudo systemctl edit --force --full genieacs-cwmp
Masukkan konfigurasi berikut:
[Unit]
Description=GenieACS CWMP
After=network.target
[Service]
User=genieacs
EnvironmentFile=/opt/genieacs/genieacs.env
ExecStart=/usr/bin/genieacs-cwmp
[Install]
WantedBy=default.target
Service genieacs-nbi:
sudo systemctl edit --force --full genieacs-nbi
Masukkan konfigurasi berikut:
[Unit]
Description=GenieACS NBI
After=network.target
[Service]
User=genieacs
EnvironmentFile=/opt/genieacs/genieacs.env
ExecStart=/usr/bin/genieacs-nbi
[Install]
WantedBy=default.target
Service genieacs-fs:
sudo systemctl edit --force --full genieacs-fs
Masukkan konfigurasi berikut:
[Unit]
Description=GenieACS FS
After=network.target
[Service]
User=genieacs
EnvironmentFile=/opt/genieacs/genieacs.env
ExecStart=/usr/bin/genieacs-fs
[Install]
WantedBy=default.target
Service genieacs-ui:
sudo systemctl edit --force --full genieacs-ui
Masukkan konfigurasi berikut:
[Unit]
Description=GenieACS UI
After=network.target
[Service]
User=genieacs
EnvironmentFile=/opt/genieacs/genieacs.env
ExecStart=/usr/bin/genieacs-ui
[Install]
WantedBy=default.target
Konfigurasi log rotation
Simpan konfigurasi berikut sebagai /etc/logrotate.d/genieacs:
sudo tee /etc/logrotate.d/genieacs > /dev/null <<EOF
/var/log/genieacs/*.log /var/log/genieacs/*.yaml {
daily
rotate 30
compress
delaycompress
dateext
}
EOF
Enable dan start services
# Enable dan start genieacs-cwmp
sudo systemctl enable genieacs-cwmp
sudo systemctl start genieacs-cwmp
sudo systemctl status genieacs-cwmp
# Enable dan start genieacs-nbi
sudo systemctl enable genieacs-nbi
sudo systemctl start genieacs-nbi
sudo systemctl status genieacs-nbi
# Enable dan start genieacs-fs
sudo systemctl enable genieacs-fs
sudo systemctl start genieacs-fs
sudo systemctl status genieacs-fs
# Enable dan start genieacs-ui
sudo systemctl enable genieacs-ui
sudo systemctl start genieacs-ui
sudo systemctl status genieacs-ui
Verifikasi Instalasi
Setelah semua service berjalan, Anda dapat mengakses GenieACS UI melalui web browser di:
http://localhost:3000
Catatan Keamanan
⚠️ Penting untuk deployment production:
- Pastikan untuk mengkonfigurasi TLS/HTTPS
- Ubah
UI_JWT_SECRETke string yang unik dan aman - Rujuk ke dokumentasi HTTPS untuk mengaktifkan TLS untuk enkripsi traffic
🛠️ Troubleshooting
┌─────────────────────────────────────┐
│ 🛠️ Troubleshooting Guide 🔍 │
└─────────────────────────────────────┘
🖥️ Masalah Umum MiniOS
| 🚨 Masalah | 💡 Solusi |
|---|---|
| 🚫 USB tidak bootable | Pastikan menggunakan MBR (bukan GPT) dan format yang didukung |
| 💾 Persistence tidak bekerja | Gunakan metode instalasi utama, bukan Ventoy/Etcher/dd |
⚙️ Masalah Umum GenieACS
| 🚨 Masalah | 💡 Solusi |
|---|---|
| 🔴 Service tidak start | Periksa logs dengan journalctl -u <service-name> |
| 🔒 Permission denied | Pastikan ownership file/directory sudah benar untuk user genieacs |
| 🗄️ MongoDB connection error | Pastikan MongoDB service berjalan |
📊 Melihat Logs
# Logs GenieACS services
journalctl -u genieacs-cwmp -f
journalctl -u genieacs-nbi -f
journalctl -u genieacs-fs -f
journalctl -u genieacs-ui -f
# Access logs
tail -f /var/log/genieacs/genieacs-*.log
📚 Referensi
| 📖 Resource | 🔗 Link | 📝 Description |
|---|---|---|
| Installing MiniOS on a USB Flash Drive | Tutorial resmi instalasi MiniOS | |
| GenieACS Installation Guide | Panduan instalasi GenieACS | |
| MiniOS Official Website | Website resmi MiniOS | |
| GenieACS Official Website | Website resmi GenieACS |
🤝 Kontribusi
Jika Anda menemukan kesalahan atau ingin menambahkan informasi, silakan buat issue atau pull request.
📄 Lisensi
Tutorial ini tersedia secara bebas untuk digunakan dan dimodifikasi.
⭐ Jika tutorial ini membantu, berikan star pada repository ini! ⭐
by Saputra Budi