Iseng-iseng buka lemari dikantor malah nemu ini
Tuesday, December 27, 2011
Tuesday, December 13, 2011
Membuat multiple domain pada satu server dengan satu IP address
adakalanya kita membutuhkan domain lebih dari satu, sedangkan hardware yang tersedia sangat terbatas, atau IP address yang tersedia hanya satu IP address, dalam kasus ini penulis memeberikan contoh : dibutuhkan 3 domain, sedangkan IP yang tersedia hanya 1 dan hardware (dalam hal ini adalah server) yang bisa digunakan hanya 1 unit, untuk itu perlu dilakukan modifikasi agar 1 sever tersebut bisa digunakan untuk melayani 3 domain secara bersamaan.
diumpamakan, IP address yang digunakan adalah 192.168.1.1, kemudian nama domain yang digunakan adalah xxx.com, yyy.com, dan zzz.com
Hal-hal yang perlu dilakukan antara lain :
Instalasi Apache
$ sudo apt-get install apache2
Kemudian buka browser anda, dan ketik url localhost atau 192.168.1.1, document root apache secara default terletak di /var/www, dan konfigurasi file terletak di /etc/apache2/apache2.conf. Konfigurasi tambahan terletak di /etc/apache2, seperti /etc/apache2/mods-enabled (untuk module apache), /etc/apache2/sites-enabled (untuk virtual hosts), dan /etc/apache2/conf.d.
Instalasi DNS Server dengan Bind9
Dalam contoh ini misalkan konfigurasi yang akan kita buat adalah sebagai berikut :
Nama Host : xxx.com
IP Host : 192.168.1.1
Install bind dengan perintah :
$ sudo apt-get install bind9
Edit file named.conf menggunakan editor pico atau editor lain sesuai selera dengan perintah:
$ sudo pico /etc/bind/named.conf
Lalu tambahkan zone berikut (sesuaikan dengan kondisi server anda).
zone "xxx.com" IN {
type master;
file "/etc/bind/xxx.com.db";
allow-update
{ none; };
};
zone "1.168.192.inaddr.arpa" IN {
type master;
file "/etc/bind/xxx.com-ptr.db";
allow-update
{ none; };
};
Simpan konfigurasi diatas.
Setelah itu buatlah 2 file yang ada pada file named.conf yang anda buat tadi (xxx.com.db dan xxx.com-ptr.db). Baiklah, mari kita mulai dengan xxx.com.db :
$ sudo pico /etc/bind/xxx.com.db
dan isikan dengan :
$TTL 604800
@ IN SOA xxx.com. admin.xxx.com. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns1.xxx.com.
@ IN A 192.168.1.1
localhost IN A 127.0.0.1
www IN A 192.168.1.1
ns1 IN A 192.168.1.1
Lalu buat file konfigurasi kedua, yaitu xxx.com-ptr.db :
$ sudo pico /etc/bind/xxx.com-ptr.db
dan isikan dengan parameter :
$TTL 604800
@ IN SOA xxx.com. root.xxx.com. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
IN NS ns1.xxx.com
1 IN PTR xxx.com.
Simpan konfigurasi.
note :1 --> sesuaikan dengan IP address
Edit file /etc/hosts :
$ sudo pico /etc/hosts
lalu edit sesuai dengan parameter server anda :
127.0.0.1 localhost
192.168.1.1 xxx.com
Simpan kembali. Kemudian edit file resolv.conf :
$ sudo pico /etc/resolv.conf
Input parameter seperti dibawah ini (sesuaikan dengan parameter server anda) :
domain xxx.com
search xxx.com
nameserver 192.168.1.1
Simpan kembali perubahan tersebut. Kemudian edit file named.conf.options :
options {
directory "/var/cache/bind";
forwarders {
192.168.1.1;
};
auth-nxdomain yes; # conform to RFC1035
listen-on-v6
{ any; };
};
Langkah selanjutnya adalah merestart services Bind :
$ sudo /etc/init.d/bind9 restart
Untuk testing dapat menggunakan perintah nslookup :
$ nslookup www.xxx.com
Output :
Server: 192.168.1.1
Address: 192.168.1.1#53
Name: www.xxx.com
Address: 192.168.1.1
$ host xxx.com
Output :
xxx.com has address 192.168.1.1
Untuk troubleshooting, gunakan perintah :
$ sudo tail -f /var/log/syslog
Hasil dari syslog dapat anda gunakan untuk analisa kesalahan dalam konfigurasi
Membuat Virtual Host (multiple domain dalam 1 server)
Apache mendukung virtual hosting dengan basis IP dan nama domain, sehingga memungkinkan 1 server memiliki banyak domain. Mari kita mulai :)
Kita pastikan port yang digunakan adalah port 80 (http). Edit file ports.conf dengan perintah berikut :
$ sudo pico /etc/apache2/ports.conf
Kemudian ganti menjadi seperti dibawah ini (sesuaikan IP dengan milik anda) :
NameVirtualHost 192.168.1.1:80
Listen 80
Selanjutnya, menjalankan perintah berikut untuk menonaktifkan default virtual host apache.
$ sudo a2dissite default
$ sudo /etc/init.d/apache2 reload
Setiap konfigurasi virtual host tersimpan dalam sebuah file yang diberi nama domain dan terletak pada direktori /etc/apache2/sites-available/. Dalam contoh ini, Anda akan membuat file dengan basis nama domain xxx.com, yyy.com, dan zzz.com
Pertama kita buat terlebih dahulu file yyy.com (/etc/apache2/sites-available/yyy.com). Sesuaikan IP dengan yang anda miliki.
$ sudo pico /etc/apache2/sites-available/yyy.com
Masukkan konfigurasi berikut :
ServerAdmin admin@yyy.com
ServerName yyy.com
ServerAlias www.yyy.com
DocumentRoot /srv/www/yyy.com/public_html/
ErrorLog /srv/www/yyy.com/logs/error.log
CustomLog /srv/www/yyy.com/logs/access.log combined
Selanjutnya, membuat file konfigurasi xxx.com (/etc/apache2/sites-available/xxx.com) :
$ sudo pico /etc/apache2/sites-available/xxx.com
Masukkan konfigurasi berikut :
ServerAdmin admin@xxx.com
ServerName xxx.com
ServerAlias www.xxx.com
DocumentRoot /srv/www/xxx.com/public_html/
ErrorLog /srv/www/xxx.com/logs/error.log
CustomLog /srv/www/xxx.com/logs/access.log combined
Selanjutnya, membuat file konfigurasi zzz.com (/etc/apache2/sites-available/zzz.com) :
$ sudo pico /etc/apache2/sites-available/zzz.com
Masukkan konfigurasi berikut :
ServerAdmin admin@zzz.com
ServerName zzz.com
ServerAlias www.zzz.com
DocumentRoot /srv/www/zzz.com/public_html/
ErrorLog /srv/www/zzz.com/logs/error.log
CustomLog /srv/www/zzz.com/logs/access.log combined
Seluruh file web akan diletakkan pada direktori /srv/www. Direktori ini dapat anda sesuaikan dengan kebutuhan, tidak harus di /srv
Buat direktori yang kita butuhkan dengan perintah berikut :
$ sudo mkdir -p /srv/www/yyy.com/public_html
$ sudo mkdir /srv/www/yyy.com/logs
$ sudo mkdir -p /srv/www/xxx.com/public_html
$ sudo mkdir /srv/www/xxx.com/logs
$ sudo mkdir -p /srv/www/zzz.com/public_html
$ sudo mkdir /srv/www/zzz.com/logs
Aktifkan situs dengan menggunakan perintah berikut :
$ sudo a2ensite yyy.com
$ sudo a2ensite xxx.com
$ sudo a2ensite zzz.com
Terakhir, restart layanan Apache untuk mengetahui hasil perubahan yang kita lakukan :
$ sudo /etc/init.d/apache2 restart
Ketika anda membuat atau melakukan editing file virtual host, lakukan reload konfigurasi dengan perintah berikut :
$ sudo /etc/init.d/apache2 reload
Masukkan konten web yang berbeda pada /srv/www/yyy.com/public_html, /srv/www/zzz.com/public_html, dan /srv/www/xxx.com/public_html. Kemudian Buka browser anda, lakukan akses ke yyy.com, xxx.com dan zzz.com untuk ujicoba.
Konfigurasi Bind9 untuk mendukung virtual host
Untuk mendukung proses konfigurasi virtual host diatas, ada beberapa konfigurasi tambahan yang diperlukan. Yaitu menambahkan file resolv dari domain ke ip (perhatikan perbedaannya dengan konfigurasi xxx.com) yang terletak pada /etc/bind/yyy.com.db dan /etc/bind/zzz.com.db.
Membuat file konfigurasi yyy.com :
$ sudo pico /etc/bind/yyy.com.db
Masukkan konfigurasi berikut pada file tersebut :
$TTL 604800
@ IN SOA yyy.com. admin.yyy.com. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns1.yyy.com.
@ IN A 192.168.1.1
localhost IN A 127.0.0.1
www IN A 192.168.1.1
ns1 IN A 192.168.1.1
Membuat file konfigurasi zzz.com :
$ sudo pico /etc/bind/zzz.com.db
Masukkan konfigurasi berikut pada file tersebut :
$TTL 604800
@ IN SOA zzz.com. admin.zzz.com. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns1.zzz.com.
@ IN A 192.168.1.1
localhost IN A 127.0.0.1
www IN A 192.168.1.1
ns1 IN A 192.168.1.1
Edit file konfigurasi /etc/bind/xxx.com-ptr.db
$ sudo pico /etc/bind/xxx.com-ptr.db
Tambahkan baris ini pada akhir konfigurasi
1 IN PTR yyy.com.
1 IN PTR zzz.com.
Kemudian tambahkan konfigurasi pada /etc/hosts, sehingga menjadi sbb :
192.168.1.1 xxx.com yyy.com zzz.com
Kemudian tambahkan baris zone berikut pada file /etc/bind/named.conf :
zone "yyy.com" IN {
type master;
file "/etc/bind/yyy.com.db";
allow-update
{ none; };
};
zone "zzz.com" IN {
type master;
file "/etc/bind/zzz.com.db";
allow-update
{ none; };
};
kemudian restart service bind dengan perintah :
$sudo /etc/init.d/bind9 restart
Subscribe to:
Posts (Atom)