Tutorial Menggunakan HP Android sebagai Web Server dengan Termux dan Nginx

Tutorial Menggunakan HP Android sebagai Web Server dengan Termux dan Nginx

Sebuah ponsel Android dapat dimanfaatkan sebagai web server sederhana di jaringan lokal. Dengan aplikasi Termux dan Nginx, halaman HTML dari HP dapat dibuka oleh perangkat lain yang tersambung pada WiFi yang sama. Cara ini cocok untuk belajar, membuat prototipe, atau membuat dasbor kecil, misalnya untuk proyek IoT seperti kontrol pompa berbasis ESP32.

Perlu dipahami sejak awal, cara ini cukup untuk keperluan ringan. Untuk situs dengan banyak pengunjung atau yang harus aktif 24 jam, HP bukan pilihan yang ideal.

Yang Dibutuhkan

  • HP Android dengan aplikasi Termux terpasang
  • Koneksi WiFi (HP dan perangkat lain berada pada jaringan yang sama)
  • Kesediaan mengetik perintah di terminal

Langkah 1: Memasang Nginx

Buka Termux, lalu jalankan perintah berikut:

pkg update && pkg upgrade
pkg install nginx

Langkah 2: Memberi Akses ke Penyimpanan

Agar Termux dapat membaca folder di penyimpanan internal, jalankan:

termux-setup-storage

Lalu tekan Izinkan pada jendela yang muncul.

Langkah 3: Membuat Folder dan File Index

Tutorial ini memakai folder Download/webser di penyimpanan internal.

mkdir -p /storage/emulated/0/Download/webser
cd /storage/emulated/0/Download/webser
nano index.html

Ketik isi HTML sederhana, misalnya:

<!DOCTYPE html>
<html>
<head><title>Webser</title></head>
<body>
  <h1>Halo dari webser</h1>
</body>
</html>

Simpan dengan menekan Ctrl+O, lalu Enter, kemudian keluar dengan Ctrl+X.

Cara lain, folder dan file dapat dibuat lewat File Manager. Buat folder webser di dalam Download, lalu letakkan file bernama persis index.html (huruf kecil semua) di dalamnya.

Langkah 4: Mengatur Konfigurasi Nginx

Buka file konfigurasi:

nano $PREFIX/etc/nginx/nginx.conf

Cari bagian server. Pastikan nilai listen adalah 8080, karena Android tanpa akses root tidak mengizinkan port di bawah 1024. Setelah itu, ubah root agar menunjuk ke folder webser.

Pada konfigurasi bawaan Termux, root berada di dalam blok location /. Bagian inilah yang perlu diganti:

location / {
    root   /storage/emulated/0/Download/webser;
    index  index.html index.htm;
}

Baris root lain yang berada di blok location = /50x.html adalah untuk halaman error. Biarkan saja.

Jika ingin cara cepat tanpa membuka editor, ganti barisnya dengan perintah sed. Nomor baris dapat berbeda pada tiap versi, jadi periksa dulu dengan:

grep -n "root" $PREFIX/etc/nginx/nginx.conf

Langkah 5: Menjalankan Nginx

Uji konfigurasi terlebih dahulu, lalu jalankan:

nginx -t
nginx

Jika tidak ada pesan apa pun setelah perintah nginx, berarti server berhasil berjalan. Untuk memastikan, ketik pgrep nginx. Jika muncul angka, nginx aktif.

Perintah yang sering dipakai:

  • Memuat ulang konfigurasi: nginx -s reload
  • Mematikan nginx: nginx -s stop
  • Memulai ulang: nginx -s stop && nginx

Langkah 6: Mengakses Halaman

  • Dari HP yang sama: buka http://localhost:8080 di browser.
  • Dari perangkat lain di WiFi yang sama: buka http://IP-HP:8080.

Untuk mengetahui IP HP, pasang dulu alat bantunya dengan pkg install net-tools, lalu jalankan ifconfig dan lihat alamat pada bagian wlan0, misalnya 192.168.1.5.

