Tutorial Membuat Virtual Host (VHost) Di Perangkat Android Dan Mengaksesnya Dari Internet [No Root Needed!]

Beberapa hari yang lalu saya bekerja keras mencari cara yang mudah untuk membuat hosting website sendiri dengan biaya yang murah tanpa harus menyewa dedicated server di luar sana. Motivasi saya hanya untuk menambah pengetahuan atau wawasan mengenai teknologi.

Banyak tutorial-tutorial yang sama tapi tidak menemukan yang sesuai dengan espektasi saya, rata-rata untuk pengguna desktop komputer sedangkan untuk perangkat android hanya tutorial membuat webserver secara lokal atau LAN yang hampir semua orang tau.

Keuntungan dari membuat VHOST sendiri ini, kamu bisa menjadikannya untuk keperluan apapun, mulai dari menjalankan server untuk gaming, server email, remote access webcam, hingga web server.

Dan untuk kesempatan ini saya hanya menggunakannya untuk membuat webserver di android yang bisa diakses dari luar jaringan atau global.

Perlu diperhatikan juga resiko keamanan ketika perangkat kamu dapat diremote jarak jauh, data-data yang sensitif bisa saja dicuri oleh penjahat cyber. Namun jika kamu ingin menjadikan ini sebagai tambahan wawasan saja untuk kamu, itu tidak masalah atau kamu ingin memiliki website pribadi untuk kamu tunjukan kepada teman-temanmu atau kerabat keluarga.

Di tutorial ini saya juga akan memberitahukan caranya untuk menggunakan custom domain. Kamu bisa mencari atau menggunakan layanan Dynamic Domain Name Server (DDNS) yang menyediakan subdomain gratis atau Top Level Domain Name (TLDN).

Dynamic DNS berfungsi untuk merute semua paket trafik ke IP server, tidak perlu takut bila IP Publik kamu berubah, ketika seseorang mengakses website kamu dengan nama domain yang diberikan maka secara otomatis akan dialihkan trafiknya ke IP server kamu dengan syarat kamu dapat memforward Public Port 80 ke internal Port server kamu. Untuk mengatasinya diperlukan mengatur port pada router kamu agar port 80 dimappingkan ke internal port.

Pre-requisite:

  1. Wifi Router (kalau tidak punya bisa cari open wifi atau shared wifi yang terdekat)
  2. Web Server Apps, GNU Linux Based Apps seperti Linux Deploy, GNURoot Debian, NoRoot Debian atau Limbo PC Emulator, Linux Terminal atau Termux. (Pilih salah satu yang sesuai dengan keperluan kamu)
  3. Aplikasi Port Maping/Forwarding (diperlukan tanpa harus setup ulang atau login ke router kamu)
  4. Framework seperti CMS Framework (bisa yang menggunakan bahasa pemograman PHP, Ruby, atau Node.Js)
  5. Layanan Dynamic DNS

Persiapan:

Sebagai contoh saya disini menggunakan Termux.

Termux adalah android terminal emulator dan Debian Based Linux Environment yang berjalan di CHROOT. Dan mengoleksi banyak paket-paket debian sendiri. Disamping itu ukurannya kecil serta ramah dengan penggunaan ram, juga dapat berjalan di CPU Architecture ARM/ARM64 & X86/64. Jika kamu memiliki android dengan OS Lollipop, ini adalah pilihan yang tepat. Kamu bisa memasangnya dengan mudah di playstore https://play.google.com/store/apps/details?id=com.termux

Setelah Termux terpasang, jalankan perintah ini:

$ apt update && apt upgrade

Install beberapa paket ekstensif seperti Git, Python, OpenSSH, Perl, Ruby, Clang, Cmake, Make, Automake, Autoconf, NodeJs, Vim, Nano.

$ apt install autoconf automake clang cmake git make nano nodejs-current openssh perl python python-dev ruby ruby-dev vim

Dan saya juga memasang blog framework berbasis NodeJs yang saya gunakan untuk membuat blog pribadi di VHOST android saya.

Saya memilih Hexo.io, karena Hexo sangat sederhana dan cepat. Untuk menulis postingan bisa menggunakan Markdown, HTML atau lainnya. Silahkan lihat dokumentasinya lebih lanjut di https://hexo.io/docs/index.html

Memasang Hexo di Termux tinggal menjalankan perintah:

$ npm install -g hexo-cli

Selanjutnya kita akan membuat projek kita dengan menjalankan:

$ hexo init blog
$ cd blog
$ npm install

