Saat ini VPS semakin murah, dan dengan bertambahnya traffic dan makin bervariasi bahasa pemrograman membuat VPS menjadi salah satu alternatif yang baik dalam memilih Hosting. Dalam tulisan ini saya akan mendeskripsikan bagaimana cara melakukan setup server anda untuk dapat digunakan sebagai webserver. Server yang digunakan dapat berupa dedicated server (DS), virtual private server (VPS), ataupun cloud virtual private server. Pada tulisan sebelumnya kita telah membahas bagaimana melakukan Setup Server Pertama Kali, sehingga pada tulisan ini diasumsikan anda sudah menyelesaikan pengaturan awal server anda.
Tulisan ini akan terdiri dari kurang lebih 4 seri yang terdiri dari:
Requirement
Untuk memudahkan anda dalam memahami petunjuk ini, maka beberapa hal yang perlu diperhatikan diantaranya:
- Server yang digunakan dalam contoh ini adalah ubuntu server. Sehingga tutorial ini sedikit banyak berlaku pada server berbasis debian. Namun tidak menutup kemungkinan dapat digunakan juga di distro lain, terkadang anda hanya perlu mengganti apt-get menjadi yum atau dnf.
- Stack yang digunakan adalah LAMP Stack (Linux Apache 2.2, MySQL, PHP 7).
- Ubuntu yang digunakan adalah Ubuntu 16.04
- Root direktori apache2 yang digunakan adalah /home/ubuntu/html/
Go Ahead and Start!
LAMP Stack
LAMP Stack merupakan paket instalasi yang banyak digunakan pada server Linux. Dengan LAMP Stack maka instalasi apache, MySQL, dan PHP menjadi lebih mudah dan cepat.
Instalasi
Hal pertama yang harus anda lakukan adalah melakukan instalasi LAMP. Untuk instalasi silahkan ikuti langkah berikut.
Awali dengan update repositori
$ sudo apt-get update
Kemudian lakukan instalasi LAMP
$ sudo apt-get install lamp-server^
Dengan hal tersebut anda sudah melakukan instalasi LAMP dengan konfigurasi dasarnya, tentunya kita akan banyak memberikan perubahan konfigurasi untuk LAMP server kita. Apabila anda ingin melakukan un-install LAMP maka anda dapat memasukkan perintah berikut
$ apache2 apache2-mpm-prefork apache2-utils apache2.2-common libapache2-mod-php5 libapr1 libaprutil1 libdbd-mysql-perl libdbi-perl libnet-daemon-perl libplrpc-perl libpq5 mysql-client-5.5 mysql-common mysql-server mysql-server-5.5 php5-common php5-mysql
Untuk dapat bekerja maka kita dapat melakukan restart Service dari apache2 terlebih dahulu dengan
$ sudo /etc/init.d/apache2 restart
atau dapat juga dengan
$ sudo service apache2 restart
Anda dapat memeriksa apakah instalasi sudah berjalan dengan mengakses http://localhost/ atau http://ip_server_anda/.
Mengubah Root Direktori Apache2
Secara default direktori robot apache2 akan berada di /var/www/html. Namun tentunya lebih mudah dan berguna untuk pengembanan apabila kita ubah ke /home/[nama_user]/html. Untuk itu pertama kita akan melakukan grep untuk melakukan duplikasi Ike di folder awal ke direktori baru tujuan kita.
$ grep -R "DocumentRoot" /etc/apache2/sites-enabled
Kode diatas akan menunjukkan DocumenRoot apache2 kita, dalam contoh ini berada di
Output
sites-enabled/000-default.conf DocumentRoot /var/www/html
Pastikan direktori anda sudah dibuat. Kemudian kita akan melakukan sync data pada DocumentRoot lama ke DocumentRoot kita yang baru.
$ sudo rsync -av /var/www/html /home/ubuntu
Setelah itu anda akan melihat file index.php pada DocumenRoot baru kita.
Update Configuration Files
Sebelumnya kita telah membuat dan memindahkan files pada DocumenRoot lama ke DocumenRoot baru. Sekarang kita akan mengubah konfigurasi apache2 agar DocumenRoot berubah. Apache2 melakukan konfigurasi pada setiap virtual host yang dimiliki pada server. Pada saat ini kita akan mengkonfigurasi server localhost dengan port 80. Buka konfigurasi dengan
$ sudo nano /etc/apache2/sites-enabled/000-default.conf
Anda dapat menggunakan editor apapun pada fase ini, salah satunya yaitu nano. Namun anda yang sudah biasa menggunakan vim dapat menggunakan vim atau editor lain. Namun untuk menghindari kesulitan exit vim maka saya mencontohkan dengan menggunakan nano. Dengan perintah di atas terminal akan menampilkan file 000-default.conf. Ubah DocumenRoot anda dan tambahkan <Directory > untuk membuat DocumenRoot kita dapat diakses dari jaringan lain. File 000-default.conf anda akan terlihat seperti berikut
/etc/apache2/sites-enabled/000-default.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /mnt/volume-nyc1-01/html
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /mnt/volume-nyc1-01/html/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Require all granted
</Directory>
Kemudian akhiri dengan melakukan restart Service apache2.
$ sudo service apache2 restart
Selanjutnya anda dapat mengakses http://localhost/ dan memanfaatkan DocumenRoot baru sebagai website anda.
Beberapa Modul dan Ekstensi Penting
Website saat ini pada umumnya menggunakan modul apache2 dan ekstensi php secara default. Namun ternyata dalam lampstack kita modul/ekstensi tersebut terkadang belum terinstall. Dalam tulisan ini saya akan menampilkan beberapa modul/ekstensi yang penting untuk website anda.
Modul Rewrite Apache2
Modul rewrite digunakan untuk mengkonfigurasi url kita agar lebih mudah, enak dilihat, dan tentunya aman. Untuk mengaktifkan modul rewrite maka dapat dilakukan dengan
$ a2enmod rewrite
Kemudian restart apache2 agar konfigurasi berlaku.
$ sudo service apache2 restart
Selanjutnya anda sudah dapat menggunakan .htaccess pada website anda.
Ekstensi mbstring, mycrypt dan PHP-ZIP
Pada LAMP dengan PHP 7 yang saya gunakan ternyata tidak memuat ekstensi mbstring dam mcrypt secara default. Begitu juga ekstensi zip sehingga ini agak mengganggu ketika menggunakan composer. Untuk mengaktifkan ekstensi tersebut dapat dilakukan dengan
$ sudo apt-get update
$ sudo apt-get install php7-mcrypt php7-mbstring php7-zip
Jika anda menggunakan php 5 anda dapat mengganti 7 dengan 5. Apabila anda menggunakan PHP 7.0.0 maka anda menggunakan 7.0.
Baiklah itu tadi hal-hal penting mengenai instalasi LAMP Stack dan hal-hal penting yang sangat mungkin anda lakukan pada LAMP Stack. Semoga membantu dan Happy Coding!
Sumber:
https://help.ubuntu.com/community/ApacheMySQLPHP