Konfigurasi VirtualHost Apache di CentOS [how to]

Apa itu Apache/HTTPD

Apache/HTTPD merupakan salah satu web server yang sangat familiar dan sering di gunakan oleh web developer untuk menjalankan website-website mereka. Apache/HTTPD menjadi sangat familiar karena kemudahan dalam konfigurasinya serta menjadi pilihan pertama bagi web developer/system Administrator untuk menjalankan sebuah web server. Apache/HTTPD saat ini merupakan web server no. 1 yang sering di gunakan untuk menayangkan sebuah website.

Untuk membuat multiple website dalam 1 VPS/VM perlu sebuah web server yang bisa di setting dengan Konfigurasi Virtualhost, salah satunya adalah Apache/HTTPD ini. Dengan memanfaatkan konfigurasi ini kalian tidak perlu menggunakan lebih dari 1 VPS/VM untuk masing-masing website, cukup buat konfigurasi VirtualHost Apache/HTTPD saja kalian sudah bisa membuat multiple website dalam 1 VPS/VM.

Konfigurasi VirtualHost Apache/HTTPD

Apache/HTTPD merupakan package yang sudah ada di default repository bawaan CentOS, sehingga untuk installasinya pun tidak perlu menambahkan repository CentOS lagi, untuk langkah-langkah installasinya kalian dapat ini tahapan berikut ini :

  • Install Apache/HTTPD

Untuk installasi package Apache/HTTPD kalian bisa ikuti command berikut ini :

[root@harribel ~]# yum install httpd -y

Tunggu beberapa saat ini seluruh package Apache/HTTPD terinstall semuanya.

  • Konfigurasi VirtualHost Apache untuk Multiple Website

Selanjutnya apabila process installasi telah selesai dan apabila kalian ingin membuat multiple website dalam 1 VPS/VM kalian bisa membuat konfigurasi VirtualHost. Konfigurasi ini bertujuan untuk mengatur setiap website yang berada di VPS/VM memiliki path directorynya masing-masing, sehingga tidak mengarah ke 1 path saja.

Pada settingan awal untuk path VirtualHost ini berada di /var/www/html, namun ketika kalian melakukan setting custom VirtualHost kalian sendiri kalian bisa menempatkan setiap website tersebut untuk path VirtualHostnya berada di /home atau di /var/www/html/public_html. Nah, untuk Konfigurasi VirtualHost Apache/HTTPD kalian bisa ikuti langkah-langkahnya berikut ini :

Pertama, buat dahulu file konfigurasi VirtualHost untuk website kalian. Semisal di sini nama domainnya linux-id.net kalian bisa buat file konfigurasi VirtualHostnya dengan nama linux-id.net.conf untuk commandnya kalia bisa ikuti command berikut ini :

[root@harribel ~]# touch /etc/httpd/conf.d/linux-id.net.conf

Setelah filenya terbuat, kalian bisa edit file tersebut dengan command berikut ini :

[root@harribel ~]# vim /etc/httpd/conf.d/linux-id.net.conf

Pada file linux-id.net.conf ini kalian perlu menambahkan konfigurasi VirtualHost berikut ini, agar nanti bisa diakses dengan nama domain kalian :

<VirtualHost *:80>
     ServerAdmin webmaster@linux-id.net
     DocumentRoot "/var/www/html/linux-id.net/"
     ServerName linux-id.net
     ServerAlias www.linux-id.net
     ErrorLog "/var/log/httpd/linux-id.net/error_log"
     CustomLog "/var/log/httpd/linux-id.net/access_log" combined

     <Directory "/var/www/html/linux-id.net/">
         DirectoryIndex index.html index.php
         Options FollowSymLinks
         AllowOverride All
         Require all granted
     </Directory>
</VirtualHost>

Apabila kalian sudah selesai menambahkan konfigurasi VirtualHost sebelumnya, kalian perlu membuat beberapa folder terlebih dahulu. Folder pertama yang harus dibuat ada folder untuk path websitenya, seperti penjelasan sebelumnya untuk folder VirtualHost ini kalian bebas menentukannya dimana, karena di konfigurasi VirtualHost yang dibuat sebelumnya pada bagian DocumentRoot "/var/www/html/linux-id.net" maka kalian perlu membuat folder pada path /var/www/html/linux-id.net dengan command berikut ini :

[root@harribel ~]# mkdir -p /var/www/html/linux-id.net

Kemudian folder kedua yang harus dibuat adalah folder log dimana di konfigurasi VirtualHost sebelumnya untuk folder ErrorLog dan CustomLog berada di "/var/log/httpd/linux-id.net" maka kalian bisa jalankan command berikut ini untuk membuat foldernya :

[root@harribel ~]# mkdir -p /var/log/httpd/linux-id.net

Lalu apabila kedua folder sudah terbuat, untuk folder Document Root perlu diubah dahulu owner kepemilikannya, untuk mengubah kalian bisa ikuti command berikut ini :

[root@harribel ~]# chown -R apache:apache /var/www/html/linux-id.net/

Untuk melihat apakah konfigurasi VirtualHost telah benar atau belum kalian bisa ikuti command berikut ini :

[root@harribel ~]# apachectl configtest
Syntax OK

Apabila sudah benar dan muncul hasil seperti diatas, kalian bisa coba untuk restart service Apache/HTTPDnya dengan command berikut ini.

[root@harribel ~]# systemctl restart httpd
  • Pengujian

Untuk melakukan pengujian terhadap Apache/HTTPD sudah jalan atau belum kalian bisa buat file index.html di dalam folder Document Root yang kalian buat tadi. Disini kami mencoba untuk membuat file index.php untuk menampilkan phpinfo. Dan ketika di akses domainnya maka hasilnya akan tampil seperti berikut ini :

Konfigurasi VirtualHost Apache

Kesimpulan

Agar multiple website dapat berjalan dalam 1 VPS/VM maka perlu membuat Konfigurasi VirtualHost di Apache/HTTPD. Dengan konfigurasi ini kalian bisa membuat lebih dari 1 website dalam 1 VPS/VM, tentunya dengan Document Root yang masing-masing berbeda path/foldernya sehingga tidak tercampur dalam 1 folder Document Root dan lebih mudah untuk managenya.