Kembali ke blog
Agustus 19, 2026Panduan

Cara Menginstal Panel 3X-UI di VPS

Panduan lengkap berorientasi produksi untuk menginstal panel 3X-UI Xray di Ubuntu, mengunci antarmuka web, menerbitkan TLS, membuat inbound VLESS Reality, mengelola pengguna, dan menghubungkan klien di desktop serta seluler.

Cara Menginstal Panel 3X-UI di VPS

3X-UI adalah panel web untuk Xray-core. Panel ini memungkinkan Anda mengelola inbound (VLESS, VMess, Trojan, Shadowsocks, dan lainnya), menerbitkan tautan langganan, menetapkan batas lalu lintas dan tanggal kedaluwarsa, serta melihat koneksi langsung tanpa mengedit JSON secara manual. Bagi orang yang sudah menjalankan VPS, ini salah satu cara tercepat untuk mendapatkan tumpukan proksi yang bisa dirawat, bukan konfigurasi sekali pakai yang enam bulan kemudian tidak ada yang berani menyentuh.

Panduan ini ditulis untuk VPS Ubuntu 22.04 atau 24.04 yang masih baru, seperti kebanyakan image Linux Hiddence setelah boot pertama. Kita akan menginstal build MHSanaei 3X-UI yang banyak dipakai, mengganti setiap rahasia bawaan saat login pertama, menempatkan panel di belakang HTTPS, membuka hanya port yang benar-benar dibutuhkan, membuat inbound VLESS + Reality, lalu menelusuri aplikasi klien. Jika Anda sudah mengikuti artikel Marzban kami, idenya serupa — panel di atas Xray — tetapi jalur instalasi, tata letak berkas, dan alur kerja harian berbeda, jadi jangan mencampur keduanya di server yang sama kecuali Anda benar-benar tahu cara memisahkan port.

Mengapa 3X-UI, bukan konfigurasi Xray mentah

Konfigurasi Xray mentah baik untuk satu pengguna dan satu inbound. Begitu Anda menambah teman, merotasi kunci Reality, atau butuh URL langganan yang bisa diimpor ponsel dengan satu ketukan, panel menghemat berjam-jam. 3X-UI menyimpan pengguna di basis data lokal, dapat merestart Xray dengan bersih setelah perubahan, dan menampilkan dasbor ringkas untuk lalu lintas serta status daring. Panel itu sendiri bukan lapisan anonimitas ajaib: lokasi VPS, sidik jari TLS, jenis inbound, dan kebersihan operasional Anda masih menentukan bagaimana penyiapan ini berperilaku di jaringan.

  • UI web untuk inbound, klien, lalu lintas, dan kedaluwarsa, bukan JSON yang diedit tangan
  • Tautan langganan bawaan untuk v2rayN, v2rayNG, Streisand, Happ, dan klien serupa
  • Instalasi satu perintah plus jalur pembaruan yang terdokumentasi
  • Berjalan baik di VPS kecil (1 vCPU / 1 GB RAM cukup untuk pemakaian pribadi)
  • Anda tetap memegang root di server sendiri — panel tidak mengirim konfigurasi ke cloud pihak ketiga

Yang Anda butuhkan sebelum mulai

Jangan lewati bagian domain dan firewall. Panel yang dibiarkan di HTTP pada port 2053 dengan kata sandi bawaan akan dipindai bot dalam hitungan jam. Siapkan item berikut, lalu sambungkan sebagai root (atau pengguna sudo) lewat SSH.

  • VPS Linux dengan alamat IPv4 publik (Ubuntu 22.04/24.04 disarankan)
  • Setidaknya 1 GB RAM dan 10 GB disk; 2 GB RAM lebih nyaman jika Anda juga menjalankan layanan lain
  • Akses root atau sudo lewat SSH
  • Domain atau subdomain dengan rekaman A yang mengarah ke IP VPS (diperlukan untuk sertifikat panel yang benar)
  • Sekitar 20–30 menit, plus waktu tunggu DNS jika Anda baru membuat rekaman A

Langkah 1: Perbarui sistem dan atur zona waktu

VPS baru sering punya pembaruan keamanan tertunda dan jam di UTC. Perbarui paket dulu agar penginstal tidak bertarung dengan OpenSSL atau curl yang usang. Mengatur zona waktu opsional untuk Xray sendiri, tetapi membuat log panel dan tanggal kedaluwarsa sertifikat jauh lebih mudah dibaca.

bash
ssh root@YOUR_VPS_IP

apt update && apt -y upgrade
apt -y install curl wget ca-certificates gnupg socat tar unzip

timedatectl set-timezone UTC
hostnamectl set-hostname panel

# Confirm DNS for your subdomain (should print your VPS IP):
dig +short panel.example.com

Langkah 2: Instal 3X-UI

Skrip instal resmi untuk build MHSanaei 3X-UI mengunduh rilis terbaru, menginstal Xray-core, membuat layanan systemd, dan mencetak URL login pertama. Baca keluaran dengan saksama: ada jalur acak dan nama pengguna/kata sandi yang dihasilkan. Salin segera ke pengelola kata sandi. Jika skrip menanyakan port panel, pertahankan 2053 atau pilih port tinggi yang belum dipakai; ingat saja untuk langkah firewall.

