Bumalik sa blog
Agosto 19, 2026Mga Gabay

Paano I-install ang 3X-UI Panel sa VPS

Kumpletong, production-oriented na gabay para i-install ang 3X-UI Xray panel sa Ubuntu, i-lock ang web interface, mag-issue ng TLS, gumawa ng VLESS Reality inbound, mag-manage ng users, at mag-connect ng clients sa desktop at mobile.

Paano I-install ang 3X-UI Panel sa VPS

Ang 3X-UI ay web panel para sa Xray-core. Pwede mong i-manage ang inbounds (VLESS, VMess, Trojan, Shadowsocks at iba pa), mag-issue ng subscription links, magtakda ng traffic limits at expiry dates, at manood ng live connections nang hindi nag-e-edit ng JSON nang mano-mano. Para sa mga taong may VPS na, isa ito sa pinakamabilis na paraan para makakuha ng proxy stack na kayang alagaan, hindi one-off na config na walang sisipat pagkalipas ng anim na buwan.

Ang gabay na ito ay para sa sariwang Ubuntu 22.04 o 24.04 VPS, na karaniwang hitsura ng karamihan sa Hiddence Linux images pagkatapos ng unang boot. I-i-install natin ang malawakang ginagamit na MHSanaei 3X-UI build, palitan ang bawat default na secret sa unang login, ilagay ang panel sa likod ng HTTPS, buksan lang ang ports na kailangan mo talaga, gumawa ng VLESS + Reality inbound, tapos lakarin ang client apps. Kung sinundan mo na ang Marzban article namin, magkahawig ang idea — panel sa ibabaw ng Xray — pero iba ang install path, file layout, at araw-araw na workflow, kaya huwag ihalo ang dalawa sa iisang server maliban kung alam mo talaga kung paano hatiin ang ports.

Bakit 3X-UI imbes na raw Xray config

Okay ang raw Xray config para sa iisang user at iisang inbound. Sa sandaling magdagdag ka ng kaibigan, mag-rotate ng Reality keys, o kailangan mo ng subscription URL na i-i-import ng phone sa isang tap, nakakatipid ng oras ang panel. Tinitipid ng 3X-UI ang users sa local database, kayang i-restart nang malinis ang Xray pagkatapos ng changes, at may compact dashboard para sa traffic at online status. Hindi ito magic anonymity layer sa sarili nito: ang lokasyon ng VPS, TLS fingerprint, uri ng inbound, at sarili mong operational hygiene pa rin ang magdidikta kung paano kumikilos ang setup sa network.

  • Web UI para sa inbounds, clients, traffic at expiry imbes na JSON na hinuhubad sa kamay
  • Built-in na subscription links para sa v2rayN, v2rayNG, Streisand, Happ at katulad na clients
  • One-command install plus documented update path
  • Gumagana nang maayos sa maliit na VPS (sapat ang 1 vCPU / 1 GB RAM para sa personal use)
  • Sa iyo pa rin ang root sa sarili mong server — hindi ipinapadala ng panel ang configs sa third-party cloud

Ano ang kailangan bago mag-umpisa

Huwag laktawan ang domain at firewall. Ang panel na naiwan sa HTTP sa port 2053 na may default password ay sine-scan ng bots sa loob ng ilang oras. Ihanda ang mga ito, tapos mag-connect bilang root (o sudo user) sa SSH.

  • Linux VPS na may public IPv4 address (inirerekomenda ang Ubuntu 22.04/24.04)
  • Hindi bababa sa 1 GB RAM at 10 GB disk; mas komportable ang 2 GB RAM kung may ibang services din
  • Root o sudo access sa SSH
  • Domain o subdomain na may A record na tumuturo sa VPS IP (kailangan para sa wastong panel certificate)
  • Mga 20–30 minuto, plus DNS waiting time kung kakagawa mo lang ng A record

Hakbang 1: I-update ang system at itakda ang timezone

Madalas may pending security updates ang bagong VPS at UTC ang orasan. I-update muna ang packages para hindi makipag-away ang installer sa luma nang OpenSSL o curl. Optional ang timezone para sa Xray mismo, pero mas madaling basahin ang panel logs at certificate expiry dates.

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

Hakbang 2: I-install ang 3X-UI