Dengan menjalankan npm install maka semua dependency di berkas package.json hexo akan dipasang secara otomatis supaya projek kita dapat dijalankan tanpa masalah.

Setup Server!

Saya asumsikan bahwa android kamu sudah terhubung ke WiFi. Ketahui IPv4 WLAN yang kamu miliki dan Public IP yang diberikan router kamu.

Untuk mengetahuinya, kamu bisa menggunakan LanDroid https://play.google.com/store/apps/details?id=net.fidanov.landroid

Biasanya IPv4 dari router seperti 192.168.0.100 dan seterusnya atau 192.168.1.100 dan seterusnya.

Mari kita mulai denga mengetikan perintah di Termux:

$ hexo server -i (IPv4 WLAN kamu) -p (port)

Secara default Hexo Server berjalan di port 4000, tapi kamu bisa menggantinya dimulai dari port 1024.

Supaya blog kamu dapat diakses dari internet maka kamu perlu mengetahui IP Publik yang diberikan oleh router (bukan IP Publik router yang diberikan oleh ISP) dan memforward port 80 ke internal port server kamu. IP Publik ini harus statis jika kamu ingin alamatnya tidak berubah saat router direboot. Atau gunakan layanan Dynamic DNS agar setiap kali IP Publik berubah, maka setiap request dari luar tetap dialihkan ke IP internal server kamu.

Catat!, sebelum kamu melakukan itu pastikan bahwa ISP kamu memiliki fitur untuk menghosting website pribadi atau ini akan melanggar ketentuan layanan mereka. Hubungi customer service ISP kamu untuk menanyakan hal ini kalau kamu ragu, minta mereka menyediakan layanan tersebut untuk kamu dan tentu pasti akan ada tambahan biaya untuk layanan tersebut jika belum ada.

Silahkan install aplikasi port forwader ini https://play.google.com/store/apps/details?id=org.ehacker.nat_pmp (No Root Needed)

Isikan Public Port: 80 dan Private Port: 4000 yang akan digunakan IP server kamu. Jadi setiap rute ke port 80 akan dialihkan ke port 4000 pada IP server kamu.

Setup Dynamic DNS!

Kegunaan DDNS ini seperti yang telah saya jelaskan di atas. Saya menggunakan layanan dari Dynu.com karena mereka memiliki layanan gratis selamanya untuk satu akun dengan minimal empat buah layanan DDNS beserta Subdomain gratis. Atau kamu juga bisa membeli Top Level Domain Name dari mereka untuk kamu gunakan.

Silahkan kamu mendaftar disana dan masuk ke Control Panel -> Dynamic DNS Service

Klik “Add”. Pilih “Use Our Subdomain” dan masukan nama subdomain atau host yang kamu sukai, kemudian pilih TLD milik mereka yang disediakan.

Pada pengaturan Dynamic DNS Service silahkan isikan IPv4 dengan IP Publik dari router kamu, sedangkan yang lain biarkan secara default lalu klik save.

Untuk mengujinya silahkan kamu buka browser dari perangkat lain yang terhubung internet dan ketikan alamat web kamu yang didapat dari Dynu.

Konklusi: Menggunakan VHost Android untuk membangun website tidak disarankan, selain masalah performa, isu keamanan juga akan banyak dihadapi. Tapi bagi kamu yang ingin sekedar coba-coba atau mempelajari teknologi dari suatu perangkat ini akan menjadi bahan dasar untuk kamu memulai, mengembangkan pengetahuan dan wawasan. Selain menggunakan Termux, kamu juga bisa menggunakan aplikasi web server yang tersedia di Google Play Store seperti KSWEB, Web Server PHP/MyAdmin/MySQL, dll. Dan menggunakan WordPress CMS Framework untuk website kamu dengan cara yang sama di atas.

ScreenShot:

Silahkan tinggalkan komentar jika ada yang ingin kamu tanyakan dengan tutorial ini!

Iklan

PHPRunner – PHP IDE aplikasi untuk menjalankan PHP dan MySQL di Perangkat Android

Satu hal lagi yang menarik untuk para pengguna perangkat Android, selain sebagai alat untuk berkomunikasi, perangkat Android memiliki banyak aplikasi yang dikembangkan oleh para pengembang aplikasi untuk bermacam-macam kebutuhan. Kali ini saya akan memperkenalkan sebuah aplikasi yang dapat menjalankan, mengeksekusi kode PHP dan MySQL di Android.

Aplikasi yang satu ini akan sangat membantu dan Baca lebih lanjut