Cara Konfigurasi Virtual Host di Apache

Apache Web Server mungkin menjadi salah satu web server paling diminati selain Nginx dan LiteSpeed, mengingat Apache merupakan salah satu web server tertua karena dirilis tahun 1995. Selain itu, Apache juga mendukung modul yang powerful dan dapat terintegrasi dengan software terkenal. Melalui artikel ini, kamu akan mempelajari cara konfigurasi Virtual Host di Apache.

Tentang Virtual Host Apache

Biasanya, satu VPS/server hanya menangani satu domain saja. Namun dengan Virtual Host kamu bisa menangani beberapa domain di dalam satu VPS/server yang sama. Jadi, Virtual Host memungkinkan satu server menjadi hosting untuk beberapa domain. Setiap domain yang dikonfigurasi akan mengarahkan pengunjung yang mengakses website ke Virtual Host directory domain tersebut. Konten yang di-deploy tidak selalu sama, bisa berbeda CMS atau pun framework.

Pada artikel kali ini kamu akan mempelajari cara konfigurasi Virtual Host di Apache menggunakan CentOS 7. Berikut ulasannya.

Baca Juga: Cara Install LEMP Stack di Server dengan Ubuntu 18.04

Persiapan

Sebelum memulai proses konfigurasi Virtual Host, kamu perlu menyiapkan VPS yang sudah terinstal Apache atau LAMP Stack. Jika belum memiliki VPS, Kamu bisa menghubungi Dewaweb untuk mendapatkan VPS murah.

Kamu bisa mengecek referensi cara menginstalnya dari artikel berikut, “Instalasi LAMP Stack di CentOS 7“.

Konfigurasi Virtual Host di Apache

Pada artikel ini, kami menggunakan dua domain, yaitu primary.dewiweb.net dan secondary.dewiweb.net.

Step 1 – Buat Directory Konfigurasi Virtual Host

Apache CentOS 7 secara default menggunakan /var/www/html sebagai document root-nya. Aturan default tersebut berjalan lancar untuk single site saja. Jika ingin menggunakan lebih dari satu domain, jangan pula menambahkan directory di dalam /var/www/html. Lebih baik kamu membuat directory baru pada /var/www/ untuk primary.dewiweb.net dan secondary.dewiweb.net.

Buat directory file website dan directory untuk menyimpan log eror website.

$ mkdir -p /var/www/primary.dewiweb.net
$ mkdir -p /var/www/primary.dewiweb.net/log
$ mkdir -p /var/www/secondary.dewiweb.net
$ mkdir -p /var/www/secondary.dewiweb.net/log

 

Step 2 – Ownership dan Permission

Ubah permission dan ownership seperti di bawah ini.

$ chown -R apache:apache /var/www/primary.dewiweb.net/
$ chown -R apache:apache /var/www/primary.dewiweb.net/log
$ chown -R apache:apache /var/www/secondary.dewiweb.net/
$ chown -R apache:apache /var/www/secondary.dewiweb.net/log
$ chmod -R 755 /var/www

 

Step 3 – Buat File

Buat dua file berisi konten yang berbeda pada primary.dewiweb.net dan secondary.dewiweb.net. Tujuannya adalah untuk mengetahui apakah pemasangan Virtual Host berhasil atau tidak.

Primary.dewiweb.net:

$ /var/www/primary.dewiweb.net/index.html
<html>
    <head>
<title>primary.dewiweb.net</title>
    </head>
    <body>
<h1>Virtual Host Apache - Primary.dewiweb.net is working!</h1>
        <b>This is primary.dewiweb.net site</b>
    </body>
</html>

Save dan exit.

Secondary.dewiweb.net:

$ nano /var/www/secondary.dewiweb.net/index.html
<html>
    <head>
<title>secondary.dewiweb.net</title>
    </head>
    <body>
<h1>Virtual Host Apache - Secondary.dewiweb.net is working!</h1>
        <b>This is secondary.dewiweb.net site</b>
    </body>
</html>

Simpan lalu keluar.

Baca Juga: LiteSpeed Cache Plugin: Tutorial dan Review

Step 4 – Buat Directory Konfigurasi Virtual Host

Perlu membuat sites-available dan sites-enable untuk menyimpan file konfigurasi Virtual Host.

$ mkdir -p /etc/httpd/sites-available 
$ mkdir -p /etc/httpd/sites-enabled

Ubah juga permission-nya:

$ chmod 755 /etc/httpd/sites-available/
$ chmod 755 /etc/httpd/sites-enabled/

 

Step 5 – Edit Konfigurasi Apache

Konfigurasi ini untuk memberitahu bahwa Apache perlu mengecek Virtual Host pada direktori sites-enabled.

$ nano /etc/httpd/conf/httpd.conf

 

Tambahkan script ini di paling bawah.

IncludeOptional sites-enabled/*.conf

 

Simpan lalu keluar.

Step 6 – Konfigurasi Virtual Host

Tambahkan script sesuai dengan instruksi di bawah ini.

Primary.dewiweb.net:

$ nano /etc/httpd/sites-available/primary.dewiweb.net.conf
<VirtualHost *:80>
    ServerName www.primary.dewiweb.net
    ServerAlias primary.dewiweb.net
    DocumentRoot /var/www/primary.dewiweb.net
    ErrorLog /var/www/primary.dewiweb.net/log/error.log
    CustomLog /var/www/primary.dewiweb.net/log/requests.log combined
</VirtualHost>

Simpan dan keluar.

Secondary.dewiweb.net:

$ nano /etc/httpd/sites-available/secondary.dewiweb.net.conf
<VirtualHost *:80>
    ServerName www.secondary.dewiweb.net
    ServerAlias secondary.dewiweb.net
    DocumentRoot /var/www/secondary.dewiweb.net
    ErrorLog /var/www/secondary.dewiweb.net/log/error.log
    CustomLog /var/www/secondary.dewiweb.net/log/requests.log combined
</VirtualHost>

Simpan lalu keluar.

Baca Juga: Cara Install LAMP Stack di Server dengan Ubuntu 18.04

Step 7 – Symlink Virtual Host

Buat symbolic link dari sites-available ke sites-enabled. Sebab sites-enabled yang ditambahkan ke dalam konfigurasi Apache.

$ ln -s /etc/httpd/sites-available/primary.dewiweb.net.conf /etc/httpd/sites-enabled/
$ ln -s /etc/httpd/sites-available/secondary.dewiweb.net.conf /etc/httpd/sites-enabled/

Restart Apache untuk load perubahan konfigurasi yang sudah dilakukan sebelumnya.

$ systemctl restart httpd

Jika kamu sudah mengikuti instruksi atau langkah di atas, coba akses ulang website-nya.

Primary.dewiweb.net:

konfigurasi virtual host di apache primary

Secondary.dewiweb.net:

konfigurasi virtual host di apache secondary

Jika tampilannya sudah sesuai dengan isi dari index.html yang dibuat, artinya konfigurasi Virtual Host di Apache telah berhasil!

Simpulan

Demikian artikel cara konfigurasi virtual host di Apache ini. Konten indeks di atas juga bisa kamu ubah sesuai dengan CMS atau framework yang akan kamu pakai nantinya. Kamu bisa mengecek referensi di bawah ini untuk mencari tau cara instalasi CMS WordPress dan Magento.

Jangan sungkan untuk meninggalkan ide-ide topik yang ingin kamu baca di blog Dewaweb, ya. Jika ada pertanyaan terkait kesalahan atau eror pada website-mu, tanyakan pada Ninja Support 24/7 yang selalu siap menjawab pertanyaanmu. Semoga artikel ini membantu, salam sukses online!