Membuat Home Web Server dengan Dynamic DNS
Bagi sebagian orang yang memiliki web pribadi atau berkecimpung di dunia web, web hosting adalah suatu hal yang wajib dimiliki. Apalagi dengan menggunakan jasa web hosting walaupun hanya sebatas shared web hosting, seseorang dapat memiliki keleluasaan mengatur situs web yang dijalankannya. Beberapa di antaranya seperti pengaturan nama domain, subdomain, konfigurasi web server, konfigurasi file, email dan sebagainya. Dan tentu saja semua itu dilakukan dengan menyewa space atau tempat di penyedia layanan hosting web. Bagaimana kalau kita mencoba untuk menggunakan komputer sendiri di rumah untuk membangun web hosting sederhana? Ga ada salahnya untuk dicoba, dan di sini aku akan sedikit memberi tips dan trick cara membangun web hosting / server di rumah alias home web server.
Terdapat beberapa persyaratan untuk menjalankan web server sederhana di rumah Anda sendiri. Beberapanya adalah seperti berikut:
- Internet Service Provider (ISP) dengan private public IP (non-shared). Umumnya provider yang menyediakan IP public seperti ini adalah provider broadband di mana IP yang digunakan tidak dibagi-bagi dengan pengguna lainnya, entah apakah IP itu dynamic atau static (akan lebih bagus kalau static sehingga setiap kali terkoneksi, IP nya tidak akan berubah). Sedangkan provider dial-up umumnya menggunakan satu IP untuk beberapa komputer yang terkoneksi ke internet sehingga tidak akan memungkinkan pembangunan web server. Pada contoh di sini aku menggunakan paket Speedy sebagai providernya yang menggunakan Dynamic IP.
- Modem atau router. Umumnya menggunakan modem yang hanya menuju ke satu client tidak memerlukan konfigurasi yang berarti, akan tetapi bila menggunakan router wireless seperti yang aku lakukan, maka Anda akan sedikit harus mengatur konfigurasi router seperti Port Forwarding atau membuka firewall di modem atau router. Pada contoh di sini, aku menggunakan modem Linksys WAG200G.
- Server. Tidak harus menggunakan server IBM atau HP yang berbasis Xeon atau Opteron yang harganya selangit. Bahkan komputer atau laptop biasa yang terknoneksi dengan modem dan ISP yang aku sebut di atas juga bisa dipakai sebagai web-server. Aku sendiri menggunakan laptopku yang terkoneksi dengan WiFi ke modem Linksys di atas. Operating system di server bisa berupa Windows, Linux atau sebagainya.
- Software seperti Apache webserver dan software-software pendukung lainnya seperti PHP, MySQL, dan sebagainya.
- Domain name. Agak sulit menerapkan secara langsung agar sebuah domain dapat menunjuk ke sebuah alamat IP untuk server sederhana seperti ini apalagi menggunakan Dynamic IP. Solusinya adalah dengan menggunakan layanan DynDNS.com yang akan mengubah sebuah nama domain (lebih tepatnya subdomain) untuk menunjuk ke IP server Anda. Mengenai ini akan dijelaskan di bawah.
- Pengatahuan dasar mengenai networking, seperti cara mengatur IP address sesuai sistem operasi masing-masing, cara mengatur modem atau router, dan beberapa istilah networking (istilah-istilah yang belum dimengerti dapat dicari di internet).
Perhatian! Dengan mencoba membuat home web server ini, berarti Anda akan membuka kemungkinan komputer Anda diakses oleh orang lain dari luar (remote). Harap memperhatikan software-software keamanan seperti firewall dan antivirus agar selalu aktif dan selalu terupdate sebelum membuka web server Anda untuk diakses dari luar.
Di atas adalah diagram yang kurang lebih menunjukkan skema bagaimana pengaturan IP address dari router, ISP dan sebagainya di rumahku. Pada diagram di atas, aku ambil saja contoh bahwa aku mendapat IP address 125.160.110.60 dari ISP yang aku gunakan dan IP ini adalah dynamic, yang berarti akan berubah ketika aku melakukan koneksi ulang ke ISP tersebut. Gateway dari router yang aku gunakan diatur untuk menggunakan IP address 192.168.1.1. Sedangkan laptop yang aku gunakan sebagai home web server diatur secara manual (tanpa DHCP) untuk menggunakan IP address 192.168.1.110, sedangkan IP address dari PC di sebelah kanan diatur secara otomatis oleh modem.
Untuk mengetahui IP address yang di-assign oleh ISP Anda, coba untuk mengakses bagian status dari modem Anda yang umumnya dapat ditemukan dengan membuka alamat http://192.168.1.1/ dari browser yang biasa Anda pakai, atau gunakan layanan-layanan untuk mendeteksi IP di internet.
Setelah mengetahui IP yang di-assign oleh ISP Anda, sekarang saatnya untuk mematikan firewall untuk port yang umumnya dipakai untuk protokol HTTP yaitu port 80. Untuk pengguna Windows (aku hanya mencoba untuk Windows XP), bisa dilakukan melalui Control Panel > Windows Firewall. Kemudian ke tab Exception dan pilih tombol “Add port…”, masukkan name “HTTP” atau yang lainnya, masukkan port number 80 dan pilih sebagai protokolnya TCP, kemudian tekan OK. Maka dengan mencentang bagian HTTP, port komputer Anda akan terbuka untuk diakses oleh komputer lain. Bila suatu kali nanti ingin mematikan lagi akses ke port tersebut, cukup menghilangkan centangnya saja. Untuk Linux (khususnya yang menggunakan Ubuntu), bila masih fresh dan belum terinstall firewall, tidak perlu melakukan konfigurasi sama sekali. Sedangkan bila menggunakan program firewall lainnya, coba untuk mencari terlebih dahulu cara memberi exception atau memberi hak akses untuk port 80.
Sekarang nyalakan program web server dan program-program pendukung lainnya seperti PHP atau MySQL dan sebagainya.
Bila Anda hanya memakai modem biasa, Anda bisa coba untuk mengetikkan IP address yang didapatkan dari ISP ke dalam browser Anda. Kalau memang tidak ada konfigurasi lain yang diperlukan, maka secara otomatis akan tampil halaman web yang terdapat di home web server. Dan secara ga langsung, berarti modem yang Anda pakai ga terlalu aman karena ga ada fasilitas firewall dan orang lain bisa saja mengakses komputer / server Anda secara langsung, serta rentan terhadap tindakan-tindakan berbahaya seperti cracking dan hacking. Tapi bila setelah dicoba untuk mengakses melalui web browser menggunakan IP address dari ISP Anda ternyata tidak menampilkan apapun, ada kemungkinan bahwa apa yang Anda lakukan masih terhalang oleh konfigurasi router atau modem, salah satunya port forwarding.
Sekarang bagian yang agak sulit adalah port forwarding. Bila Anda memakai router seperti saya yang bisa menghubungkan banyak clients dan mengaktifkan DHCP server pada router Anda, maka yang harus Anda lakukan adalah meng-assign / mengatur IP secara manual di server yang Anda pakai. Kenapa? Karena DHCP membuat IP yang diassign bisa berbeda-beda tergantung jumlah client yang terkoneksi ke router tersebut. Di contoh di atas, aku meng-assign IP address 192.168.1.110 untuk laptopku yang aku pakai sebagai home web server. Selain itu umumnya port forwarding mengharuskan digunakannya IP address yang sama (kecuali ada router / modem yang secara otomatis bisa mendeteksi yang mana laptopku kalau sewaktu-waktu aku mengubah IP nya).
Untuk mengatur port forwarding di router atau modem, login ke router Anda (umumnya menggunakan web browser dan mengetik 192.168.1.1 di address bar nya). Kemudian cari bagian port forwarding, dan masukkan beberapa parameter seperti di bawah ini dalam satu set field port yang akan di forward. Berhubung saya menggunakan Linksys WAG200G, maka field yang seperti di bawah yang nampak, tapi bila menggunakan router / modem lain mungkin bisa berbeda.
- Name / Application: HTTP (bagian ini tidak terlalu berpengaruh, hanya deskripsi saja umumnya)
- IP address : 192.168.1.110
- Internal port: 80
- External port: 80
- Protocol: TCP
- Enabled: Yes / Centang
Sekarang seperti sebelumnya, buka browser Anda, ketik IP address yang di-assign dari ISP ke gateway / router / modem, lihat hasilnya. Bila tampilan sudah tampak seperti ketika Anda mengetik localhost di address bar, maka bisa dikatakan langkah-langkah yang Anda gunakan telah berhasil. Bila belum, maka kemungkinan masih terdapat beberapa hal yang membuat web server tidak bisa diakses, umumnya karena masalah firewall di server, router, atau modem. Oleh sebab itu, bila menemukan masalah seperti ini, silahkan dicoba-coba, atau ditanyakan di bawah.
Lalu kalau sudah berhasil bagaimana? Apakah cukup di sini? Tidak! Bagi sebagian orang, menghafal IP address, apalagi yang dynamic alias berubah-ubah cukup sulit dan merepotkan. Kita akan mencoba menggunakan Dynamic DNS (Domain Name Service) yang berguna mentranslasikan / mengubah sebuah alamat domain (seperti www.example.com) menjadi IP address Anda. Penyedia layanan untuk Dynamic DNS yang banyak digunakan adalah DynDNS.org dan tzo.com.
DynDNS.org menyediakan layanan secara gratis, akan tetapi tzo.com mengharuskan user membayar, sehingga aku lebih menyarankan DynDNS.org. Buat account di DynDNS.org, kemudian pilih “Add Host Service”, dan isi sesuai yang di bawah ini:
- Hostname: pilih subdomain dan domain yang akan Anda gunakan untuk menunjuk ke IP Anda.
- Wildcard: boleh Anda centang atau tidak. Bila dicentang, maka bila terdapat sub-subdomain dari hostname yang Anda isi, maka akan otomatis tetap diarahkan ke IP Anda.
- Service Type: Host with IP address
- IP Address: Isi dengan IP address Anda. Atau pilih saja “Use auto detected IP address” yang akan membuat field tersebut diisi otomatis.
- Mail routing: tidak perlu dicentang kecuali Anda memerlukan fasilitas email untuk hostname tersebut (yang berarti tidak termasuk di penjelasan ini).
Setelah semua field diisi, pilih Create Hosts dan setujui “pembelian” seharga $0 tersebut, maka hostname tersebut akan menjadi “milik” IP Anda. Umumnya, beberapa router sudah menyediakan fasilitas untuk meng-assign domain name secara otomatis. Oleh karenanya, Anda juga harus mengatahui terlebih dahulu seluk beluk router / modem Anda dengan mencari kategori menu DDNS atau DNS di sana. Bila menggunakan Linksys WAG200G, maka menu ini dapat diakses melalui bagian Setup > DDNS. Pilih DynDNS.org untuk DDNS Service, isi username dan password yang Anda buat di account DynDNS.org, isi hostname yang sudah Anda pesan sebelumnya, dan klik connect. Setelah itu bila terdapat status “Connected successfully”, berarti semua berjalan dengan lancar, dan ketika modem / router Anda melakukan koneksi ulang ke ISP, secara otomatis IP yang baru akan diarahkan menggunakan hostname tersebut tanpa harus membuka situs dyndns.org tersebut lagi. Bila router / modem Anda tidak menyediakan layanan seperti di atas, maka Anda harus mengunjungi situs tersebut setiap kali Anda ingin mengubah IP address-nya.
Sekian panduan untuk membuat home web server menggunakan DDNS. Bila terdapat pertanyaan, saran atau perbaikan, silahkan bisa disampaikan melalui bagian komentar. Bila ingin menyadur atau meng-copy isi dari artikel ini, harap menyertakan link balik ke artikel ini. Semoga artikel ini bisa berguna untuk Anda semua.
Change (22/09/09): Sebelumnya saya menulis bahwa IP address yang didapatkan dari ISP harus private address, dan pernyataan ini merupakan kesalahan penulisan. Yang benar adalah harus mendapatkan IP public dari ISP (non-shared).






