Jika biasanya web developer menggunakan XAMPP atau WAMP sebagai aplikasi web server di Windows 10. Sekarang mari kita coba menggunakan Ubuntu di Windows Subsystem.
Persiapan
Sebelum mulai, pastikan dulu beberapa hal dibawah ini sudah terinstall.
- Fitur Windows Subsystem for Linux
- Ubuntu (dari Microsoft Store)
Jika belum, silakan ikuti panduan instalasi Ubuntu di Windows Subsystem for Linux.
Jika sudah, mari kita lanjutkan.
Install dan Setting Apache
Buka Ubuntu Bash Shell dari Start Menu.
Lalu ketikkan perintah di bawah ini
$ sudo apt-get install apache2
Akan muncul pertanyaan untuk menginstall Apache atau tidak. Ketikkan Y lalu tekan ENTER. Kemudian tunggu hingga proses instalasi selesai.
Selanjutnya kita jalankan service Apache. Ketik perintah di bawah:
$ sudo service apache2 start
Masukkan password yang sebelumnya diatur ketika menginstall Windows Subsystem for Linux. Setelah itu Apache akan berjalan. Terdapat beberapa pesan error yang muncul, cukup abaikan saja, Apache akan berjalan dengan normal.
Buka browser untuk mencoba. Ketik localhost di address bar dan tekan ENTER. Akan muncul tampilan seperti dibawah ini.

Perhatikan lamannya! Judulnya dengan jelas kita telah berhasil menginstall Apache di Ubuntu. Selamat, instalasi Apache sudah selesai dan berhasil.
Install dan Setting MariaDB (MySQL)
Well done! Sekarang kita lanjutkan dengan menginstall MariaDB. Kenapa MariaDB? Karena MariaDB merupakan pengembangan dari MySQL sehingga fiturnya yang lebih "kaya" dibandingkan MySQL. Selain itu, MariaDB memiliki kompatibilitas dan API yang sama dengan MySQL dulu.
Kita akan menginstall MariaDB dari Official Mirror-nya yang ada di Indonesia, yaitu Biznet Network. Oke, mari kita buka bash shell yang tadi (jika sudah ditutup).
Pertama, kita tambahkan repositori MariaDB ke sistem. Ketikkan perintah dibawah ini.
$ sudo apt-get install software-properties-common
Jika sudah selesai ketik perintah dibawah.
$ sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
Ketik perintah dibawah untuk menambahkan repositori Biznet ke sistem.
$ sudo add-apt-repository 'deb [arch=amd64,arm64,i386,ppc64el] http://mariadb.biz.net.id/repo/10.3/ubuntu xenial main'
Setelah semuanya selesai, maka key yang dibutuhkan sudah siap, dan repositori yang dibutuhkan untuk menginstal MariaDB sudah ditambahkan. Kita masuk ke proses instalasi.
Ketikkan perintah dibawah ini:
$ sudo apt update
Jika proses diatas selesai, lanjutkan dengan perintah berikut:
$ sudo apt install mariadb-server
CATATAN: Ketika proses instalasi MariaDB, Installer akan menanyakan untuk mengatur password MySQL root user.
Mari kita nyalakan MariaDB dengan mengetik perintah berikut:
$ sudo service mysql start
Lalu kita tes dengan mengetikan perintah:
$ mysql -uroot -p
Masukkan password yang sebelumnya diatur diawal. Dan akan muncul tampilan seperti ini.

Keren! Sekarang MariaDB sudah terinstall. Ketik perintah dibawah untuk kembali ke bash console.
MariaDB [(none)]> exit;
Konfigurasi PHP
Cool! Kita masuk ke tahap berikutnya. Sejauh ini kita telah melakukan instalasi Apache dan MySQL.
Buka kembali bash shell console, dan ketik perintah dibawah untuk menginstal PHP:
$ sudo apt-get install php libapache2-mod-php php-mcrypt php-mysql
Perintah diatas akan menginstal juga beberapa dependencies yang dibutuhkan untuk menjalankan PHP dengan MySQL atau MariaDB.
Akan muncul pertanyaan beberapa kali, jawab YES untuk melanjutkan. Setelah instalasi selesai kita masuk ke document roof folder Apache. Secara default alamatnya di /var/www/html
Ketik perintah berikut
$ cd /var/www/html
Mari kita buat file.php untuk mengetes PHP. Kita gunakan nano text editor.
$ sudo nano test.php
Lalu, ketik kode dibawah ini.
\<?php php_info(); ?\>
Kemudian save dengan melakukan:
- Tekan CTRL + O
- Tekan ENTER
- Tekan CTRL + X
Kita sudah membuat file PHP untuk mengetes instalasi kita. Buka web browser kemudian ketik alamat localhost/test.php jika semua OK, maka akan muncul tampilan seperti ini:

Selamat, sekarang Apache, MySQL (MariaDB), dan PHP sudah berjalan dengan baik di Windows 10 Subsystem for Linux.