Apache 2.2 berbeda dengan versi-versi sebelumnya. Apache 2.2 mengadopsi pendekatan modular untuk file konfigurasi utamanya, httpd.conf. Modul-modul yang ada ditulis dalam file terpisah. Dengan begitu, menjadi lebih efisien dibandingkan harus menuliskan seluruh konfigurasi pada httpd.conf. Alhasil, sangat tidak direkomendasikan untuk mendefinisikan virtual hosts dan melakukan konfigurasinya pada file httpd.conf. Sebagai gantinya, cukup lakukan include terhadap modul virtual hosts yang bernama httpd-vhosts.conf.
Perubahan yang lain pada Apache 2.2 adalah lebih memperhatikan tentang permissions. Jadi sewaktu mendefinisikan virtual host, perlu ditambahkan perintah tambahan agar tidak muncul pesan error seperti di bawah ini.
- Forbidden
Karena masalah permissions inilah, direkomendasikan membuat direktori baru. Misal, /opt/virtual-hosts. Berikut ini adalah langkah-langkah yang saya lakukan dalam melakukan konfigurasi virtual hosts pada Apache 2.2.10. Asumsi, Prefix saat saya melakukan instalasi apache pada /opt/pkg/ dan direktori virtual hosts pada /opt/virtual-hosts serta komputer saya menggunakan IP 10.14.10.240.
1. buat sub-direktori di dalam /opt/virtual-hosts. Saya membuat /opt/virtual-hosts/slacky/aji dan /opt/virtual-hosts/slacky/kunto. Kemudian atur permission untuk direktori-direktori tersebut.
2. membuka file /etc/hosts dan menambahkan nama-nama hosts.
127.0.0.1 localhost 10.14.10.240 slacky.id aji.slacky.id kunto.slacky.id slacky
3. Buka konfigurasi file apache, /opt/pkg/apache/conf/httpd.conf dan mencari bagian
#Virtual hosts
#Include conf/extra/httpd-vhosts.conf
4. Hilangkan tanda # di depan pagar, dan menjadi
#Virtual hosts
Include conf/extra/httpd-vhosts.conf
5. Simpan file httpd.conf
6. Membuka file /opt/pkg/apache/conf/extra/httpd-vhosts.conf. Isi file tersebut kurang lebih seperti ini:
7. Sebelum kata NameVirtualHost *:80, saya menambahkan kode berikut:
<Directory /opt/virtual-hosts/>
Order Deny,Allow
Allow from all
</Directory>
8. Edit /opt/pkg/apache/conf/extra/httpd-vhosts.conf pada baris 27 - 42 menjadi seperti berikut:
<VirtualHost *:80>
ServerAdmin admin@slacky.id
DocumentRoot "/opt/pkg/apache/htdocs"
ServerName slacky.id
ServerAlias www.slacky.id
ErrorLog "logs/slacky.id-error_log"
CustomLog "logs/slacky.id-access_log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin admin@aji.slacky.id
DocumentRoot "/opt/virtual-hosts/slacky/aji"
ServerName aji.slacky.id
ServerAlias www.aji.slacky.id
ErrorLog "logs/aji.slacky.id-error_log"
CustomLog "logs/aji.slacky.id-acces_log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin admin@kunto.slacky.id
DocumentRoot "/opt/virtual-hosts/slacky/kunto"
ServerName kunto.slacky.id
ServerAlias www.kunto.slacky.id
ErrorLog "logs/kunto.slacky.id-error_log"
CustomLog "logs/kunto.slacky.id-access_log" common
</VirtualHost>
9. Untuk testing, copy index.html default milik apache ke dalam direktori /opt/pkg/apache/slacky/aji dan /opt/pkg/apache/slacky/kunto. Setelah itu buka web browser dan ketik http://aji.slacky.id dan http://kunto.slacky.id. Jika tak ada error, virtual host telah sukses..
referensi:
http://foundationphp.com
beh ......??
ReplyDeletepadahal dari dolo yang dah ada rencana buat ,,,,
nulis ginian di blog,,,,
tp males ,,,eh malah dah keduluan si ajijay
tp gw boleh bangga dong , kemarin ada yang translate lagi install nagios on slackware
dalam bahasa rusia , malah 2X lagi ....
be,,,,,,,hhhh
sedep bener
:))
ReplyDeletesalah sendiri ga nulis2, sabuk item gtuh...
nagios emg bkin panas mas...
mas saya udah coba.. dengan:
ReplyDeletea.com
test.a.com --> virtual
test1.a.com --> virtual
tapi hasilnya semua host itu document root nya jadi pindah ke test1.a.com
kenapa tuh??
boleh tau document root masing2 virtual host nya?
ReplyDeletesudah terlalu lama sendiri ~
ReplyDelete