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 nginxLangkah 2: Memberi Akses ke Penyimpanan
Agar Termux dapat membaca folder di penyimpanan internal, jalankan:
termux-setup-storageLalu 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.htmlKetik 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.confCari 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.confLangkah 5: Menjalankan Nginx
Uji konfigurasi terlebih dahulu, lalu jalankan:
nginx -t
nginxJika 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:8080di 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:
- Jalankan
termux-wake-locksupaya server tetap aktif saat layar padam. - Matikan optimasi baterai untuk Termux di pengaturan Android.
- Agar nginx otomatis berjalan ketika Termux dibuka, jalankan perintah di bawah ini.
echo 'pgrep nginx > /dev/null || nginx' >> ~/.bashrcMengatasi 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 ~/webserGunakan /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.logKeuntungan 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
- Gunakan hanya di jaringan lokal.
- Aktifkan wake lock dan nonaktifkan optimasi baterai untuk Termux.
- Beri IP tetap pada HP melalui router.
- Jika halaman memuat tombol kontrol, seperti menyalakan pompa, pasang kata sandi dasar dengan
auth_basicpada nginx. - 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