Jika file berada di subfolder, misalnya pompa-esp32, alamatnya menjadi http://localhost:8080/pompa-esp32/. Sebaiknya tambahkan garis miring di akhir alamat.

Agar Server Tidak Mati Sendiri

Android cenderung menghentikan aplikasi yang berjalan di latar belakang. Beberapa hal berikut dapat membantu:

  1. Jalankan termux-wake-lock supaya server tetap aktif saat layar padam.
  2. Matikan optimasi baterai untuk Termux di pengaturan Android.
  3. Agar nginx otomatis berjalan ketika Termux dibuka, jalankan perintah di bawah ini.
echo 'pgrep nginx > /dev/null || nginx' >> ~/.bashrc
Nginx tidak akan menyala sendiri setelah HP dihidupkan ulang. Termux perlu dibuka lebih dulu, atau gunakan aplikasi tambahan Termux:Boot.

Mengatasi Masalah yang Sering Muncul

Halaman tidak bisa dibuka atau muncul 404

Periksa dengan perintah berikut:

curl -I http://localhost:8080/pompa-esp32/

Hasil 404 berarti nginx berjalan, tetapi root belum menunjuk ke folder yang benar. Pada kasus yang saya alami, root di dalam location / masih mengarah ke folder bawaan nginx. Setelah diganti dan dimuat ulang, masalah teratasi.

Muncul 403 atau Permission denied

Nginx kadang tidak dapat membaca penyimpanan bersama. Salin folder ke direktori home Termux, lalu arahkan root ke sana:

cp -r /storage/emulated/0/Download/webser ~/webser

Gunakan /data/data/com.termux/files/home/webser sebagai nilai root, kemudian jalankan nginx -s reload.

Error Address already in use

Artinya nginx sudah berjalan. Gunakan nginx -s reload, atau hentikan dulu dengan nginx -s stop.

Melihat penyebab pastinya

Baca log error:

tail -n 5 $PREFIX/var/log/nginx/error.log

Keuntungan dan Risikonya

Keuntungan

  • Tidak perlu membeli hosting atau VPS.
  • Konsumsi listrik kecil.
  • Cocok untuk belajar dan membuat prototipe.
  • Akses di jaringan lokal cepat, sehingga ESP32 dan perangkat lain dapat terhubung langsung tanpa internet.

Risiko

  • Tidak stabil. Android dapat mematikan Termux sewaktu-waktu.
  • Baterai dan panas. HP yang terus dicolok dan bekerja nonstop dapat merusak baterai. Lepas charger saat sudah penuh.
  • IP bisa berubah. Atur IP statis atau reservasi DHCP di router.
  • Keamanan. Siapa pun di WiFi yang sama dapat membuka situs Anda. Jangan menyimpan data sensitif di folder web.
  • Performa terbatas. Hanya layak untuk trafik kecil.
  • Tanpa HTTPS secara bawaan, sehingga data seperti kata sandi terkirim tanpa enkripsi.

Saran Penggunaan

  1. Gunakan hanya di jaringan lokal.
  2. Aktifkan wake lock dan nonaktifkan optimasi baterai untuk Termux.
  3. Beri IP tetap pada HP melalui router.
  4. Jika halaman memuat tombol kontrol, seperti menyalakan pompa, pasang kata sandi dasar dengan auth_basic pada nginx.
  5. Untuk pemakaian jangka panjang, pertimbangkan Raspberry Pi atau HP bekas yang khusus dipakai sebagai server.

Penutup

Menjadikan HP sebagai web server memang praktis untuk belajar dan keperluan ringan. Selama batasannya dipahami, terutama soal stabilitas dan keamanan, cara ini sudah cukup untuk menampilkan halaman HTML maupun mengendalikan perangkat sederhana di rumah.

Komentar

Postingan populer dari blog ini

Cara Sharing Dapodik Dalam Satu Jaringan

Mengonlinekan Localhost Dengan Aplikasi Ngrok

Takir Plontang