Subdomain wildcard pada Ubuntu dengan bind9

Ada kasus seperti ini, kita akan membuat sebuah website komunitas yang nanti nya para pengunjung bisa mendaftar sebagai anggota. Dan setiap anggota masing-masing akan mendapatkan alamat URL: http://namauser.situskita.com/
Kelihatannya tampak mudah bukan?
Tinggal membuatkan Virtual Host untuk masing-masing anggota, dan daftarkan subdomainnya.

Namun permasalahannya adalah, kita ingin subdomain tersebut hanya sebagai identitas, dan bukan berupa direktori khusus untuk masing-masing anggota terdaftar. Dan yang lebih penting lagi, setiap yang baru mendaftar akan langsung mendapatkan alamat subdomainnya secara otomatis, tanpa campur tangan kita. Bayangkan jika ada 100 pengunjung yang mendaftar, dan semua itu harus kita buat secara manual. Akan sangat membuang waktu dan tenaga bukan?

Ini dibutuhkan jika kita ingin membuat situs komunitas, atau contohnya seperti situs jaringan pertemanan. Setiap anggota yang terdaftar akan mendapatkan alamat sendiri untuk menampilkan profil, blog, atau content lainnya.

Untuk mengatasi masalah itu kita akan menggunakan yang namanya “Subdomain Wildcard”. Dengan subdomain wildcard, kita hanya butuh 1 domain yang digunakan untuk memproses semua request subdomain. Artinya, semua yang xxx.domainutama.com, yyy.domainutama.com, zzz.domainutama.com akan diarahkan ke domainutama.com. Yang nantinya script PHP pada domainutama.com yang akan memprosesnya dan menampilkan halaman anggota tersebut.

Sebelumnya, kita akan membutuhkan DNS Server untuk membuat subdomain wildcard ini. Dengan membuat DNS Zone baru untuk domain yang akan digunakan.
Sebagai test untuk di mesin lokal, kita akan membuat domain bohongan yang hanya bisa jalan di jaringan lokal kita saja.
Domain yang digunakan: http://www.situskita.tld
IP Mesin kita: 192.168.1.2

Install paket bind9 untuk DNS Server nya (Jika belum ada)

$ sudo apt-get install bind9

setelah install, kita akan membuat DNS Zone baru. Jika anda sudah memiliki konfigurasi DNS sendiri, dan akan menggunakannya, silahkan lewati bagian ini. Lanjutkan ke tahap selanjutnya.

$ sudo pico /etc/bind/named.conf.local

Tambahkan baris berikut ini:

zone “situskita.tld” {
type master;
file “/etc/bind/db.situskita.tld”;
notify no;
};

Disini kita membuat zona baru untuk domain “situskita.tld”, dan konfigurasi nya terletak pada file “/etc/bind/db.situskita.tld”
Jika ingin menggunakan konfigurasi DNS zone yang sudah ada, anda hanya tinggal menambahkan baris berikut pada konfigurasi anda:

* A 192.168.1.2

Kalau belum ada, maka kita akan membuatnya.

$sudo pico /etc/bind/db.situskita.tld

dan isi dengan:

;
; Zone file for situskita.tld
;
; The full zone file
;
$TTL 3D
@ IN SOA ns.situskita.tld. vandai.situskita.tld. (
200608081 ; serial, todays date + todays serial #
8H ; refresh, seconds
2H ; retry, seconds
4W ; expire, seconds
1D ) ; minimum, seconds
;
NS ns ; Inet Address of name server
MX 10 mail ; Primary Mail Exchanger
;MX 20 mail2 ; Secondary Mail Exchanger
;
ns A 192.168.1.2
www A 192.168.1.2
* A 192.168.1.2
ftp CNAME ns
gw A 192.168.1.2
TXT “Network gateway”
mail A 192.168.1.2

Perhatikan bahwa kita membuat dns wildcard (*) disini.
* A 192.168.1.2

Bagian ini lah poin pentingnya, kita akan mengarahkan semua request *.situskita.tld ke situskita.tld sebagai domain utama.
Untuk bagian lainnya, ubah sesuai dengan konfigurasi server anda.

Lebih jelas nya mengenai DNS, anda bisa merujuk ke situs Wikipedia.

Simpan konfigurasi ini, lalu restart service bind

$ sudo /etc/init.d/bind9 force-reload

Kita bisa mencoba konfigurasi DNS ini dengan menggunakan perintah dig:

$ dig http://www.situskita.tld

Jika konfigurasi kita benar, maka keluarannya akan seperti:

;; QUESTION SECTION:
;www.situskita.tld. IN A

;; ANSWER SECTION:
http://www.situskita.tld. 259200 IN A 192.168.1.2

;; AUTHORITY SECTION:
situskita.tld. 259200 IN NS ns.situskita.tld.

Selain itu, coba dengan menggunakan subdomain yang lain

$ dig test.situskita.tld

;; QUESTION SECTION:
;test.situskita.tld. IN A

;; ANSWER SECTION:
test.situskita.tld. 259200 IN A 192.168.1.2

;; AUTHORITY SECTION:
situskita.tld. 259200 IN NS ns.situskita.tld.

Ok, sampai sini server kita sudah bisa membaca subdomain wildcard. Jadi apapun subdomain yang kita ketikkan, semua akan diarahkan ke domain utama http://www.situskita.tld

Selanjutnya kita perlu membuat konfigurasi pada Apache Server dengan Virtual Host.

Karena terlalu panjang, maka saya akan melanjutkannya di bagian kedua:
http://www.akemapa.com/2008/05/16/subdomain-wildcard-pada-ubuntu-dengan-bind9-part-ii/

Source :

