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: 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 www.situskita.tld

Jika konfigurasi kita benar, maka keluarannya akan seperti:

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

;; ANSWER SECTION:
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 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/