Dalam artikel sebelumnya, saya sudah membahas mengapa saya memilih konfigurasi NGINX Proxy Manager (NPM) dan MikroTik di kantor saya. Di artikel ini, saya akan berbagi panduan teknis lengkap tentang cara instalasi NGINX Proxy Manager langsung pada Ubuntu Server, serta konfigurasi dasarnya secara praktis.
NGINX Proxy Manager adalah aplikasi yang memudahkan kita mengelola reverse proxy, SSL otomatis (Let’s Encrypt), serta routing domain atau subdomain ke berbagai backend dengan mudah melalui antarmuka web. Dengan NPM, pengaturan SSL, reverse proxy, dan keamanan aplikasi jadi jauh lebih mudah bahkan untuk pemula.
Jika kamu menyewa layanan VPS dari provider seperti DigitalOcean, Linode, Vultr, atau provider VPS lokal, instalasi NPM biasanya menjadi jauh lebih mudah. Kebanyakan provider sudah menyediakan aplikasi siap pakai, termasuk NPM. Kamu tinggal memilih aplikasi yang kamu mau saat deployment server, tanpa perlu melakukan instalasi manual yang rumit.
Namun, jika kamu tetap ingin belajar instalasi manual, berikut langkah-langkah detailnya.
Berikut persyaratan dasar sebelum instalasi:
- Ubuntu Server 20.04 atau terbaru.
- Akses root atau user dengan sudo privileges.
- Port 80, 81, dan 443 terbuka di firewall server.
Langkah-langkah Instalasi Manual NGINX Proxy Manager
Langkah 1: Update Sistem dan Install Dependensi
Jalankan perintah berikut untuk mengupdate dan menginstall dependensi utama:
sudo apt update && sudo apt upgrade -y
sudo apt install curl wget gnupg2 ca-certificates lsb-release software-properties-common git build-essential -y
Langkah 2: Install Node.js dan NPM
NPM membutuhkan Node.js versi 16. Berikut cara instalasinya:
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - sudo apt install -y nodejs
Verifikasi instalasi:
node -v npm -v
Langkah 3: Instalasi Database (MariaDB)
NPM menggunakan MariaDB/MySQL sebagai backend database. Instalasi MariaDB:
sudo apt install mariadb-server mariadb-client -y sudo systemctl enable mariadb --now
Langkah 4: Membuat Database untuk NPM
Jalankan perintah berikut untuk mengatur database NPM:
sudo mysql -u root
Masukkan perintah berikut pada console MySQL:
CREATE DATABASE npm; CREATE USER 'npmuser'@'localhost' IDENTIFIED BY 'passwordkuat'; GRANT ALL PRIVILEGES ON npm.* TO 'npmuser'@'localhost'; FLUSH PRIVILEGES; EXIT;
Ganti passwordkuat dengan password kamu sendiri.
Langkah 5: Instalasi NGINX Proxy Manager
Clone repository NPM dari GitHub:
sudo git clone https://github.com/NginxProxyManager/nginx-proxy-manager.git /opt/npm cd /opt/npm
Copy contoh konfigurasi:
sudo cp config.json.example config.json
Edit file konfigurasi tersebut:
sudo nano config.json
Sesuaikan konfigurasi dengan database yang kamu buat tadi:
{ "database": { "engine": "mysql", "host": "localhost", "name": "npm", "user": "npmuser", "password": "passwordkuat", "port": 3306 } }
Simpan dengan CTRL+X lalu tekan Y dan Enter.
Install dependensi Node.js untuk NPM:
sudo npm install --production
Langkah 6: Menjalankan NPM dengan Systemd
Buat file systemd untuk NPM agar berjalan otomatis saat reboot:
sudo nano /etc/systemd/system/npm.service
Masukkan konfigurasi berikut:
[Unit] Description=NGINX Proxy Manager After=network.target mariadb.service [Service] Type=simple User=root ExecStart=/usr/bin/node /opt/npm/index.js WorkingDirectory=/opt/npm Restart=always [Install] WantedBy=multi-user.target
Aktifkan dan jalankan service NPM:
sudo systemctl daemon-reload sudo systemctl enable npm sudo systemctl start npm
Sekarang NPM berjalan otomatis dan bisa kamu akses lewat browser di:
http://IP_SERVER_KAMU:81
Login Pertama Kali ke NPM
Gunakan default credential berikut:
Email: [email protected]
Password: changeme
Kamu akan diminta segera mengubahnya setelah login pertama.
Konfigurasi Dasar Proxy Host di NPM
- Setelah login ke dashboard NPM, tambahkan Proxy Host baru:
Pilih menu Hosts → Proxy Hosts → Add Proxy Host.
- Masukkan domain/subdomain kamu, misalnya app.example.com.
- Isi kolom Forward Hostname/IP dengan IP server backend kamu, misal 192.168.1.10.
- Isi kolom Forward Port dengan port aplikasi kamu, misal 8080.
- Dit ab SSL, aktifkan SSL dengan memilih Request a new SSL Certificate, lalu centang Force SSL dan HTTP/2
Sebagai catatan tambahan, jika kamu menggunakan provider VPS yang menyediakan instalasi aplikasi siap pakai seperti NPM, kamu tidak perlu repot dengan semua langkah di atas. Kamu cukup memilih NPM di panel instalasi VPS, lalu server akan otomatis siap dengan konfigurasi default dalam beberapa menit.
Cara ini sangat direkomendasikan untuk kamu yang ingin cepat deploy tanpa pusing konfigurasi teknis manual.
Baik instalasi manual maupun otomatis dari provider VPS, NGINX Proxy Manager sangat membantu pengelolaan reverse proxy dan SSL dengan mudah. Dengan instalasi manual, kamu memiliki kontrol lebih terhadap konfigurasi server. Sedangkan instalasi otomatis cocok untuk kamu yang ingin praktis dan cepat.
Semoga panduan ini bermanfaat! Jika ada pertanyaan, silakan tulis di kolom komentar 😊