Ada kasus seperti ini, kita akan membuat sebuah website komunitas yang nanti nya para pengunjung bisa mendaftar sebagai anggota. Dan setiap anggota masing-masing akan mendapatkan alamat URL: http://namauser.situskita.com/
Kelihatannya tampak mudah bukan?
Tinggal membuatkan Virtual Host untuk masing-masing anggota, dan daftarkan subdomainnya.

Namun permasalahannya adalah, kita ingin subdomain tersebut hanya sebagai identitas, dan bukan berupa direktori khusus untuk masing-masing anggota terdaftar. Dan yang lebih penting lagi, setiap yang baru mendaftar akan langsung mendapatkan alamat subdomainnya secara otomatis, tanpa campur tangan kita. Bayangkan jika ada 100 pengunjung yang mendaftar, dan semua itu harus kita buat secara manual. Akan sangat membuang waktu dan tenaga bukan?

Ini dibutuhkan jika kita ingin membuat situs komunitas, atau contohnya seperti situs jaringan pertemanan. Setiap anggota yang terdaftar akan mendapatkan alamat sendiri untuk menampilkan profil, blog, atau content lainnya.

Untuk mengatasi masalah itu kita akan menggunakan yang namanya “Subdomain Wildcard”. Dengan subdomain wildcard, kita hanya butuh 1 domain yang digunakan untuk memproses semua request subdomain. Artinya, semua yang xxx.domainutama.com, yyy.domainutama.com, zzz.domainutama.com akan diarahkan ke domainutama.com. Yang nantinya script PHP pada domainutama.com yang akan memprosesnya dan menampilkan halaman anggota tersebut.

Sebelumnya, kita akan membutuhkan DNS Server untuk membuat subdomain wildcard ini. Dengan membuat DNS Zone baru untuk domain yang akan digunakan.
Sebagai test untuk di mesin lokal, kita akan membuat domain bohongan yang hanya bisa jalan di jaringan lokal kita saja.
Domain yang digunakan: http://www.situskita.tld
IP Mesin kita: 192.168.1.2

Install paket bind9 untuk DNS Server nya (Jika belum ada)

$ sudo apt-get install bind9

setelah install, kita akan membuat DNS Zone baru. Jika anda sudah memiliki konfigurasi DNS sendiri, dan akan menggunakannya, silahkan lewati bagian ini. Lanjutkan ke tahap selanjutnya.

$ sudo pico /etc/bind/named.conf.local

Tambahkan baris berikut ini:

zone “situskita.tld” {
type master;
file “/etc/bind/db.situskita.tld”;
notify no;
};

Disini kita membuat zona baru untuk domain “situskita.tld”, dan konfigurasi nya terletak pada file “/etc/bind/db.situskita.tld”
Jika ingin menggunakan konfigurasi DNS zone yang sudah ada, anda hanya tinggal menambahkan baris berikut pada konfigurasi anda:

* A 192.168.1.2

Kalau belum ada, maka kita akan membuatnya.

$sudo pico /etc/bind/db.situskita.tld

dan isi dengan:

;
; Zone file for situskita.tld
;
; The full zone file
;
$TTL 3D
@ IN SOA ns.situskita.tld. vandai.situskita.tld. (
200608081 ; serial, todays date + todays serial #
8H ; refresh, seconds
2H ; retry, seconds
4W ; expire, seconds
1D ) ; minimum, seconds
;
NS ns ; Inet Address of name server
MX 10 mail ; Primary Mail Exchanger
;MX 20 mail2 ; Secondary Mail Exchanger
;
ns A 192.168.1.2
www A 192.168.1.2
* A 192.168.1.2
ftp CNAME ns
gw A 192.168.1.2
TXT “Network gateway”
mail A 192.168.1.2

Perhatikan bahwa kita membuat dns wildcard (*) disini.
* A 192.168.1.2

Bagian ini lah poin pentingnya, kita akan mengarahkan semua request *.situskita.tld ke situskita.tld sebagai domain utama.
Untuk bagian lainnya, ubah sesuai dengan konfigurasi server anda.

Lebih jelas nya mengenai DNS, anda bisa merujuk ke situs Wikipedia.

Simpan konfigurasi ini, lalu restart service bind

$ sudo /etc/init.d/bind9 force-reload

Kita bisa mencoba konfigurasi DNS ini dengan menggunakan perintah dig:

$ dig http://www.situskita.tld

Jika konfigurasi kita benar, maka keluarannya akan seperti:

;; QUESTION SECTION:
;www.situskita.tld. IN A

;; ANSWER SECTION:
http://www.situskita.tld. 259200 IN A 192.168.1.2

;; AUTHORITY SECTION:
situskita.tld. 259200 IN NS ns.situskita.tld.

Selain itu, coba dengan menggunakan subdomain yang lain

$ dig test.situskita.tld

;; QUESTION SECTION:
;test.situskita.tld. IN A

;; ANSWER SECTION:
test.situskita.tld. 259200 IN A 192.168.1.2

;; AUTHORITY SECTION:
situskita.tld. 259200 IN NS ns.situskita.tld.

Ok, sampai sini server kita sudah bisa membaca subdomain wildcard. Jadi apapun subdomain yang kita ketikkan, semua akan diarahkan ke domain utama http://www.situskita.tld

Selanjutnya kita perlu membuat konfigurasi pada Apache Server dengan Virtual Host.

Karena terlalu panjang, maka saya akan melanjutkannya di bagian kedua:
http://www.akemapa.com/2008/05/16/subdomain-wildcard-pada-ubuntu-dengan-bind9-part-ii/

Source : http://www.akemapa.com/2008/05/15/subdomain-wildcard-pada-ubuntu-dengan-bind9/

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s