Ang official install script ng MHSanaei 3X-UI build ay nagda-download ng latest release, nag-i-install ng Xray-core, gumagawa ng systemd service, at nagpi-print ng first-login URL. Basahing mabuti ang output: may random path at generated username/password. Kopyahin agad sa password manager. Kung tinatanong ng script ang panel port, panatilihin ang 2053 o pumili ng unused high port; tandaan lang para sa firewall step.

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
Panatilihing bukas ang SSH session na ito. Kung ma-lock out ka sa panel, kayang i-reset ng x-ui menu sa server ang admin password nang hindi nagre-reinstall.

Hakbang 3: Unang login at agadang hardening

Buksan ang URL na ini-print ng installer, kadalasan http://YOUR_IP:2053/<random-path>. Mag-log in gamit ang generated credentials, tapos pumunta sa Panel Settings (o Configuration). Palitan ang username at password ng unique values. Kung pinapayagan ng panel na palitan ang web base path, gawin — malaking bawas sa drive-by scans ang mahabang random path. Itakda ang listen port kung gusto mo ng iba sa 2053. I-save at i-restart ang panel mula sa UI o sa systemctl restart x-ui, tapos mag-log in ulit sa bagong URL.

Sunod, i-on ang two-factor authentication kung inaalok ng build mo, at i-disable ang unused inbound templates na hindi mo gagamitin. Sa Xray settings, iwan ang core version na kasama ng panel maliban kung may specific reason kang i-pin ang ibang build. Huwag i-expose ang panel sa port 80/443 kung gagamitin pa ng Reality o reverse proxy ang ports na iyon — pumili ng isang strategy at panindigan.

  • Palitan agad ang generated admin login
  • Panatilihin ang secret web path; huwag ilipat ang panel sa /
  • Mas gusto ang non-default panel port at itala ito
  • Huwag muling gamitin ang password na ito sa ibang services

Hakbang 4: TLS certificate para sa panel

Magwa-warn ang browsers sa HTTP, at masamang ideya ang magpadala ng admin password nang clear text sa public network. Kaya ng 3X-UI humingi ng Let's Encrypt certificate kung libre ang port 80 at tumuturo ang domain sa VPS na ito. Sa panel, buksan ang certificate / SSL section, ilagay ang panel.example.com, at humingi ng cert. Kung nakuha na ang port 80, gumamit ng DNS-01 flow o maglagay ng Caddy/Nginx sa harap at mag-reverse-proxy papunta sa 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
# }
Ang certificate sa panel ay para sa web UI lang. Iba ang TLS story ng VLESS Reality (nagkukunwari itong ibang site) at hindi ginagamit ang Let's Encrypt file na ito para sa client traffic.

Hakbang 5: Gumawa ng VLESS Reality inbound

Sa Inbounds, gumawa ng bagong inbound. Solidong default para sa maraming networks ay VLESS na may Reality at TCP. Pumili ng port na hindi panel port — karaniwan ang 443 kung walang ibang naka-bind doon; kung hindi, gumamit ng high TCP port at maging consistent sa firewall. Mag-generate ng UUID para sa unang client, mag-generate ng Reality key pairs sa UI, at itakda ang dest / serverNames sa lehitimong target na pwede mong tularan (kilalang site na sumusuporta sa TLS 1.3). I-save ang inbound at kumpirmahin na nagre-reload ang Xray nang walang errors sa panel logs.

Tapos magdagdag ng extra clients sa inbound na iyon kung kailangan: bawat user ay may UUID, optional na email tag, at optional na traffic o time limit. Kopyahin ang connection link o subscription URL mula sa user row. Huwag i-post ang mga link na iyon sa public chats; katumbas iyon ng password.

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

Hakbang 6: Firewall — ports lang na kailangan mo

Sapat na ang UFW sa Ubuntu. Payagan muna ang SSH para hindi ka ma-lock out, tapos ang panel port at inbound port. Kung humingi ka ng Let's Encrypt cert mula sa panel, payagan din ang 80/tcp habang nag-i-issue. Ang Reality inbound sa 443 ay kailangan ng 443/tcp (at huwag ilagay ang panel sa parehong port).

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

I-connect ang clients