October 20th, 2009 at 06:46 •
bosssss….!!!!,,,,brmpaat bngeet article nya…..klo boleh aku mo chttng ma bosss ato mo bljr bikin web server.. ne email aku.tlng di balas ato pake ym pun jadi -emai
>——>> bilymus@yahoo.co.id >——->> ym : syehmenara_ponsel
October 24th, 2009 at 21:11 •
Halo, maaf baru balas sekarang soalnya kemaren-kemaren lagi sibuk. Kalau ada pertanyaan, silahkan komunikasi lewat YM dengan ID digimaster_etersoul aja. Saya akan coba bantu sebisa saya.
Thanks.
October 24th, 2009 at 18:48 •
bang.. gw udah coba daftar ke ddyns.com udah bikin host..
TTL nya gw set 4 jam.
saya pake fasnet. saya denger2 sama temen2 fasnet portnya di batasi.
nah gw udah bisa ping dari luar ke ip host bikinian DDNS nya
tapi kenapa gak bisa akses file didalam webserver dari luar ya .. kayak service FTP.
ini rencananya mau latihan bikin webserver pake ubuntu64 di vmware
emang belum di apa2in sih.. baru bikin ddns doank abis itu mau browse isinya dari luar. firewall semua udah di matiin.
kira2 berhasil gak yah.
thanks bang untuk infonya.
GBU.
October 24th, 2009 at 21:24 •
Halo,
Mengenai Fastnet, memang ada beberapa kejadian teman saya mencoba hal serupa dan mendapatkan port nya diblokir. Kalau Anda memakai port standard (misalnya FTP di 21 dan HTTP di 80) kemungkinan port tersebut diblokir oleh Fastnet, dan Anda mungkin bisa mencoba port lainnya agar service yang ada bisa digunakan. Apakah Anda sudah coba mengganti port yang digunakan dalam FTP Anda (baik di server maupun client)? Kalau misalnya sudah, apakah Anda juga sudah mengecek memakai service lain seperti HTTP dan SSH? Karena dulu saya juga sempat mengalami kendala ketika harus membuat FTP server di mana FTP server tidak dapat diakses, padahal service lainnya seperti HTTP dan SSH tetap bisa digunakan (ini terjadi karena konfigurasi yang salah pada FTP server).
Satu lagi, bila Anda menggunakan VMWare dan berkeinginan supaya orang bisa mengakses service di dalam VMWare tersebut, pastikan dulu koneksi apakah OS yang terinstall di VMWare sudah terkonfigurasi dengan benar (misalnya IP address dan sebagainya) dan yang terpenting minimal OS host sudah bisa melakukan ping ke OS guest (dalam kasus ini Ubuntu64 seperti yang Anda tulis). Saya sendiri ga bisa bantu banyak soal VMWare karena saya tidak pernah memakainya, lebih banyak memakai VirtualBox.
Sebelum Anda mencoba memakai DDNS, ada baiknya dicoba untuk memakai IP Address secara langsung terlebih dulu untuk menentukan host ketika mengkonfigurasi client. Bila melalui IP address sudah bisa diakses, maka umumnya akses melalui domain / subdomain tidak akan bermasalah.
Silahkan coba periksa dulu beberapa hal di atas, dan kalau masih ada pertanyaan lagi, silahkan tanyakan aja di sini.
October 25th, 2009 at 00:37 •
untuk VMware ping dari host OS ke guest sudah bisa .. karena saya set sebagai NAT guest OS nya. saya juga pakai virtual box, tapi lebih nyaman pakai vmware.
nah saya juga sudah mendapatkan info fasnet memblok port dari 0 – 1024, yang pasti port FTP khan masi di range itu juga..
saya mau bertanya gimana caranya merubah port standart nya mas.
kalo di win xp itu setting nya di firewall control panel ya ?
karena setelah saya ceck semua service port yang ada di whatismyip.org semua port yang biasa di pakai untuk keperluan server statusnya semua time out.
ini pasti di blok dari fasnetnya kalau begitu.
tolong di beri pencerahan bagaimana cara mencreate port baru..
apakah di sisi client juga harus di tambahkan definisi nama port jika mau mengakses server saya ini lewat internet explorer dari luar?
contoh nya http://www.ftpserversaya.com:3000
jika port FTPnya saya set jadi 3000.
sekian dan banyak terima kasih.
October 25th, 2009 at 01:30 •
Kalau Anda menggunakan Win XP sebagai server, pada settingan Firewall, ke tab Exception, lalu Add port dan masukkan nama (terserah karena ini cuma buat penamaan) dan nomor port yang ingin Anda buka (misalkan saja 3000), lalu pilih jenis protokol nya TCP atau UDP. Lalu klik Ok, dan Ok sekali lagi di jendela utamanya. Setelah membebaskan port dari firewall, sekarang Anda juga harus mengatur supaya aplikasi menerima koneksi ke wall yang sudah Anda bebaskan itu.
Untuk mengatur port yang digunakan pada FTP server (atau server lainnya), Anda harus mengaturnya dari aplikasi yang ada. Biasa pengaturan port dapat dilakukan pada bagian settings atau configuration, jadi coba dicek dulu bagian tersebut (kalau kesulitan cari saja field yang menampilkan port default-nya 21 untuk FTP).
Di client kalau Anda tidak menggunakan firewall lain yang “strict” maka Anda tidak perlu melakukan konfigurasi apapun karena setiap koneksi keluar otomatis akan diperbolehkan. Bila ternyata muncul pesan bahwa aplikasi Anda (FTP client) ingin membuka koneksi keluar, maka biasanya cukup di-allow saja. Lalu pada aplikasi yang Anda pakai (FTP client), Anda harus mengisi host dan port yang sesuai dengan yang sudah Anda ubah di server. Kalau sesuai deskripsi Anda maka host nya adalah ftpserversaya.com, sedangkan port nya diisi 3000. Anda tidak memerlukan lagi identifier untuk protokolnya yaitu http:// dan www bila mengisi setting host. Bila Anda ingin mengaksesnya dari web browser, http:// bisa diganti dengan ftp://.
Jangan lupa juga untuk mengubah port forwarding bila Anda memakai router dan juga membuka firewall yang terdapat di modem bila ada.
November 9th, 2009 at 08:57 •
Cuma mau ngasih tau aja…
Mas,klo bisa Password modemnya mas diganti karena pas sy buka http://125.160.110.60/ (IP public yg tadi diterangkan dlm tutorial) lewat browser passwordnya masih default.
klo masih belum dirubah ntar bisa2 ada orang yang iseng ganti settingan modemnya.
cuma itu aja koq yang sy mau sampaikan.
Thanks.
November 9th, 2009 at 09:29 •
Wah, makasi udah dikasi tau. Tapi sayangnya itu bukan IP saya karena IP yang di-assign ISP ke saya bersifat dynamic, alias ganti tiap kali saya connect modem ke internet. Dan juga saya ga mengaktifkan remote configuration sehingga modem saya ga bisa dikonfigurasi dari jaringan luar. IP yang saya pakai itu hanya sebagai contoh, dan mungkin kebetulan IP itu sedang dipakai orang lain yang kebetulan juga belum mengganti password modem dan sebagainya. Tapi berhubung saya yakin orang tersebut juga mendapat IP tersebut secara dynamic, maka mungkin saja suatu waktu IP tersebut bisa berubah.
November 28th, 2009 at 02:02 •
halo digimaster..artikelnya keren bgt dah.
dan ak jg sdh berhasil bikin web server dengan IIS windows.
nah skg ak bingung yg bagian DNS nya.
skg ini ak pake spidi unlimited, jd ip nya static kan?
nah abis ak daftar ke dynDNS, yg redirect ke ip public ku, jadinya gini:
http://www.company.com diredirect ke 125.166.22.30:3421/comp
- di browser address bar ak nulis http://www.company.com
- abis page home kebuka, address bar nya jadi ip public ku : 125.166.22.30:3421
Nah abis gt kan ada option cloak this page, jadinya gini
- pertama ak ketik http://www.company.com, trs page kebuka.
- abis gt ngga peduli ak klik halaman yg mana pun dari websiteku, address barnya ngga pnh berubah, jd tetap yg http://www.company.com itu.
gmn caranya biar address barnya berubah tiap ak ganti page? jadi ganti2 login.aspx, home.aspx, master.aspx, dll
pls reply.
November 28th, 2009 at 02:23 •
Hallo,
Setelah aku baca help yang ada di DynDNS.com, fungsi cloak this page memang khusus buat menyembunyikan alamat page asli dari tampilan di address bar browser. Caranya adalah dengan menempatkan frame satu layar penuh sehingga ketika terjadi perubahan atau perpindahan page, yang berubah adalah alamat dari frame tersebut, sedangkan alamat global tidak terpengaruh.
Kalau Anda memang mau supaya tidak terjadi hal seperti ini, ada 2 pilihan cara.
- Hapus tanda cloak this page di DynDNS
- Beri attribute
target="_top"pada tag <a></a> sehingga halaman yang ada langsung di load secara global, bukan hanya frame saja.January 22nd, 2010 at 14:25 •
mas ,,, saya mau add ym nya untuk bertanya lebih lanjut mengenai membuat home web server ,,,
saya masih mempelajari semua artikel yang ada disini,
February 13th, 2010 at 01:15 •
good !. makasih atas infonya
March 2nd, 2010 at 23:44 •
mas saya mau bertanya nih??
saya mau mencoba membuat server sendiri via dial up modem xl unlimited, saya tau klo ipnya dinamis ,cara saya mengatasi nya dengan ddns dari dyndns.com ato no-ip.com.
install xampp sudah saya lakukan,
yang ingin saya tanyakan bagai mana supaya ip public kita dapat diakses oleh orang lain dan webroot kita?
yang jadi permasalahannya , kalau default ip locahost saya :127.0.0.1 saat saya test bisa, ip private saya : 10.234.xxx.xxx , saat saya test browse juga bisa, nah kalau ip public saya : 202.152.240.199 nggak bisa mas mengakses server yang yang ada diwebroot saya (Xampp) ,………. gimana ya mas , mohon bantuannya?
March 3rd, 2010 at 00:43 •
Halo,
Saya sendiri kurang yakin apakah modem dari jaringan mobile bisa digunakan untuk membangun server pribadi, selain karena belum pernah mencobanya, hal ini juga karena seharusnya untuk membangun diperlukan jaringan yang fixed. Perlu diketahui, bahwa beberapa operator internet / ISP memblokir akses incoming pada port tertentu, dan tidak tertutup kemungkinan juga menutup seluruh akses incoming. Bila hal ini memang terjadi pada ISP yang Anda pakai (XL) berarti Anda tidak akan memiliki kesempatan untuk membangun server Anda sendiri.
Untuk IP private biasa memang bisa diakses dengan mudah oleh pengguna lainnya dalam satu jaringan yang sama, sedangkan untuk IP public tergantung dari ISP dan konfigurasi di server Anda. Seperti saya tulis di atas, mungkin adanya pemblokiran untuk incoming connection, atau Anda belum membuka firewall server Anda untuk port 80 (bila dipakai untuk web server), atau justru Anda belum melakukan forwarding dari modem / router ke server Anda yang ada di dalam jaringan.
Untuk saat ini, coba dulu untuk mengecek 3 hal di atas.
March 6th, 2010 at 22:06 •
terima kasih, atas informasinya… dan saya akan coba melakukannya