bash
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)

# After install, useful commands:
x-ui                    # interactive menu (start/stop/restart, reset, update)
systemctl status x-ui    # confirm the service is active
ss -tulpn | grep x-ui    # see which port the panel listens on
Biarkan sesi SSH ini terbuka. Jika Anda terkunci dari panel, menu x-ui di server dapat mereset kata sandi admin tanpa menginstal ulang.

Langkah 3: Login pertama dan pengerasan segera

Buka URL yang dicetak penginstal, biasanya http://YOUR_IP:2053/<random-path>. Masuk dengan kredensial yang dihasilkan, lalu buka Panel Settings (atau Configuration). Ubah nama pengguna dan kata sandi menjadi nilai unik. Jika panel memungkinkan mengubah jalur dasar web, lakukan — jalur acak yang panjang memotong banyak pemindaian sambil lalu. Atur port dengar jika Anda ingin selain 2053. Simpan dan restart panel dari UI atau dengan systemctl restart x-ui, lalu masuk lagi di URL baru.

Berikutnya, nyalakan autentikasi dua faktor jika build Anda menawarkannya, dan matikan templat inbound yang tidak akan pernah dipakai. Di pengaturan Xray, biarkan versi inti yang datang bersama panel kecuali Anda punya alasan khusus untuk menyematkan build lain. Jangan paparkan panel di port 80/443 jika port itu nanti dipakai Reality atau reverse proxy — pilih satu strategi dan patuhi.

  • Ganti login admin yang dihasilkan segera
  • Pertahankan jalur web rahasia; jangan pindahkan panel ke /
  • Utamakan port panel non-bawaan dan catat
  • Jangan pernah memakai ulang kata sandi ini di layanan lain

Langkah 4: Sertifikat TLS untuk panel

Peramban akan memperingatkan di HTTP, dan mengirim kata sandi admin dalam teks jelas di jaringan publik adalah ide buruk. 3X-UI dapat meminta sertifikat Let's Encrypt jika port 80 kosong dan domain mengarah ke VPS ini. Di panel, buka bagian sertifikat / SSL, masukkan panel.example.com, lalu minta sertifikat. Jika port 80 sudah terpakai, gunakan alur DNS-01 atau taruh Caddy/Nginx di depan dan reverse-proxy ke 127.0.0.1:2053.

bash
# Quick check that port 80 is free before the panel ACME challenge:
ss -tulpn | grep ':80'

# If you terminate TLS on Caddy instead of inside 3X-UI:
# Caddyfile example (panel stays on 127.0.0.1:2053):
# panel.example.com {
#     reverse_proxy 127.0.0.1:2053
# }
Sertifikat di panel hanya untuk UI web. VLESS Reality adalah cerita TLS yang berbeda (menyamar sebagai situs lain) dan tidak memakai berkas Let's Encrypt ini untuk lalu lintas klien.

Langkah 5: Buat inbound VLESS Reality

Di Inbounds, buat inbound baru. Default yang kokoh untuk banyak jaringan adalah VLESS dengan Reality dan TCP. Pilih port yang bukan port panel — 443 umum jika tidak ada yang terikat di sana; jika tidak, pakai port TCP tinggi dan selaraskan di firewall. Hasilkan UUID untuk klien pertama, hasilkan pasangan kunci Reality di UI, dan atur dest / serverNames ke target sah yang boleh Anda tiru (situs terkenal yang mendukung TLS 1.3). Simpan inbound dan pastikan Xray memuat ulang tanpa kesalahan di log panel.

Lalu tambahkan klien ekstra di inbound itu jika perlu: setiap pengguna mendapat UUID, tag email opsional, dan batas lalu lintas atau waktu opsional. Salin tautan koneksi atau URL langganan dari baris pengguna. Jangan posting tautan itu di obrolan publik; setara dengan kata sandi.

bash
# On the server, confirm Xray is listening on the inbound port (example: 443):
ss -tulpn | grep -E ':443|:2053'

# Follow Xray logs if a client cannot connect:
journalctl -u x-ui -f

Langkah 6: Firewall — hanya port yang Anda butuhkan

UFW di Ubuntu sudah cukup. Izinkan SSH dulu agar tidak terkunci, lalu port panel dan port inbound. Jika Anda meminta sertifikat Let's Encrypt dari panel, izinkan juga 80/tcp selama penerbitan. Inbound Reality di 443 membutuhkan 443/tcp (dan jangan taruh panel di port yang sama).

bash
ufw allow OpenSSH
ufw allow 2053/tcp comment '3x-ui panel (change if you picked another port)'
ufw allow 443/tcp comment 'VLESS Reality inbound'
# ufw allow 80/tcp comment 'only if panel ACME needs it'
ufw enable
ufw status verbose

Hubungkan klien

