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!

Update ASUS Zenfone 4 T00I A400CXG/A400CG Ke Android Lollipop 5.0 Dengan Mudah

Hallo guys, it’s been along time since I’ve never post again to this blog, making my blog such an abandoned blog 😂. Tapi hari ini saya akan menyempatkan untuk memberikan wejangan kembali ke sahabat-sahabat yang lagi nyasar dimari wkwk.

Saya akan memberikan tutorial cara update/upgrade ASUS Zenfone 4 T00I A400CXG/A400CG ke Android Lollipop 5.0 dengan mudah tanpa PC dan tidak perlu akses root!!. Ya walaupun tutorial ini sudah banyak diposting di blog dan forum-forum lain, sudah ketinggalan, tapi saya akan tetap bersikukuh menceritakan kembali sesuai pengalaman saya wkwk.

Di HP ASUS Zenfone 4 dengan nomor model T00I A400CXG update OS firmware hanya diberikan sampai pada Kitkat, dan tidak mendapatkan update Lollipop. Itu sangat menyedihkan guys 😩😢. Sampai-sampai rasanya pengen bantai nyamuk whoaaa 😭. Tapi setelah googling secara militan akhirnya saya menemukan juga cara yang mudah dan tak terbantahkan ini untuk update OS firmware ke Lollipop. Yeay!!

Langsung aja ya guys 😂

Ikuti langkah-langkahnya berikut ini. Tetap melek ya guys jangan merem. Sebelum itu:

  1. Batere minimal harus memiliki daya 15% dalam kondisi bagus atau terhubung dengan charger selama proses instalasi
  2. Ruang penyimpanan internal minimal sisa 1GB, karena Lollipop akan menggunakan banyak ruangan untuk mengoptimalkan aplikasi dengan menggunakan Android RunTime (ART) menggantikan sistem dalvik
  3. Koneksi jaringan mobile data yang stabil atau menggunakan Wi-Fi karena akan mengunduh berkas sebesar 700MB lebih
  4. Pastikan seri firmware kalian versi WW 6.3.3. Untuk mengecek silahkan buka Settings -> About -> Software Information -> Build Number

Setelah itu download Bios dan Firmware OS Lollipop UL-ASUS_T00I-WW-7.3.3.0-user.zip dan simpan di root penyimpanan internal/eksternal.

Sebagai contoh: /storage/emulated/0 atau /storage/MicroSD

Restart Android kalian untuk mendapatkan notifikasi update firmware dan jalankan pembaruan perangkat lunak. Proses ini akan memakan waktu yang cukup lama, kalian tidak perlu khawatir karena android kalian tetap akan booting hingga ada popup “Android Sedang Mengoptimalkan Aplikasi”. Ini tergantung berapa banyak aplikasi yang terinstal di perangkat android kalian.

Setelah semuanya selesai hingga kalian mendapatkan tampilan baru Lollipop yang mempesona, kalian bisa melakukan factory reset untuk free poor bugs di Android Lollipop kalian.

Catatan! Beberapa aplikasi di bawah ini akan dihapus dari sistem setelah melakukan upgrade.

  1. Battery Widget
  2. Google Text-To-Speech
  3. Movie Studio

Dan beberapa aplikasi sistem yang baru akan ditambahkan ke dalam perangkat kalian.

  1. TripAdvisor
  2. Gameloft
  3. CleanMaster
  4. Zinio
  5. ASUS Auto-start Service Manager: Mencegah aplikasi melakukan starting up dan menggunakan RAM setelah booting, serta mencegah service di latar belakang untuk membangkitkan aplikasi tersebut
  6. ASUS Support

Beberapa fitur akan berubah pada Android 5.0 Lollipop ini, yaitu:

  1. Lockscreen: menghilangkan standalone wallpaper dan informasi cuaca
  2. Dialer/Contacts: mengurangi jumlah tap dari 5 ke 3; menghapus nama dan foto di tab grup
  3. InCall screen: menghilangkan inCall animation dan cover
  4. Quick settings

Screenshot di bawah ini membuktikan HP saya ASUS T00I A400CXG sudah diupgrade ke Android 5.0 Lollipop.

Sepengalaman saya menggunakan Android versi Lollipop ini adalah:

  • Layar yang lebih tajam dan warna yang dinamis
  • Lebih Smooth-Scrolling ketika menggeser layar kiri-kanan maupun atas-bawah
  • Animasi sentuhan layar ketika kalian men-tap layar, pokoknya rasakan sendiri entar
  • Aplikasi berjalan lebih cepat karena menggunakan Android Run Time (ART) secara default
  • Sistem notifikasi lebih teroganisir dengan tampilan baru yang bersih
  • Sistem Multi-tasking yang lebih gampang diatur, tidak membutuhkan scrolling panjang
  • Tampilan pengaturan sistem juga berubah, bersih dengan material theme baru, termasuk aplikasi pesan, kontak, dan dial-pad

Kira-kira itulah beberapa pengalaman pengguna saya, walau awalnya saya takut banget dengan yang namanya bootlop, tapi alhamdulillah tidak terjadi apa-apa dengan hp butut ini selama proses pembaruan sistem. Ditunggu komentarnya guys 😂.

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