Sa Windows, kaya ng v2rayN mag-import ng VLESS link mula sa clipboard. Sa Android, ganoon din ang v2rayNG o katulad na Xray clients mula sa QR code. Sa iOS, gumamit ng client na sumusuporta sa VLESS Reality (halimbawa Streisand o Happ, depende sa available sa rehiyon mo). Pagkatapos mag-import, i-enable ang profile at tingnan ang online list ng panel. Kung offline pa rin ang client, karaniwang sanhi ay maling port, naka-on pa ang UDP sa TCP-only inbound, Reality serverName na hindi tumutugma sa dest, o local firewall sa laptop.

  • Windows: v2rayN — i-import ang VLESS link, itakda ang routing ayon sa kailangan (global vs rule-based)
  • Android: v2rayNG — i-scan ang QR mula sa panel user page
  • macOS / iOS: client na may VLESS + Reality support; i-paste ang parehong link
  • Subscription URL: idagdag sa client para hindi na kailangan ng manual re-import sa UUID rotations

Updates, backup, at kaligtasan sa reinstall

Bago ang bawat panel update, mag-download ng backup mula sa UI (database + config). Itago sa labas ng VPS. Karaniwan ang updates ay x-ui tapos ang update option sa menu, o ang parehong install script na nakakakita ng existing install. Pagkatapos ng update, kumpirmahin na active ang systemd service at nakikinig pa rin ang inbounds. Kung magre-reinstall ka ng OS, i-restore ang backup sa panel imbes na muling gawin ang bawat UUID nang mano-mano.

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)/

Troubleshooting

Karamihan ng first-day failures ay DNS, ports, o Reality fields. Lakarin ang listahang ito bago mag-reinstall ng panel. Ang mag-reinstall nang walang backup ang paraan kung paano nawawala ng tao ang bawat client UUID.

  • Hindi mabuksan ang web UI: tingnan ang systemctl status x-ui, ss -tulpn, at UFW. Kumpirmahin na kasama ang secret path sa URL.
  • Nakalimutan ang admin password: patakbuhin ang x-ui sa server at gamitin ang reset option.
  • Kumokonekta ang client tapos natitigil: naka-block ang inbound port, o naka-enable ang UDP sa TCP Reality inbound.
  • TLS errors sa panel: hindi pa tumuturo rito ang domain A record, o abala ang port 80 habang ACME.
  • Nabigo ang Reality handshake: dest/serverNames mismatch, o may ibang service nang naka-bind sa 443.
  • Mataas ang CPU: sobrang daming inbounds sa 1 vCPU plan, o scan/flood sa open port — tingnan ang ss at panel online count.

Mga security notes na talagang mahalaga

Ituring ang panel na parang production admin software. Kaya nitong magmint ng bagong users at basahin ang bawat UUID. Limitahan kung sino ang makakarating sa web port: kung may stable office IP ka, payagan lang ang IP na iyon sa UFW para sa 2053/tcp. SSH sa keys, hindi passwords. Huwag magpatakbo ng walang kaugnayang public websites sa parehong IP kung gumagamit ka ng Reality sa 443 — classic source of outages ang competing TLS stacks sa iisang port. I-rotate ang admin password kung may screenshot ng panel na tumagas sa chat.

  • SSH keys lang; i-disable ang password login pagkatapos gumana ang keys
  • I-restrict ang panel port sa firewall kung kaya
  • I-back up ang /etc/x-ui palabas ng server ayon sa iskedyul
  • Huwag magbahagi ng subscription URLs sa public Telegram groups
  • Bantayan ang disk: lumalaki ang logs at traffic stats sa abalang inbound

Mga praktikal na tips

  • Mas madaling operahan ang isang inbound na maraming clients kaysa sampung halos magkaparehong inbounds
  • Pangalanan ang clients ayon sa device (laptop-anna, phone-ben) para may saysay ang traffic charts
  • Kung kailangan mo rin ng reverse proxy para sa website, ilagay ang site sa ibang IP o ibang port — huwag makipag-agawan sa Reality para sa 443
  • Pagkatapos ng anumang x-ui restart, subukan ang isang client bago umalis sa SSH session
  • Basahin ang changelog bago mag-update; huwag tumalon sa 'latest' sa Biyernes ng gabi

May 3X-UI ka na ngayong naka-install bilang systemd service, naka-lock na admin URL, TLS sa panel, VLESS Reality inbound, firewall rules na tumutugma sa ports na iyon, at backup habit. Magdagdag ng clients mula sa inbound page, i-import ang link sa bawat device, at i-update ang panel pagkatapos lang ng backup. Kung may masira, ang x-ui menu sa VPS ang recovery path — hindi full reinstall.