Dengan memanfaatkan modul mod_rewrite dan wilcard DNS, kita dapat membuat sebuah virtual subdomain dari sebuah nilai variabel.
Pernah suatu ketika salah satu klien saya minta dibuatkan sebuah aplikasi website, dimana setiap member/anggota yang terdaftar di dalam website tersebut, secara otomatis akan memiliki sebuah subdomain berupa ID masing-masing anggota.
Misalnya :
http://namadomain.com/?member=opik
Nilai variabel “opik” tersebut dapat dibuat menjadi sebuah subdomain,
http://opik.namadomain.com
Saya mencoba berselancar di Internet dan menemukan banyak sekali forum (luar negeri) yang membahas hal ini. Banyak sekali contoh-contoh kode yang yang katanya benar dan berhasil jalan. Tetapi setelah saya cobakan, carut marut semua, hahahahaha. Entahlah saya sendiri tidak tahu salahnya dimana. Akhirnya saya memulai eksperimen dengan dibantu oleh rekan saya Erwin, dan server pinjaman dari warnet Relax.
Berikut langkah-langkah yang saya lakukan, dan berhasil diterapkan pada 2 web server yang berbeda.
- Aktifkan Wilcard DNS
- Aktifkan modul mod_rewrite
- Aktifkan Virtualhost dan pada baris ServerAlias rubah menjadi ServerAlias *.namadomain.com
- Buat file .htaccess
- Selesai
Jika anda memiliki akses WHM, tambahkan baris berikut :
*.domain.com. A 1.2.3.4
Ganti 1.2.3.4 dengan IP server anda.
Cara untuk mengaktifkan wilcard dns :
Login ke WHM. Lalu pilih menu Edit DNS Zone dan pilih domain yang akan diaktifkan wilcard dns-nya. Setelah itu tambahkan baris seperti pada gambar dibawah ini.
Sedangkan jika anda tidak memiliki akses WHM, anda dapat menghubungi technical support dimana anda menyewa hosting, dan meminta untuk diaktifkan Wilcard DNS pada domain anda.
Untuk mengaktifkan mod_rewrite, buka file httpd.conf, cari baris #LoadModule rewrite_module modules/mod_rewrite.so dan hilangkan tanda #.
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{HTTP_HOST} !^www.namadomain.com [NC]
RewriteCond %{HTTP_HOST} ^(www.)?([^.]+).namadomain.com
RewriteRule ^([^.*])?$ /index.php?member=%2 [L]
Semoga saja penjelasan saya diatas tidak keliru, karena saya melakukannya sudah lama sekali dan tidak dicatat. Kalau keliru ya maklum sajalah, soalnya sudah terlalu banyak memori yang terpakai untuk “nguli”.


