How To Install Apache2 With Virtualhost Configuration In Centos 7

Apache Logo

Introduction

Server HTTP Apache atau Server Web/WWW Apache adalah server web yang dapat dijalankan di banyak sistem operasi (Unix, BSD, Linux, Microsoft Windows dan Novell Netware serta platform lainnya) yang berguna untuk melayani dan memfungsikan situs web. Protokol yang digunakan untuk melayani fasilitas web/www ini menggunakan HTTP.

Apache memiliki fitur-fitur canggih seperti pesan kesalahan yang dapat dikonfigur, autentikasi berbasis basis data dan lain-lain. Apache juga didukung oleh sejumlah antarmuka pengguna berbasis grafik (GUI) yang memungkinkan penanganan server menjadi mudah.

Apache merupakan perangkat lunak sumber terbuka dikembangkan oleh komunitas terbuka yang terdiri dari pengembang-pengembang di bawah naungan Apache Software Foundation.

Installation

Rencananya saya akan menginstall webapp pada subdomain blog.serverku.com

Apache2 secara default tersedia di package Centos7, jadi tinggal install menggunakan perintah:

yum -y install httpd

Jika istallasi selesai, konfigurasi sistem anda agar menjalankan service apache2/httpd ini saat boot:

systemctl start httpd systemctl enable httpd

Apache Enable

Pada Centos7 saya menggunakan Firewalld, sehinggak kita harus mengatur agar membolehkan koneksi dari luar ke port 80(http) dan 443(https):

firewall-cmd –add-service=http –permanent –zone=public

firewall-cmd –add-service=https –permanent –zone=public

firewall-cmd –reload

Firewall

Sampai saat ini kita bisa akses server kita di web browser.

Akses

Karena saya ingin mengakses webapp nya pada alamat blog.serverku.com, maka buat virtualhost yang mengarahkan kealamat tersebut.

mkdir -p /var/www/blog.serverku.com/public_html

Sekarang kita punya struktur directory untuk file kita, tapi owner nya masih root. Jika kita ingin webapp juga boleh memodifikasi, maka kita harus izinkan user apache untuk mengaksesnya:

chown -R apache:apache /var/www/blog.serverku.com/public_html

chmod -R 755 /var/www

Membuat Virtualhost

Untuk memulai, kita perlu mengatur directory tempat virtualhost kita akan disimpan,serta directory yang akan memberi tahu apache bahwa virtualhost siap melayani pengunjung. Directori sites-available akan menyimpan semua file konfigurasi virtualhost, sementara directory sites-enable akan menyimpan tautan simbolic ke host virtual yang ingin kita publikasikan, dalam kasus ini kita akan mempublikasikan host blog.serverku.com.

mkdir /etc/httpd/sites-available

mkdir /etc/httpd/sites-enabled

Sekarang kita beritahu ke Apache bahwa file-file konfigurasi virtualhost ada didalam directory site-enabled:

nano /etc/httpd/conf/httpd.conf

Dan berikan baris perintah berikut pada baris terakhir: IncludeOptional sites-enabled/*.conf

Konfigurasi Virtualhost

Buat file konfigurasinya :

nano /etc/httpd/sites-available/blog.serverku.conf

<VirtualHost *:80>
     ServerAdmin havidzc0de@gmail.com
     DocumentRoot /var/www/blog.serverku.com/public_html
     ServerName www.serverku.com
     ErrorLog /var/log/httpd/blog.serverku.com_error.log
     CustomLog /var/log/httpd/blog.serverku.com_requests.log combine
</VirtualHost>

Jika sudah, sekarang aktifkan virtualhost tersebut:

ln -s /etc/httpd/sites-available/blog.serverku.conf /etc/httpd/sites-enabled/blog.serverku.conf

Sekarang kita coba buat file html di dalam documentroot kita:

nano var/www/blog.serverku.com/public_html/index.html

<!DOCTYPE html>
<html>
<head>
    <title>Belajar Web Server</title>
</head>
<body>
<div class="container" align="center">
    <h1>Hello World!</h1>
    <hr>
    <p>Site powered by me ^_^</p>
</div>
</body>
</html>

Restart apache:

systemctl restart httpd

Finish

Sekian