VirtualHost Apache
Last Updated on Wednesday, 05 September 2012 14:44 Written by idnic Monday, 11 August 2008 14:00
Â
Â
Apache dapat menjalankan banyak situs sekaligus. Misalkan www.myhost.com, www.yourhost.net, www.fgsas.org, semua situs ini dapat dijalankan dengan fasilitas virtual host.
Untuk bagian ini, virtual host dijalankan dengan share IP Address. Jadi sebuah IP Address dapat menjalankan banyak situs sekaligus. Untuk vitual host berbasis IP, lihat bagian HostBaseIP
Untuk Slackware 11
-
#NameVirtualHost *:80
(Hilangkan tanda # sehingga menjadi dibawah ini)
NameVirtualHost *:80
ServerAdmin This e-mail address is being protected from spambots. You need JavaScript enabled to view it
DocumentRoot /home/mic/public_html
ServerName xdevel.net
ErrorLog logs/xdevel.net-error_log
DocumentRoot /home/mic/joomla
ServerName joomla.xdevel.net
DocumentRoot /var/www/htdocs
ServerName apache.xdevel.net
Edit file
httpd.conf
yang terletak di /etc/apache/httpd.conf
Aktfikan VirtualHost :
Mengatur Direktive : Misalkan saya punya 3 situs sekaligus :)
Situs Utama saya :
Situs Eksperimen :
Situs belajar apache :
Untuk Slackware 12
-
# Virtual hosts
#Include /etc/httpd/extra/httpd-vhosts.conf
-
hilangkan tanda "#" pada
#Include /etc/httpd/extra/httpd-vhosts.conf
, sehingga menjadi :
Include /etc/httpd/extra/httpd-vhosts.conf
-
Direktif minimal :)
DocumentRoot /var/www/htdocs
ServerName situsgue.com
Direktif lengkap :
ServerAdmin This e-mail address is being protected from spambots. You need JavaScript enabled to view it
DocumentRoot /var/www/htdocs
ServerName domain.com
ErrorLog /var/log/httpd/situsgue.com-error_log
CustomLog/var/log/httpd/situsgue.com-access_log
#apachectl -k restart
Edit file
httpd.conf
yang terletak di /etc/httpd/httpd.conf
Aktifkan Virtual Host, cari pada bagian :
Jangan lupa untuk menambahkan direktive dari file web anda, ini sebagai contoh dari virtual host :
(file ini terletak di /etc/httpd/extra/httpd-vhosts.conf
)
Jangan lupa untuk simpan hasil konfigurasi, lalu restart service apache anda dengan menjalankan :
Lakukan testing pada browser anda dengan mengetikkan alamat http://situsgue.com, nah muncul "IT WORKS" :)
Selamat virtual host anda sudah berjalan.
----------
User direktory / public_html
----------
-
Jadi untuk user Michael punya folder website
/home/michael/public_html
Untuk user Harry p :
/home/harry/public_html
Untuk user Yulius :
/home/yulius/public_html
Untuk user Lenny :
/home/lenny/public_html
Begitu seterusnya.
Jika server Anda terdiri dari puluhan sampai ratusan user dengan homepagenya masing2, maka cara paling praktis meletakkan homepage pada alamat home direktorinya masing2.
Misalkan 6 user bernama Michael, Harry, Yulius, Lenny, Eko, dan Indra.
Karena tiap user punya home direktorynya masing2, maka buat konvensi untuk meletakkan index.html atau index.php di /home/user/public_html
Untuk Slackware 12
-
/etc/httpd/extra/httpd-userdir.conf
# User home directories
#Include /etc/httpd/extra/httpd-userdir.conf
-
hilangkan tanda "#" pada
#Include /etc/httpd/extra/httpd-userdir.conf
, sehingga menjadi :
Include /etc/httpd/extra/httpd-userdir.conf
Konfigurasi terdapat di :
Untuk mengaktifkan user directory anda edit di httpd.conf
dan cari bagian :
Jangan lupa untuk menyimpan hasil perubahan ini, lalu restart service apache anda.
Lakukan testing pada browser anda dengan mengetikkan alamat http://domainanda.com/~useranda, nah kalo ada muncul "Parent Directory", maka anda telah berhasil.
Selamat sekarang tiap user anda dapat mempunyai homepage sendiri.
userdir dapat jalan tanpa mengaktifkan virtualhost. Btw, jika menggunakan virtualhost userdir Anda juga tetap jalan :)
Oh ya ! Jika Anda pengguna Slackware 11, user-dir langsung aktif.
Catatan Slacker :
Catatan 1 :
-
Jika Anda mengaktifkan VirtualHost, maka pengaturan direktory situs utama (pada contoh awal tanpa virtualhost) akan diabaikan. Jadi letakkan situs utama Anda pada direktive virtualhost.
Catatan 2 :
-
# For loopbacking.
127.0.0.1 localhost
# Ini yang ditambahkan.
192.168.1.111 xdevel.net xdevel
192.168.1.111 joomla.xdevel.net joomla
192.168.1.111 apache.xdevel.net apache
# End of hosts.
Penambahan di/etc/hosts
sangat vital jika Anda menjalankan server juga di jaringan internal. Jika tidak, maka komputer lain dalam jaringan akan mengakses webserver Anda dengan IP address.Definisikan juga resolve domain (local) Anda di komputer client. Sehingga komputer client dapat mengakses webserver dengan nama domain lokal Anda.
Dalam kasus ini, resolve nama cukup di /etc/hosts. Kecuali Anda mempunyai banyak server yang perlu diresolve lewat dns server./etc/hosts tidak mutlak dperlukan oleh webserver untuk domain yang dijalankan sebagai virtualhost jika Anda mendeploy sebuah server didata center. (Anda dapat menggunakan dns pihak ISP atau pihak luar)Kecuali Anda ingin membangun dns server sendiri. (dalam kasus ini Anda membuka perusahaan hosting misalnya :)
Edit file
/etc/host
Anda dan tambahkan virtualHost.
Catatan 3 :
-
Anda dapat membuat folder public_html otomatis setiap penambahan user baru dengan meletakkan prototip folder
public_html
pada /etc/skel
Contoh :
Saya membuat folder public_html pada
/etc/skel/public_html
Maka setiap melakukan #adduser
folder public_html akan ditambahkan otomatis. (Plus file tambahan lain bila perlu :)
Tentu tidak harus bernama public_html
kalau tidak suka :), bisa www atau yang lain.
catatan 4:
-
Anda tidak perlu membuat directive virtual host jika Anda menggunakan model public_html berbasis home direktory.
Sehingga alamat tiap user menjadi
http://domainAnda.com/~user
misal saya mempunyai domain http://xdevel.net maka untuk user Michael punya alamat :
http://xdevel.net/~michael
Sedang untuk user Lenny punya alamat :
http://xdevel.net/~lenny
Begitu seterusnya.