Headlines News :
Home » » Konfigurasi Apache 2 untuk keperluan VirtualHost

Konfigurasi Apache 2 untuk keperluan VirtualHost

Written By Unknown on Wednesday, October 31, 2012 | 12:00 PM

Setelah memahami dan berhasil menjalankan apache dengan konfigurasi minimal, mungkin kita membutuhkan lebih dari satu aplikasi dengan alamat lebih dari satu. Saya tidak membahas tentang pengalamatan domain seperti pada DNS server, tapi hanya memanfaatkan fitur apache yang bisa memuat lebih dari satu alamat dalam satu server, biasa disebut virtual host.

Sekali lagi saya mohon ma'af kalau istilah yang saya pakai tidak pas :D Oke.. untuk tujuan tersebut di atas, saya hanya mencoba cara sederhana agar kita mempunyai lebih dari satu alamat untuk lebih dari satu aplikasi webbase. Berikut langkah-langkah yang saya lakukan.

Pertama

Kita tentu harus tau dimana letak file konfigurasi apache, dan yang sering kita ubah adalah file httpd.conf dan httpd-vhosts.conf. Sebenarnya dulu waktu masih pakai apache 1 isi file httpd-vhosts.conf telah ada dalam file httpd.conf.

Pada tulisan pertama tentang apache untuk php, saya telah menyinggung sedikit tentang konfigurasi dasar untuk membuat apache berjalan sesuai yang diharapkan. Sekarang kita tinggal melanjutkan setingan berikutnya untuk mengaktifkan fitur virtual host. Sekarang edit file /etc/httpd/httpd.conf hilangkan tanda pagar pada baris ke 447 seperti ini


Include /etc/httpd/extra/httpd-vhosts.conf

Kedua

edit juga file /etc/httpd/extra/httpd-vhosts.conf, berikan tanda pagar “#” pada baris yang menyatakan tag virtual host (27 - 42), seperti ini

#
# ServerAdmin webmaster@dummy-host.example.com
# DocumentRoot /www/docs/dummy-host.example.com
# ServerName dummy-host.example.com
# ServerAlias www.dummy-host.example.com
# ErrorLog /var/log/httpd/dummy-host.example.com-error_log
# CustomLog /var/log/httpd/dummy-host.example.com-access_log common
#

#
# ServerAdmin webmaster@dummy-host2.example.com
# DocumentRoot /www/docs/dummy-host2.example.com
# ServerName dummy-host2.example.com
# ErrorLog /var/log/httpd/dummy-host2.example.com-error_log
# CustomLog /var/log/httpd/dummy-host2.example.com-access_log common
#


dan tambahkan satu block tag virtual host di bawahnya dengan mengkopi salah satu block tag yang ada serta rubah beberapa item yang penting, yaitu DocumentRoot (yang menentukan path aplikasi kita), ServerName (yang menyebutkan alamat url dari aplikasi kita), untuk ErrorLog dan CustomLog sebenarnya optional, bila tidak ditentukan, maka log akan ditulis di file log utama milik apache. Namun bila kita ingin mencatat log tersendiri, terlebih dahulu buat file log tertentu dan perhatikan pathnya, dalam contoh dibawah ini, saya menyimpan file lognya di /var/log/httpd/wisuda2007-*

ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot /home/bdk/wisuda2007
ServerName wisuda2007.org
ErrorLog /var/log/httpd/wisuda2007-error_log
CustomLog /var/log/httpd/wisuda2007-access_log common

Restart kembali service apachenya.

Ketiga
Kita harus menentukan alamat url untuk komputer kita sendiri yang bertindak sebagai klien. Kita bisa menggunakan service DNS menggunakan BIND (saya tidak bahas pada tulisan ini) atau kita masukkan/ tambahkan alamat url di dalam file /etc/hosts seperti ini

192.168.0.12 wisuda2007.org
perhatikan alamat IP yang saya tulis tersebut merupakan alamat IP dari server yang menjalankan service apache, kalau kita memasang service apachenya di komputer kita sendiri, berarti kita isikan alamat ip komputer kita. Pastikan kita sudah membuat satu direktori /home/bdk/wisuda2007 yang telah terisi file-file aplikasi webbase kita dan jangan lupa memberikan permission untuk bisa diakses oleh daemon apache.

Nah.. sampai disini konfigurasi apache sudah siap di test. Silahkan buka browser dan set alamat url ke http://wisuda2007.org, seharusnya kita sudah dapat mengakses webserver apache dengan alamat tersebut.

Namun sayang ternyata pengalaman saya terdapat tulisan besar Forbidden. Solusinya saya melakukan tahap keempat berikut ini.

Keempat

Apache 2 ternyata mengatur konfigurasi keamanan dengan ketat sampai ke urusan DocumentRoot, di mana ini berbeda dari apache 1 dulu. Kita harus menambahkan rule untuk mengatur hak akses dalam DocumentRoot yang telah kita tentukan sebelumnya. Dalam contoh yang saya buat, saya hanya melakukan kopi paste dari default DocumentRoot untuk localhost yang ada di file /etc/httpd/httpd.conf dan ternyata berhasil. Tapi saya minta ma'af tidak bisa menjelaskan secara detail bagaimana rules itu seharusnya dibuat, soalnya ini juga cuman insting doank, yang penting jalan :P.

Edit kembali file /etc/httpd/extra/httpd-vhosts.conf, tambahkan beberapa baris dalam tag VirtualHost yang telah kita buat sebelumnya seperti ini

ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot /home/bdk/wisuda2007/html
ServerName wisuda2007.org
ErrorLog /var/log/httpd/wisuda2007-error_log
CustomLog /var/log/httpd/wisuda2007-access_log common

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

Setelah kita simpan file konfigurasinya dan restart kembali service apache-nya, langsung kita tes kembali dari browser dengan alamat url tersebut. Pengalaman saya, halaman web yang kita tuju sudah bisa dilihat dalam browser, yang artinya kita telah berhasil membuat satu alamat virtual host dari webserver apache. Bila kita menginginkan alamat virtualhost lebih dari satu, kita bisa menambahkan tag VirtualHost seperti contoh di atas, dan jangan lupa menentukan juga link url server dimaksud dalam file /etc/hosts di klien atau memasangnya di server DNS menggunakan BIND, sehingga seting hanya dilakukan sekali saja di sisi server.

Sekali lagi ini hanya tahap awal dan permulaan kita untuk memahami dan sekedar merasakan konsep VirtualHost di apache. Ingat contoh di atas hanya sebuah contoh, jadi kita tidak bisa sekedar kopi paste apa yang ada dalam tulisan ini, sebaiknya kita pahami maksudnya dan melakukan testing serta improvisasi sendiri di komputer kita. Untuk mengeksplorasi lebih banyak lagi, saya sarankan terus membaca konfigurasi, help, manual, dokumentasi dan ikuti forum apache di internet. Masih banyak fitur tentang VirtualHost apache yang masih belum tergali di sini. Selamat mencoba... !
Share this post :

Post a Comment

 
Copyright © 2011. COMASTNET - All Rights Reserved