Sekarang kita langsung saja masuk ke dalah konfigurasi. Misalkan saya mempunya 2 buah domain [aminudin.net dan kelelawar.net] saya kebingungan karena saya hanya mempunyai 1 server, solusinya adalah anda harus mengarahkan domain tersebut ke IP server kita untuk contoh silahkan baca http://aminudin.net/?p=230 . kemudian seterusnya konfigurasi di sisi server nya kita lakukan konfigurasi virtualhost anda edit file yang berada di /etc/apache2/http.conf. anda masukan text virual host,sebagai contoh begini :
ServerAdmin webmaster@aminudin.net
ServerName aminudin.net
DocumentRoot /home/amin
CustomLog /hom/amin/log/aminudin.net.log combined
ServerAdmin webmaster@kelelawar.net
ServerName kelelawar.net
DocumentRoot /home/kelelawar
CustomLog /home/kelelawar.net/log/kelelawar.net.log combined
Penjelasan:
<<–Awal dari virtual host ServerAdmin webmaster@kelelawar.net <<– Nama admin domain ServerName kelelawar.net <<– Nama domain yang akan masuk ke server kita DocumentRoot /home/kelelawar <– File domain kelelawar.net <<– Penutup VirtualHost
CustomLog /home/kelelawar.net/log/kelelawar.net.log combined <<– Dimana File Log website diletakan# untuk file log, anda membuat terlebih dahulu file kosong
# ex: amin@root~#touch /home/kelelawar/log/kelelawar.net.log
Berikutnya yang harus anda lakukan adalah restart apache:
amin@root~#/etc/init.d/apache2 restart
Jadi secara simple adalah VirtualHost itu adalah belokan dimana directory masing2 domain tersebut.
Jika anda mempunya 1 domain atau 2 masih bisa dibilang belum memusingkan untuk configurasi file http.conf-nya. Tetapi jika anda sudah mempunya banyak domain diarahkan ke 1 server, misal anda mempunya 10 domain hayoooo gimana? saya juga pernah mengalami hal serupa, file di http.conf itu banyak sekali nama domain dan hampir serupa bentuknya, bisa lelah mata kita melihatnya. Untuk masalah seperti itu anda sebaiknya membuat file configuration yang baru. Coba anda membuat directory dimana file konfigurasi domain tersebut berada.
ex: /home/vhost/aminudin.net.conf
/home/vhost/kelelawar.net.conf
Setelah itu coba anda pindahkan semua konfigurasi masing2 domain ke file konfigurasi domain tersebut, misal vhost aminudin.net di pindah ke /home/vhost/aminudin.net.conf. Setelah itu anda edit file yang bernama apache2.conf yang berada di /etc/apache2/apache2.conf kemudian anda cari baris yang ada text Include /etc/apache2/http.conf kemudian anda tambahkan baris di bawahnya itu sebagai contoh anda masukan Include /home/vhost/aminudin.net.conf dan Include /home/vhost/kelelawar.net.conf. kemudian karena file http.conf itu sudah kosong filenya maka anda kasih # di text Include /etc/apache2/http.conf menjadi #Include /etc/apache2/http.conf. tanda # itu menandakan bahwa yang berada di baris tersebut hanya komentar jadi tidak di tanggapi oleh apache tersebut. Kemudian setelah anda beres ini itu maka tinggal anda melakukan restart apache nya [amin@root~#/etc/init.d/apache2 restart].
Selesai….. Sekarang file virtualhost anda telah tersusun dengan baik. Jika anda ingin konfigurasi ga perlu pusing2 lagi tinggal pilih aja file konfigurasi salah satu domain.
Adapun Cara Lain membangun sebuah virtual host adalah sebagai berikut:
(Langkah ini dijalankan dengan tujuan untuk membuat sub domain dari website awal yang sudah kita miliki. MIsalnya dari website www.agungprasetyo.net, kita ingin menambah sub domain websiteku.agungprasetyo.net dan seterusnya.)
1. pertama-tama, buatlah folder untuk menampung file-file html yang nantinya akan diupload.
root@library:~#mkdir /var/www/website
2. Selanjutnya, kita akan melakukan konfirgurasi di apache. Masuk ke direktori sites-available
root@library:~#cd /etc/apache2/sites-available
3. Jika dilihat, disana ada file default dan default-ssl yang merupakan file awal terbantuknya apache2. Sekarang buat file baru
root@library:/etc/apache2/sites-available#nano websiteku
4. Tambahkan isi file berikut :
ServerAdmin admin@agungprasetyo.net
ServerName website.agungprasetyo.
ServerAlias website.agungprasetyo.net
DocumentRoot /var/www/website
ErrorLog /var/log/apache2/error-website.log
CustomLog /var/log/apache2/access-website.log combined
Options -Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
5. Lakukan penyimpanan pada file tersebut
6. Karena kita ingin menambahkan nama baru, maka kita tidak perlu menonaktifkan yang lama. Kita tinggal mengaktifkan saja nama yang baru saja kita buat.
root@library:/etc/apache2/sites-available#a2ensite websiteku
Enabling site website.
Run ‘/etc/init.d/apache2 reload’ to activate new configuration!
7. Hasilnya bisa anda lihat dengan perintah
root@library:/etc/apache2/sites-available#ls -l ../sites-enabled/
lrwxrwxrwx 1 root root 26 2009-03-23 11:39 000-default -> ../sites-available/default
lrwxrwxrwx 1 root root 24 2009-03-23 14:35 websiteku -> ../sites-available/websiteku
8. Jika sudah tampak, maka sekarang lakukan perintah
root@library:/etc/apache2/sites-available#/etc/init.d/apache2 reload
* Reloading web server config apache2 [Mon Mar 23 14:48:08 2009] [warn] VirtualHost 212.166.10.230:80 overlaps with VirtualHost 212.166.10.230:80, the first has precedence, perhaps you need a NameVirtualHost directive
[Mon Mar 23 14:48:08 2009] [warn] VirtualHost 212.166.10.230:80 overlaps with VirtualHost 212.166.10.230:80, the first has precedence, perhaps you need a NameVirtualHost directive
[Mon Mar 23 14:48:08 2009] [warn] NameVirtualHost *:80 has no VirtualHosts
9. Ternyata muncul masalah, yaitu ada error spt diatas. Saya juga sempat mengalami hal ini, hingga sekitar 5 jam. Akhirnya soluasi dari masalah ini ketemu, yaitu anda harus mengeset juga ports.conf.
10. Sekarang menuju halaman apache2 dan buka file ports.conf
root@library:/etc/apache2/sites-available#cd ..
root@library:/etc/apache2/sites-available#nano ports.conf
# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default
NameVirtualHost *:80
Listen 80
# SSL name based virtual hosts are not yet supported, therefore no
# NameVirtualHost statement here
Listen 443
11. Gantilah NameVirtualHost *:80 menjadi 212.166.10.230:80 sehingga hasilnya seperti dibawah ini
# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default
NameVirtualHost 212.166.10.230:80
Listen 80
# SSL name based virtual hosts are not yet supported, therefore no
# NameVirtualHost statement here
Listen 443
12. Lakukan penyimpanan dan lakukan kembali perintah reload apache :
root@library:/etc/apache2# /etc/init.d/apache2 reload
* Reloading web server config apache2 [ OK ]
13. Oke, proses sudah tidak ada error lagi, sub domain anda sudah berhasil
14. Sekarang buka browser dan ketikkan : http://websiteku.agungprasetyo.net pada browser anda.