0

Konfigurasi VirtualHost Apache di Debian 7

Virtualhost di Apache web server berguna untuk mengatur setiap website atau domain yang kita miliki dalam satu ip address. Untuk contoh kasus kita punya 1 ip address yaitu 192.168.1.1 tapi mempunyai 2 domain seperti dibawah ini:

firstcubnetwork.com
secondcubnetwork.com

Dan berikut langkah-langkah konfigurasi virtualhost di Apache web sever:

Membuat direktori untuk masing-masing domain/website

Pertama kita buat terlebih dahulu direktori untuk setiap domain yang kita buat, yang nantinya setiap direktori tersebut akan digunakan oleh masing-masing domain/website untuk menaruh file-file dari website tersebut.

# mkdir /var/www/firstcubnetwork
# mkdir /var/www/secondcubnetwork

Buat file bernama index.html untuk kedua direktori diatas, nanti fungsinya adalah saat url salah satu dari kedua domain kita diakses maka akan muncul teks pada halaman kedua website tersebut.

# nano /var/www/firstcubnetwork/index.html

isi dengan kode html dibawah ini.

<html>
<head>
    <title>firstcubnetwork.com</title>
</head>
<body>
    <h1>ini halaman firstcubnetwork</h1>
</body>
</html>

 

begitu juga dengan file index.html untuk secondcubnetwork.

# nano /var/www/secondcubnetwork/index.html

 

<html>
<head>
    <title>secondcubnetwork.com</title>
</head>
<body>
    <h1>ini halaman secondcubnetwork</h1>
</body>
</html>

 

Lalu ubah owner dan group dari kedua direktori dan isinya menjadi milik user www-data dan group www data.

# chown -R www-data:www-data /var/www/firstcubnetwork
# chown -R www-data:www-data /var/www/firstcubnetwork

Konfigurasi VirtualHost Apache

File konfigurasi virtualhost apache terletak dalam direktori /etc/apache2/site-available, disitu ada 2 file
yang namanya default (untuk protokol http) dan default-ssl (untuk protokol https). Namun untuk pembahasan ini kita hanya menggunakan file default saja. Untuk membuat virtualhost sebaiknya nama file konfigurasi virtualhost disamakan saja dengan nama websitenya. Berikut perintah nya:

# cd /etc/apache2/sites-available
# cp default firstcubnetwork
# cp default secondcubnetwork

perintah diatas artinya kita masuk kedalam direktori /etc/apache2/sites-available, lalu meng-copy file default menjadi firstcubnetwork dan secondcubnetwork. Selanjutnya kita akan memodifikasi kedua file tersebut agar bisa dipakai untuk 2 nama domain yang kita buat.

Ubah isi file firstcubnetwork menjadi seperti ini.

        ServerAdmin webmaster@localhost
        
        ServerName firstcubnetwork.com
        ServerAlias www.firstcubnetwork.com

        DocumentRoot /var/www/firstcubnetwork

        
                Options FollowSymLinks
                AllowOverride None
        
        
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        

        ErrorLog ${APACHE_LOG_DIR}/firstcubnetwork_error.log
        LogLevel warn
        CustomLog ${APACHE_LOG_DIR}/firstcubnetwork_access.log combined

Dan untuk file secondcubnetwork jadi seperti ini.

        ServerAdmin webmaster@localhost
        
        ServerName secondcubnetwork.com
        ServerAlias www.secondcubnetwork.com

        DocumentRoot /var/www/secondcubnetwork

        
                Options FollowSymLinks
                AllowOverride None
        
        
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        

        ErrorLog ${APACHE_LOG_DIR}/secondcubnetwork_error.log
        LogLevel warn
        CustomLog ${APACHE_LOG_DIR}/secondcubnetwork_access.log combined

Dan sekarang kita cek terlebih dahulu apakah konfigurasi virtualhost yang kita buat tidak terdapat error.

# apache2 -S

Jika muncul output Syntax OK berarti konfigurasi virtualhost yang kita buat sudah benar. Dan terakhir reload konfigurasi virtualhost yang baru menggunakan perintah dibawah ini.

# /etc/init.d/apache2 reload

atau

# service apache2 reload

Pengujian Virtualhost

Disini kita akan melakukan pengujian lokal saja, caranya adalah dengan menambahkan ip address serta domain yang kita buat kedalam file /etc/hosts seperti ini.

192.168.1.1    firstcubnetwork.com
192.168.1.1 secondcubnetwork.com

Note: jika kita telah selesai melakukan pengujian sebaiknya baris diatas dihapus saja dari /etc/hosts untuk menghindari kebingungan jika di internet sudah ada kedua domain diatas.

Setelah itu kita uji menggunakan perintah curl.

# curl firscubnetwork.com
# curl secondcubnetwork.com

Jika berhasil maka akan muncul kode html file index.html dari kedua website tersebut seperti yang sudah kita buat sebelumnya.

hazmi

Orangnya santai tapi rajin belajar. Selalu penasaran sama segala hal, apalagi kalau tentang doi :) Founder dari cubnetwork.

Leave a Reply