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 IP (non-shared). Umumnya provider yang menyediakan IP private 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.
IP diagram for home web server
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.
Referensi : (http://etersoul.com/2009/04/22/membuat-home-web-server-dengan-dynamic-dns)