Web Server LEMP (Linux, Nginx, MySQL, PHP) di Android (Termux)

LEMP atau singkatan dari Linux, Nginx, MySQL, dan PHP biasa digunakan oleh banyak Pengguna-Linux dengan beragam distro untuk menjalankan web server di localhost.

Tapi bagaimana jika web server berjalan di perangkat mobile, apakah itu mungkin?

Sangat mungkin. Disini kita akan membimbing kamu agar dapat memasang dan menjalankan web server dari perangkat android.

Apakah itu akan mengeluarkan biaya?

Sangat hanpir tidak membutuhkan biaya apapun kecuali biaya paket-data atau koneksi wifi yang akan kamu butuhkan untuk dapat memasang web server di lokal perangkat android kamu. Tidak seperti memasang aplikasi web server di playstore dimana kamu akan dikenakan biaya lisensi penuh atau versi trial jika ingin menjalankan server Nginx, MySQL, dan PHP. Say Goodbye kepada aplikasi berlisensi berbayar karena ini adalah open source!

Thanks to komunitas developer open source yang mengembangkan aplikasi-aplikasi gratis hingga kita bebas menggunakannya tanpa memikirkan lisensi!

Apakah itu Termux?

Termux adalah emulasi terminal linux yang dikemas bersama paket-paket linux yang dibangun ulang disesuaikan dengan lingkungan termux. Pada dasarnya termux adalah porting dari distro Debian, karena disana kamu akan menemukan distribusi paket-paket debian walaupun tidak semua paket-paket debian mampu diporting untuk disesuaikan dengan lingkungan termux. Selain itu, termux juga memiliki API (Antarmuka Pemograman Aplikasi) yang dapat menjangkau API pada perangkat android.

Bagaimana cara memasang LEMP menggunakan Termux?

Yang paling mendasar adalah kamu harus memiliki termux terpasang di perangkatmu. Kamu bisa menginstallnya dari playstore secara gratis. Kemudian lakukan update & upgrade di dalam terminal termux untuk mendapatkan pembaruan dari paket-paket yang sudah terpasang secara default.

apt update && apt upgrade

Lanjut ke-langkah memasang paket-paket yang dibutuhkan

pkg install mariadb nginx php

Kamu juga dapat menambahkan openssl jika ingin server kamu dapat diakses melalui HTTPS. Dan melakukan sedikit konfigurasi pada server.

pkg install openssl

Berikutnya kita akan melakukan setting-up pada mariadb agar bisa dijalankan dengan normal tanpa ada pesan kesalahan di terminal.

mysql_install_db

Perintah tersebut kita jalankan untuk menginstall basis data mysql sehingga dapat menjalankan server mysql. Baru kemudian kita perintahkan mysql untuk menjalankan server.

mysqld

Sekarang server mysql kamu telah berjalan. Untuk masuk ke basis data mysql, kita perlu sekali lagi mengetik perintah di terminal.

mysql -u root -p

Secara default bila kamu masuk dengan menggunakan user root kata-sandi yang dimasukan tidak ada. Disini kita perlu mengaturnya supaya user root memiliki kata-sandi untuk menangkal isu keamanan.

mysql_secure_installation

Dengan perintah tersebut, kamu dapat mengubah kata-sandi untuk user root dan masuk menggunakan kata-sandi baru. Cukup kamu ikuti perintah interaktif yang muncul di jendela terminal hingga selesai.

Sampai disini kamu sudah memiliki LEMP di perangkatmu dan memasang framework php seperti wordpress dengan server MySQL, Nginx, dan PHP. Good Job!

Untuk menjalankan server, hanya perlu menjalankan perintah di bawah ini di dalam folder php project kamu.

php -s 0.0.0.0:8080

Maka server kamu akan berjalan di semua alamat IP yang tersedia selain daripada 127.0.0.1. Buka browser dan masukan alamat IP bersama port. Contoh: http://0.0.0.0:8080

Untuk menjalankan server nginx, tinggal ketik: nginx pada terminal.

Selamat kamu berhasil!

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!

Cara Mengedit WordPress Theme Dari Android Smartphone

Saya tidak tahu apakah trik ini pernah diposting (repost) di blog-blog lain sebelumnya. Tapi bila memang sudah pernah, maka saya akan menjelaskannya dengan cara yang berbeda. Who care about? Yang penting apa yang saya tulis ini mudah dipahami oleh kalian bukan?

Sebelum kita membicarakan inti dari pokok tulisan ini Baca lebih lanjut

Membuat Gambar Vektor Mata Dengan CorelDraw

My Vector EyeBismillahirrohmanirrohim. Setelah kerja keras semalaman demi niat untuk posting tutorial tentang cara membuat gambar vektor mata dengan menggunakan CorelDraw, akhirnya siang ini kesampaian juga. Ane berharap semoga tutorial ini dapat sedikit membantu teman-teman yang ingin membuat gambar vektor mata yang intinya kurang lebih seperti pada postingan ini.

Sebelumnya bila ada kekurangan dalam postingan ini, ane mohon maaf. Karena ane juga newbie dalam desain grafis ini dan mungkin teman-teman disini lebih berpengalaman daripada ane. Namanya juga niat, jadi gak boleh ditunda-tunda. Baca lebih lanjut

Cara Memasukan Rumus Matematika Di Postingan Blog (WordPress.Com)

LaTeXMemasukan atau menyelipkan rumus-rumus matematika di blog memang sangat membingungkan. Apalagi seperti Saya yang hanya seorang blogger pemula. Tapi, Saya bukan seorang ahli matematika atau guru matematika loh!

Melihat rumusnya saja rasanya kepala mau pecah :D, Saya cuma ingin membantu memberi kemudahan untuk pekerjaan Anda yang mungkin sedang butuh-butuhnya karena Anda adalah seorang guru matematika, atau seorang dosen IPA yang memiliki program belajar online melalui blog di WordPress. Baca lebih lanjut