hamdan on 09/02/2008 at 13:48 :
harus edit apache.conf, berarti harus ‘menguasai’ web server. klo cuma hosting doang, apa boleh?
opik on 02/08/2008 at 20:44 :
Yup betul sekali pak de.
Kalau sampean ndak punya akses WHM, langsung kontak saja penjual hostingannya.
Bilang minta diaktifkan wilcard DNS-nya.
Kalau yang jual hosting gak paham juga, suruh mereka berhenti saja jualan hosting.
Hehehehe
Sandi 'tube' Andrian on 19/07/2009 at 08:43 :
Mas, sayah lagi nyoba2 tutorial di atas. Kayaknya sih udah berhasil, tapi ko halaman nya ga ke index.php?member=a ya?. Mksd saya ingin ketika menuju halaman http://tubex.logic99biz.co.cc itu isinya halaman http://logic99biz.co.cc/index.php?member=tubex. Mohon pencerahannya yah. Thx
opik on 19/07/2009 at 11:26 :
Sandi :
Apakah anda sudah melakukan kofigurasi pada WHM (lihat point no. 1)?
Setahu saya domain co.cc tidak diberikan akses whm.
“RewriteRule ^([^.*])?$ /index.php?member=%2 [L]”
(Lihat pada point 4 baris terakhir)
Arti dari baris terakhir diatas adalah : jikalau ada tulisan (apapun itu) dibelakang nama domain yang diakhiri dengan titik (misalnya: tubex.logic99biz.co.cc), maka sistem akan menampilkan data yang diambil dari url http://logic99biz.co.cc/index.php?member=tubex.
Sandi 'tube' Andrian on 19/07/2009 at 11:48 :
WHM itu ada di hostingan atau di domain?
opik on 19/07/2009 at 11:59 :
WHM = Web Host Manager. Adanya dihostingan mas.
Saya sudah lihat di http://tubex.logic99biz.co.cc/ < — yang keluar adalah halaman cpanel. Itu berarti .htaccess sampean sudah benar, tinggal melakukan setingan seperti pada point 1.
Maaf, diatas tadi saya salah tulis.
“Setahu saya domain co.cc tidak diberikan akses whm.” <– ini seharusnya penyedia hostingan (shared hosting)
Coba anda kontak penyedia hosting tempat anda menghostingkan web. Minta untuk diaktifkan wilcard DNS-nya. Jika technical supportnya sudah pengalaman, pasti mereka tau apa yang anda maksudkan.
Sandi 'tube' Andrian on 19/07/2009 at 12:50 :
Sudah aktif mas, tinggal tambahkan subdomain dengan nama * (*.namadomain.com) hehe. Greate Tutorial
opik on 19/07/2009 at 12:52 :
Mantabs.. Selamat.
ivan on 20/07/2009 at 10:49 :
Saya coba, kontak penyedia layanan hosting saya, katanya harus pake paket vps hosting untuk bisa diaktifkan wildcard DNS nya pa, gimana yah? trima kasih
opik on 21/07/2009 at 00:33 :
Pasti beli hostingannya di bakulan lokal (baca: penjual hosting dalam negeri) ya
Memang sih, anda harus punya minimal account resellerlah untuk mendapatkan hak akses WHM, ndak perlu harus sampai punya vps.
Tapi sebenarnya kalau anda beli hostingan langsung di luar, kemungkinan pasti akan bisa dibantu untuk mengaktifkan wilcard dns.
Orbit z on 21/07/2009 at 01:10 :
mas opik saya juga ikut mencoba yaaah, kalau ada kendala saya mohon pencerahannya
nice tutorial.
thanks
opik on 21/07/2009 at 01:15 :
Monggo.. kang.
Nanti kita bisa sama-sama berdiskusi, karena sayapun masih perlu banyak belajar.
ivan on 23/07/2009 at 10:28 :
saya punya akses WHM tapi dimana menambahkan *.domain.com. A 1.2.3.4 nya, terus saya muter2 nyari file httpd.conf ga ada yah. trims
opik on 23/07/2009 at 11:14 :
Ivan : coba baca lagi dokumentasi penggunaan WHM. Saya sudah coba cari-cari hasil printscreen saya dulu, tapi tidak ketemu.
ivan on 24/07/2009 at 08:15 :
pagi mas opik, wah dari kemarin muter2 terus n googling, ga nemu2 tuch yg ngejelasin dimana letaknya *.domain.com. A 1.2.3.4 ama httpd.conf.
plis screenshotnya dong mas biar lebih jelas, trims
opik on 24/07/2009 at 14:52 :
Halo mas Ivan.
Mengenai httpd.conf, anda tidak usah pusingkan. Karena untuk nyetting httpd.conf itu ya lewat WHM saja mas. Jika anda sudah menambahkan baris “*.domain.com. A 1.2.3.4″, maka otomatis akan terupdate di httpd.conf.
Gambarnya sudah saya update pada tulisan diatas.
ivan on 25/07/2009 at 00:10 :
met malem mas opik, trims atas penjelasannya, saya sudah paham sekarang, hanya saja saya tidak bisa melakukannya nich
terima kasih
WHM yg saya akses tidak ada link Edit DNS Zone pada DNS Functionnya.
share dong dimana beli hostingan yg kaya mas opik, dan tentunya yg gak terlalu mahal
opik on 25/07/2009 at 00:33 :
Ah masak sih WHM ndak ada akses DNS Zone?Jangan-jangan itu bukan WHM tapi Cpanel?
Setahu saya semua WHM pasti ada fasilitas untuk edit dns zone ( CMIIW ).
Btw, sampean ini belinya hostingan biasa atau account reseller/vps?
Sandi 'tube' Andrian on 28/07/2009 at 20:58 :
Mas, nanya lagi donk (maklum nubie hehe). Gini, kan yang di contoh itu redirect menggunakan method GET. Nah kebetulan website yang saya buat menggunakan framework sehingga untuk mengakses url tersebut bukan http://logic99biz.co.cc/index.php/?member=sandhee_tube melainkan http://logic99biz.co.cc/index.php/member/profile/sandhee_tube. Mohon pencerahnnya. Thanks
opik on 28/07/2009 at 21:19 :
http://logic99biz.co.cc/index.php/member/profile/sandhee_tube < ---- ini yang dinamakan dengan clean url.
Jadi url aslinya itu menggunakan method get.
Bisa jadi url diatas berasal dari url http://http://logic99biz.co.cc/index.php?page=member&profile=sandhee_tube
Sandi 'tube' Andrian on 28/07/2009 at 22:43 :
RewriteRule ^([^.*])?$ /indomockup/index.php/member/profile/%2 [L]
begitulah baris terakhir yang saya buat. tapi tetep bermasalah. mohon dikoreksi bagian mana yang salahnya. Thanks
opik on 29/07/2009 at 03:26 :
Coba mas Sandi googling kembali,perbedaan penggunaan tanda “[L], [R], [L, R], [NC], dll”.
Mungkin sebelum kita melakukan sebuah modifikasi code, alangkah baiknya jika kita paham dulu makna dasar dari sebuah kode.
Tanda “[L]” itu bersifat statis.
Saya mungkin agak susah juga ngasih advice, jika saya sendiri tidak tau errornya seperti apa. Kalo ada contoh online aplikasi yang anda buat, mungkin saya bisa memberikan masukan.
opik on 29/07/2009 at 03:28 :
Mas Sandi, maaf untuk diskusi selanjutnya…
Mungkin saya baru bisa melanjutkan diskusi kembali hari senin depan. Dikarenakan besok saya harus tugas luar kota. Jadi mohon maaf, jika saya terlambat untuk menjawab posting anda.
Sandi 'tube' Andrian on 29/07/2009 at 09:08 :
maaf ya kalo merepotkan errornya seperti yang anda lihat di http://patromax-media.distrobay.com/, jadi CI mendeteksi error.
kank_ripay on 20/11/2009 at 01:20 :
Om, baru ngerti sedikit saya, keinginan saya bersama teman saya juga sama. yaitu membuat subdomain gratis bagi para pengunjung… tapi, saya masih bingung dengan tutorial diatas, kira-kira Cms apa ya yang mudah digunakan untuk membuat subdomain ini??????// mohon penjelasannya, terima kasih..
opik on 20/11/2009 at 13:13 :
Kang_ripay: Kalau mau membuat fasilitas subdomain gratis & serba otomatis, pakai saja wp-mu (http://mu.wordpress.org/download/). Hanya saja rules setingan wilcard dns diatas harus diikuti
.
Mungkin cara paling gampang agar anda lebih gampang mengerti, silahkan anda cari teman yang punya akses WHM, lalu pinjam sebentar untuk percobaan.
kank_ripay on 21/11/2009 at 00:03 :
nah… pernah juga kucoba WP mu… mungkin kegagalannya karena gak ada akses whm itu x ya…???? pertanyaan berlanjut.. kira-kira, kalo saya menginginkan 1 domain 2 hosting berbeda gimana?? misal, untuk domainsaya.com di tempat hosting satuhosting.com dan subdomain.domainsaya.com saya tempatkan di duahosting.com gimana??? bisa gak???? terus…. kalo saya membuat sebuah web seperti co.cc yang mengarahkan NS ya.. kira-kira apa yang harus saya kuasai??? mohon pencerahannya nih… karena saya baru banget mengenal internet… besok saya atdateng lagi dan mudah-mudahan sudah ada balesannya.. terimakasih..
opik on 21/11/2009 at 02:05 :
1. Bisakah domain dan subdomain menggunakan NS yang berbeda?
Jawabannya bisa. Konfigurasi ini bisa diset melalui WHM. Jika anda tidak punya akses WHM, mungkin bisa minta tolong penjual hosting anda untuk mensetkan. Contoh konfigurasinya (di WHM) klik disini.
2. “kalo saya membuat sebuah web seperti co.cc yang mengarahkan NS yya.. kira-kira apa yang harus saya kuasai?”
Untuk pertanyaan yang satu ini saya sendiri belum begitu menangkap apa yang anda maksudkan.
Semoga jawaban ini bisa sedikit membantu anda. Terima kasih.
kank_ripay on 22/11/2009 at 04:01 :
wah… makasih banyak atas infonya mas… salam kenal…
Kang_Endang on 24/02/2010 at 14:58 :
Saya punya website iklan, namun ingin menambahkan fasilitas supaya user bisa membuat toko sendiri menggunakan nama user masing-masing dan memilih template sesuai dengan yang telah disediakan, dan system otomatis membuat nama subdomain misal tokotest.nama_domain.com, kendalanya setelah mempraktekan adalah bagaimana kita mengarahkan ke suatu folder yang berisi template toko user yang bersangkutan, contoh tokotest.nama_domain.com, akan mengarah pada folder template toko user itu sendiri, tidak membuka website utama.
opik on 25/02/2010 at 02:11 :
Kang Endang,
Apa yang kang Endang ditanyakan bisa dieksekusi melalui script php/asp/jsp/script yg digunakan.
Sebagai gambaran, kang Endang buat saja 1 buat tabel (database) khusus untuk template web yang tersedia. Sehingga nantinya masing-masing user dapat menyimpan template yang dipilih di tabel user.