Di Windows, v2rayN dapat mengimpor tautan VLESS dari papan klip. Di Android, v2rayNG atau klien Xray serupa melakukan hal yang sama dari kode QR. Di iOS, gunakan klien yang mendukung VLESS Reality (misalnya Streisand atau Happ, tergantung apa yang tersedia di wilayah Anda saat ini). Setelah impor, aktifkan profil dan periksa daftar daring panel. Jika klien tetap luring, penyebab biasa adalah port salah, UDP masih menyala untuk inbound hanya TCP, Reality serverName yang tidak cocok dengan dest, atau firewall lokal di laptop.

  • Windows: v2rayN — impor tautan VLESS, atur perutean sesuai kebutuhan (global vs berbasis aturan)
  • Android: v2rayNG — pindai QR dari halaman pengguna panel
  • macOS / iOS: klien dengan dukungan VLESS + Reality; tempel tautan yang sama
  • URL langganan: tambahkan di klien agar rotasi UUID tidak memerlukan impor ulang manual

Pembaruan, cadangan, dan keamanan instal ulang

Sebelum setiap pembaruan panel, unduh cadangan dari UI (basis data + konfigurasi). Simpan di luar VPS. Pembaruan biasanya x-ui lalu opsi pembaruan di menu, atau skrip instal yang sama yang mendeteksi instalasi yang ada. Setelah pembaruan, pastikan layanan systemd aktif dan inbound masih mendengarkan. Jika Anda menginstal ulang OS, pulihkan cadangan di panel, bukan membuat ulang setiap UUID secara manual.

bash
x-ui   # choose update when prompted, or:
# bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)

# Backup files commonly live under /etc/x-ui/ — copy them off-box:
ls -la /etc/x-ui/
# Example offsite copy:
# scp -r /etc/x-ui/ you@backup-host:~/x-ui-backup-$(date +%F)/

Pemecahan masalah

Sebagian besar kegagalan hari pertama adalah DNS, port, atau kolom Reality. Kerjakan daftar ini sebelum menginstal ulang panel. Menginstal ulang tanpa cadangan adalah cara orang kehilangan setiap UUID klien.

  • Tidak bisa membuka UI web: periksa systemctl status x-ui, ss -tulpn, dan UFW. Pastikan Anda menyertakan jalur rahasia di URL.
  • Lupa kata sandi admin: jalankan x-ui di server dan gunakan opsi reset.
  • Klien terhubung lalu macet: port inbound diblokir, atau Anda mengaktifkan UDP pada inbound Reality hanya TCP.
  • Kesalahan TLS di panel: rekaman A domain belum mengarah ke sini, atau port 80 sibuk selama ACME.
  • Jabat tangan Reality gagal: dest/serverNames tidak cocok, atau layanan lain sudah terikat ke 443.
  • CPU tinggi: terlalu banyak inbound di paket 1 vCPU, atau pemindaian/banjir di port terbuka — periksa ss dan jumlah daring panel.

Catatan keamanan yang benar-benar penting

Perlakukan panel seperti perangkat lunak admin produksi. Ia dapat mencetak pengguna baru dan membaca setiap UUID. Batasi siapa yang bisa mencapai port web: jika Anda punya IP kantor yang stabil, izinkan hanya IP itu di UFW untuk 2053/tcp. Pertahankan SSH dengan kunci, bukan kata sandi. Jangan jalankan situs web publik yang tidak terkait di IP yang sama jika memakai Reality di 443 — tumpukan TLS yang bersaing di satu port adalah sumber pemadaman klasik. Rotasi kata sandi admin jika tangkapan layar panel pernah bocor ke obrolan.

  • Hanya kunci SSH; nonaktifkan login kata sandi setelah kunci berfungsi
  • Batasi port panel di firewall jika bisa
  • Cadangkan /etc/x-ui ke luar server sesuai jadwal
  • Jangan bagikan URL langganan di grup Telegram publik
  • Pantau disk: log dan statistik lalu lintas tumbuh di inbound yang sibuk

Tips praktis

  • Satu inbound dengan banyak klien lebih mudah dioperasikan daripada sepuluh inbound yang hampir identik
  • Beri nama klien menurut perangkat (laptop-anna, phone-ben) agar bagan lalu lintas bermakna
  • Jika Anda juga butuh reverse proxy untuk situs web, taruh situs di IP lain atau port lain — jangan berebut 443 dengan Reality
  • Setelah restart x-ui apa pun, uji satu klien sebelum meninggalkan sesi SSH
  • Baca changelog sebelum memperbarui; jangan lompat ke 'latest' pada malam Jumat

Anda kini punya 3X-UI terpasang sebagai layanan systemd, URL admin yang dikunci, TLS di panel, inbound VLESS Reality, aturan firewall yang cocok dengan port itu, dan kebiasaan cadangan. Tambah klien dari halaman inbound, impor tautan di setiap perangkat, dan perbarui panel hanya setelah cadangan. Jika sesuatu rusak, menu x-ui di VPS adalah jalur pemulihan — bukan instal ulang penuh.