MEMBANGUN BISNIS WEB HOSTING MENGUNAKAN SERVER LINUX SLACKWARE 12.1
IMAN HADI WIBOWO Jurusan Sistem Informasi, Ilmu Komputer Universitas Gunadarma Jl. Margonda Raya, 100, Pondok Cina, Depok E-Mail :
[email protected]
ABSTRAK Perkembangan bisnis webhosting di Indonesia semakin pesat dan menjanjikan, seiring dengan berkembangnya teknologi dan penggunaan internet. Perkembangan ini tentunya diikuti dengan semakin banyaknya perusahaan yang bersaing dalam industri hosting. Webhosting adalah salah satu bentuk layanan jasa penyewaan tempat di internet yang memungkinkan perorangan ataupun organisasi menampilkan suatu halaman web di Internet. Pada saat membicarakan sebuah web, maka tidak akan terlepas dengan masalah hosting. Dalam pemilihan sebuah hosting juga sangat menjadi faktor yang kritikal terutama untuk perusahaan bisnis atau institusi yang menjadi web sites sebagai media update informasinya. Pada saat website sudah selesai dibuat dan supaya web tersebut dapat dilihat oleh semua orang di Internet maka dibutuhkan suatu sistem yang biasa disebut dengan Web Server. Dengan pemanfaatan sistem operasi Linux Slackware 12.1 dengan software-software yang terdapat didalamnya, kita dapat membuat webhosting sendiri dengan fasilitas yang sama seperti perusahan webhosting yang menyediakan layanan webhosting. Penulis menggunakan jaringan lokal sebagai uji coba dalam pembuatan webhosting ini. Kata kunci : WebHosting, Web Server, Dns Server, Mail Server, Ftp Server, SSH Server, Linux Slackware. PENDAHULUAN Latar Belakang Pertumbuhan jumlah perusahan yang memberikan layanan webhosting dari tahun ke tahun semakin meningkat, indikatornyaa bisa dilihat di google, jika beberapa tahun yang lalu bila ingin mencari dengan kata kunci "Perusahan Indonesia penyedia layanan
webhosting" maka akan mendapat jawaban tidak lebih dari 100 entry, dari angka tersebut, sekitar 15% menunjukan jumlah perusahaan penyedia layanan webhosting. Banyaknya iklan-iklan yang menawarkan jasa webhosting dengan harga murah, contohnya Rp. 30.000 per bulan untuk space yang sudah cukup besar yaitu 100Mb. Dengan harga semurah itu biasanya akan
menemukan beberapa batasan fitur, seperti account email yang terbatas, tidak mendukung databases, tidak ada scripts preinstall website dan lainnya. Bisnis webhosting, tidak jauh berbeda dengan bisnis real estate, misalnya apartemen. Dalam bisnis webhosting, penyewa identik dengan pengguna apartemen. Keduanya bersifat hak guna, bukan hak milik. Dan tentu, keduanya membutuhkan maintenance atau perawatan serta upgrade jika diperlukan. Hanya saja, bisnis webhosting jauh lebih murah, jauh lebih luas pangsanya dan jelas, lebih menguntungkan dari sisi persentase keuntungan. Tak heran, jika tren bisnis webhosting semakin merajalela seiring dengan tingginya pengguna internet aktif di Indonesia. Penggunaan teknologi Linux sebagai sistem operasi server sudah tidak diragukan lagi. Itu terbukti dengan semakin meluasnya pemakain Linux di perusahaan penyedia jasa yang berhubungan dengan internet, seperti webhosting dan ISP (Internet Service Provider). Dari latar belakang masalah ini, penulis memanfaatkan penggunaan teknologi sistem operasi Linux untuk membangun bisnis webhosting, karena pada sistem operasi Linux terdapat aplikasi yang digunakan untuk membangun server internet, seperti : DNS Server, FTP Server, Web Server, Mail Server, SSH Server. Rumusan Masalah Batasan masalah dalam penulisan ini adalah aplikasi-aplikasi yang digunakan dalam membangun bisnis webhosting, yaitu web server, dns server, ftp server, ssh server, dan mail server. Selain itu, penulis juga
memberikan batasan masalah pada konfigurasi dan sistem operasi Linux distro Slackware 12.1. Tujuan Penulisan Membangun webhosting sendiri tanpa harus hosting ke penyedia hosting yang ada di Internet dengan memanfaatkan sistem operasi Linux sebagai penyedia layanan webhosting (DNS Server, Web Server, FTP Server, SSH Server, Mail Server). TINJAUAN PUSTAKA Webhosting Web hosting adalah salah satu bentuk layanan jasa penyewaan tempat di internet yang memungkinkan perorangan ataupun organisasi menampilkan layanan jasa atau produknya di web / situs internet. Ada tiga tipe layanan utama dalam hosting yaitu : [5] • Shered Hosting : Layanan hosting yang diberikan dengan meletakan file-file pelanggan dalam satu server bersama dengan pelanggan lainnya. Cara ini memang lebih hemat dalam investasi awal, akan tetapi menjadi masalah pada saat situs pelanggan menjadi semakin besar serta semakin banyak pengaksesnya. • Dedicated Hosting : Salah satu tipe dari layanan hosting yang memberikan kesempatan kepada pelanggan untuk meletakkan file-file situsnya pada sebuah server yang khusus disewakan kepada pelanggan oleh penyelenggara jasa layanan. Dengan cara ini maka pengisi data akan
•
mempunyai keleluasaan dalam mengembangkan muatan maupun aplikasi pada servernnya dan dijamin unjuk kerjanya akan tetap baik. Mekanisme ini kemungkinan cocok untuk perusahaan kecil dan menengah yang tidak memiliki staff khusus untuk mengelola situs dan servernya. Co-location : Penempatan beberapa alat pada suatu daerah yang sama. Seperti menginstall dan merawat sebuah komputer di sebuah Internet Service Provider (ISP) yang dimiliki oleh sebuah perusahaan atau group. Sebagai contoh, suatu perusahaan ingin melakukan colocation salah satu dari servernya di ISP dalam rangka penghematan, atau untuk mempermudah akses secara luas.
Siapa yang membutuhkan Web Hosting Setiap orang ataupun perusahaan dapat menyewa tempat atau memanfaatkan jasa webhosting ini, didukung dengan kemajuan teknologi informasi yang ada saat ini maka pemanfaatkan jasa web hosting merupakan alternatif yang handal untuk melakukan promosi, penyebaran informasi, berjualan, serta layanan publik. Mengapa perlu WebHosting Kecepatan menyebarkan informasi tentang jasa, produk, layanan publik dan lainya merupakan tolok ukur keberasilan bisnis perorangan atau perusahaan. Contoh pertama : di Indonesia dengan sekitar 100 juta pengguna telepon genggam
yang tentu saja dapat tersambung ke internet melalui gprs, tidak ada alasan lagi untuk tidak tersambung ke dunia maya, bahkan di daerah terpecil sekalipu. Contoh kedua : seorang mahasiswa kedokteran, dengan dana yang terbatas, untuk mengantisipasi membeli buku kuliah kedokteran yang harganya bisa mencapai jutaan rupiah, dapat dengan mudah memperoleh informasi ilmu pengetahuan dan teknologi melalui situs web, dan ini menjadi tanggung jawab penyelenggara pendidikan untuk menyediakan layanan web site guna memajukan pendidikan. Bahkan sebaiknya dosen memiliki website. Teknologi yang digunakan Salah satu teknologi yang digunakan adalah fail over hosting, teknologi ini memungkinkan layanan tetap online 24 jam karena didukung oleh beberapa server komputer yang secara otomatis akan menggantikan tugas server komputer yang mengalami kerusakan. Mengenal Linux Linux adalah sebuah program open source yang gratis di bawah GNU, sistem operasi 32-64 bit, yang merupakan turunan dari Unix dan dapat dijalankan pada berbagai macam platform perangkat keras dari Intel X86, hingga prosesor RICS. Linux sebagai program open source yang gratis salah satu yang membuat linux terkenal adalah karena gratis. Dengan lisensi GNU (Gnu Not Unix) anda memperoleh program, lengkap dengan kode sumbernya (source code). Tidak hanya itu, anda diberikan hak untuk mengkopi sebanyak anda mau, atau bahkan mengubah kode sumbernya. Dan itu
semua legal dibawah lisensi. Meskipun gratis, lisensi GNU memperbolehkan pihak yang ingin menarik biaya untuk penggandaan maupun pengiriman program. ANALISIS DAN PERANCANGAN Analisis WebHosting Webhosting adalah peletakan data situs pada sebuah server yang terkoneksi dengan jaringan Internet yang selanjutnya membuat situs web akan bisa di akses di Internet.
Terlihat bagaimana seorang user di Internet melakukan browsing akses ke suatu layanan di web server, pada saat komputer melakukan request ke server tersebut dengan mengetikan suatu penamanan domain di browser, lalu browser meneruskan permintaan tersebut ke jaringan. Mesin DNS local melakukan tugasnya dengan mempresentasikan penamaan domain ke alamat IP Address tertentu dan dikembalikan ke komputer sumber. Selanjutnya request dari browser tersebut dibungkus oleh oleh protocol tertentu (HTTP) dan dibawa oleh protocol TCP untuk melakukan handshake ke server tujuan. Dalam membangun webhosting aplikasi utama yang digunakan adalah Web Server. Penulis, menggunakan Apache
sebagai Web Server dalam membangun webhosting. Pemilihan Apache sebagai web server dikarenakan terdapat fitur yang berguna untuk menampung 250 data situs. Fitur tersebut dinamakan VirtualHost. Dengan memanfaatkan VirtualHost tersebut server yang akan digunakan untuk webhosting hanya membutuhkan satu IP publik. Dengan kata lain satu IP publik dapat menampung maksimal 250 data situs. Webhosting identik dengan pembagian space / ruang untuk menyimpan data situs. Aplikasi yang digunakan penulis dalam pembagian space adalah diskquota bawanan dari Linux yang dapat dikonfigurasikan berdasarkan user ataupun group. Penulis menggunakan konfigurasi berdasarkan group dikarenakan lebih mudah dan efektif. Pada saat penulis membuat suatu group dengan quota 100Mb maka setiap user yang dimasukan kedalam group tersebut akan mendapatkan space yang sama dengan group tersebut. Pemanfaatan Linux sebagai sistem operasi multiuser. Artinya Linux dapat digunakan oleh banyak user dan setiap user memiliki hak akses tertentu. User yang ingin menggunakan Linux harus mengetikan username dan password. Apabila username dan password yang diketikan benar, maka user akan diizinkan memasuki sistem linux dan menempati masing-masing home direktorinya. Home direktori ini dapat dianalogikan seperti kamar-kamar dalam sebuah rumah. Setiap user akan mendapat jatah kamar masingmasing dan tidak menggunakan kamar orang lain. Administrator memegang peranan penting dalam mengatur user-user ini. Sebagai
contoh : adminstrator mendaftarkan user imanhadi dengan password 12345 dan menempatkan pada group personal yang sudah dikonfugurasikanp mendapat space sebesar 100Mb, maka secara otomatis user tersebut akan diterbentuk pada direktori /home/personal/imanhadi. Perancangan Webhosting Perancangan webhosting dimulai dengan kebutuhan hardware dan software yang digunakan, proses instalasi Linux Slackware 12.1, konfigurasi network, pembuatan DNS Server, Web Server, FTP Server, SSH Server, Mail Server, sehingga dapat berjalan dengan fungsinya. Kebutuhan Hardware Untuk membangun sebuah server yang digunakan untuk webhosting diperlukan spesifikasi hardware yang cukup tinggi. Alasan digunakannya spesifikasi hardware yang tinggi karena server webhosting akan digunakan untuk melayani ratusan pelanggan yang telah menitipkan websitenya ke server webhosting. Kinerja server harus stabil itu dikarenakan server harus online selama 24 jam non stop. Spesifikasi minimum yang dianjurkan untuk membangun server web yaitu menggunakan komputer pentium 4 3GHZ, dengan memori 1GB, harddisk 80 GB, dan sistem operasi Linux. Kebutuhan Software Setelah penulis menentukan berbagai kebutuhan hardware untuk mendukung server, kebutuhan lainnya yang sangat penting adalah perangkat lunak atau software untuk mendukung berjalannya server-server
tersebut. Software dan paket-paket yang dibutuhkan adalah sebagai berikut : • Sistem Operasi Linux Slackware 12.1 Sistem operasi ini dibutuhkan karena penulis akan melakukan pembuatan webhosting pada sistem operasi Slackware 12.1. • Bind Merupakan suatu paket yang digunakan dalam pembuatan DNS server. Secara default paket ini sudah terinstal dalam sistem operasi linux. Penulis menggunakan bind-9-4.2-i486-2. • Apache Web Server Merupakan suatu paket utama dalam membangun Web Server. Secara default paket ini sudah terinstal dalam sistem operasi Linux. Penulis menggunakan Apache 2.2.8. • Sendmail Sendmail merupakan paket utama dalam membangun mail server. Sercara default paket ini sudah terinstal dalam sitem opersi linux Slackware. • Vsftp Merupkan paket yang digunakan dalam membangun server FTP. Penulis menggunakan program ini karena dianggap lebih aman dalam mentransfer data. • Mysql Merupakan paket database server yang digunakan untuk menyediakan paket pengelolahan database dalam server. Penulis menggunakan MySql 4.2.1 • PHP Merupakan bahasa pemrograman yang digunakan untuk membuat web. Penulis menggunakan PHP 5.
•
•
•
PHP MyAdmin Merupakan paket yang digunakan untuk mengelolah database yang terintegrasi dengan webbase. Penulis menggunakan phpMyAdmin 3.1.4. Squierllmail Merupakan paket yang digunakan untuk mengelola mail menggunkan tampilan webbase. Penulis menggunakan Squierllmail versi 1.4.17. Vmware Workstation Merupakan virtual mesin yang digunakan penulis untuk melakukan simulasi terhadap server Linux.
DNS SERVER Fungsi utama DNS adalah menterjemahkan alamat IP menjadi suatu nama domain sehingga nama tersebut mudah untuk diingat dibandingkan harus mengingat alamat IP dari domain tersebut. Berikut adalah konfigurasi DNS yang akan digunakan untuk pembuatan DNS Server pada suatu jaringan. Dalam penulisan ini penulis menggunakan 2 server DNS yaitu NS1 sebagai master DNS dan NS2 sebagai secondary DNS. Software implementasi DNS yang digunakan pada penulisan ini adalah bind-9-4.2i486-2. Selanjutnya yang akan dilakukan adalah proses konfigurasi DNS dengan langkah-langkah sebagai berikut : •
Konfigurasi File named.conf
File named.conf yang merupakan file utama dan yang pertama kali diload oleh sistem bind. Langkah pertama yang harus dilakukan adalah memberikan
perintah vi /etc/named.conf pada shell, kemudian akan terlihat seperti gambar dibawah ini :
Beberapa perubahan akan dilakukan pada file named.conf dengan menggunakan editor vi, penulis akan menjelaskan tentang pembuatan primary name server dan juga akan menjelaskan tentang pembuatan secondary name server sebagai backup apabila primary name server mengalami down. WEB SERVER Jika DNS Server telah berjalan, maka yang dilakukan berikutnya adalah proses pembuatan web server, langkah-langkah yang akan dilakukan adalah sebagai berikkut : • Konfigurasi File httpd.conf Untuk melakukan konfigurasi web server yang pertama kali harus dilakukan adalah melakukan konfigurasi file httpd.conf yang terletak pada direktori etc. Untuk lebih jelasnya diketikan perintah vi /etc/http/httpd.conf untuk melakukan konfigurasi file httpd.conf dengan menggunakan editor vi. Pada file httpd.conf tersebut akan dicari tulisan yang mengandung kata-
kata yang akan dikonfigurasi seperti ServerName, DocumentRoot, DirektoryIndex, dan VirtualHost. Yang pertama akan dikonfigurasi adalah ServerName. Untuk mencari baris yang mengandung kata ServerName akan menggunakan keunggulan dari editor vi yaitu dengan menggunakan mode command lalu mengetikan "/" yang di ikuti kata yang dicari. Untuk menemukan kata ServerName maka diketikan /ServerName. Setelah ditemukan tulisan ServerName, kemudian hapus tanda # dan mengetikan ServerName www.linuxhosting.com:80. 80 menerangkan bahwa port yang digunakan untuk web server adalah port 80. #ServerName www.example.com:80 ServerName www.linuxhosting.com:80
Baris yang dikonfigurasi selanjutnya adalah DirectoryIndex dengan menetikan DirectoryIndex dan menambahkan index.php agar semua file-file berekstensi php dapat digunakan.
Pada tahap ini konfigurasi dapat dikatakan selesai. Untuk mencoba web server ini dibuat sebuah file dengan tipe php untuk menampilkan sebuah halaman info di Linux. Untuk membuat file tersebut menggunakan perintah vi /srv/www/htdocs/index.php lalu pada editor vi dapat mengetikan perintah php untuk menampilkan halaman php info kemudian simpan dan keluar. phpinfo(); ?>
Kemudian untuk mencoba web server yang telah dibuat, tapi sebelumnya harus merestart terlebih dahulu service httpd dengan menggunakan perintah dibawah ini : # /etc/rc.d/rc.httpd restart
Untuk mencoba buka aplikasi mozilla firefox dan mengetikan alamat domain yang telah dibuat yaitu www.linuxhosting.com, maka akan mendapatkan tampilan berikut ini :
DirectoryIndex index.html index.htm index.php
Kemudian selanjutnya akan dikonfigurasi baris virtualhost, user directory dari masing-masing user, serta module php. #Virtual hosts Include /etc/http/extra/httpdvhosts.conf #User directory Include /etc/http/extra/httpduserdir.conf #module_php Include /etc/httpd/mod_php.conf
FTP SERVER FTP atau File Transfer Protocol merupakan service yang digunakan untuk keperluan transfer file. Dengan memanfaatkan service FTP, user dapat mengirim (upload) file ke server dan dapat mengambil (download) file dari server. Seperti
halnya telnet, service FTP dianggap kurang secure karena data yang dikirim tidak dienkripsi. Dalam membangun sebuah server FTP ini penulis menggunakan aplikasi vsftpd. Aplikasi ini sudah terdapat dalam instalasi linux Slackware 12.1. Ada dua jenis Server FTP, yaitu : • Anonymous atau public FTP server Server FTP jenis ini dapat diakses oleh sembarang user, menggunakan login ftp atau anonymous. Public FTP server banyak digunakan untuk keperluan sharing atau dowload file-file yang bersift free atau open source. User yang teleh masuk kedalam FTP server dapat menjumpai file-file yang boleh didownload biasanya di dalam direktori /pub. Padahal direktori ini sebenarnya adalah direktori /home/ftp/pub. • Non anonymous FTP server Server jenis ini hanya dapat diakses oleh user yang sudah memiliki login dan password. Secara teori, semua user yang bisa login ke server SSH pasti bisa login ke server FTP. Setelah login, user akan menempati home direktorinya masing-masing. User juga boleh melakukan download atau upload file. Hal-hal yang perlu diperhatikan dalam membangun FTP server pada linux Slackware 12.1 adalah sebagai berikut : • Mengedit file inetd.conf yang terletak pada /etc/inetd.conf #ftp stream tcp nowait root /usr/sbin/tcpd vsftpd
Hapus simbol # dan edit menjadi ftp stream tcp nowait root /usr/sbin/tcpd vsftpd •
•
Keluar dari editor vi dan simpan konfigurasi. Restart service inetd #/etc/rc.d/rc.inetd restart
SSH SERVER Server SSH menyediakan service untuk keperluan remote login. Ide remote login dari client ke server SSH via jaringan. User cukup menggunakan aplikasi client SSH seperti : ssh, putty, dan sebagainya. SSH merupakan salah satu pengganti telnet dan rlogin yang dianggap kurang secure. Kedua service tersebut sidaj sangat populer, namun informasi yang lalu-lalang antara client dan server tidak "terlindungi" karena tidak di-enkripsi. Hal ini, menyebabkan informasi mudah disadap dan dibaca oleh orang yang tidak berhak. SSH dapat menutupi kekurangan tersebut dengan menerapkan enkripsi berdasarkan algoritma DSA dan RSA. Sehingga data (termasuk login password) yang dikirim akan lebih terjamin kerahasiannya. Penulis menggunakan aplikasi SSH default dari instalasi linux Slackware 12.1. Untuk mengaktifkan server SSH penulis menggunakan perintah berikut ini : #/etc/rc.d/rc.sshd start
Kemudian melakukan tes koneksi ke server dari salah satu komputer client dengan menggunakan perintah : #ssh www.linuxhosting.com –l root
Perintah diatas untuk melakukan remote login ke server
www.linuxhosting.com menggunakan login root. Jika koneksi dapat dilakukan, akan tampak sebagai berikut : The authenticity of host 'www.linuxhosting.com (172.16.0.1)' can't be established RSA key fingerprint is 3d:ef:82:ef:7d:e4:9d:dc:62:97: ac:c4:3a:13:b8:ff. Are you sure want to continue connecting (yes/no)? Yes Warning: Permanently added 'www.linuxhosting.com,172.16.0 .1' (RSA) to the list of known hosts.
[email protected]'s password
Jika password yang diketikan benar maka kita dapat login ke server SSH. Untuk keluar dari server SSH dan mengakhiri koneksi, ketikan : exit
Slackware 12.1 telah menyiapkan segala sesuatunya sehingga akan membantu siapa saja yang ingin membangun server SSH dengan cepat dan mudah. MAIL SERVER Slackware 12.1 telah menyertakan aplikasi untuk membangun server e-mail. Ada beberapa aplikasi yang disertakan. Untuk membangun server e-mail penulis menggunakan Sendmail. Selama bertahun-tahun Sendmail telah menjadi standar di lingkungan UNIX dan Linux. • Konfigurasi Sendmail Langkah pertama, memastikan bahwa paket sendmail sudah terinstal di komputer server. Setelah itu, mengubah konfigurasi Sendmail supaya setiap host dalam jaringan bisa saling berkirim email. DNS Server sudah berjalan dengan
baik dijaringan dengan nama domain mail.linuxhosting.com. selain itu penulis mendaftarkan DNS Server dari setiap host yang ada di jaringan kepada komputer yang menyediakan layanan DNS Server. 1. Langkah pertama, memastikan sendmail telah terinstal di komputer server yang menggunakan linux. #pkgtool
2. Memastikan paket sendmail-cf telah terinstal di komputer server. #/etc/mail/sendmail.cf
3. Langkah berikutnya penulis menentukan komputer mana yang akan menjadi Relay Agent untuk seluruh host dalam jaringan. Dalam pembuatan Mail Server ini penulis menjadikan Relay Agent adalah mail.linuxhosting.com dengan nama alias mail.linuxhosting.com. 4. Mengaktifkan fasilitas Sendmail agar dapat digunakan dalam jaringan, penulis mengubah beberapa entri di file : /usr/share/sendmail/cf/cf/s endmail-slackware.mc
•
Ganti bagian VersionID VERSIONID ('default setup for Slackware Linux')dnl
Menjadi : VERSIONID ('MyFirst Setup For My MailServer')dnl
•
Tambahkan define di bawah agar lebih aman : Define('confPRIVACY_FLAGS', 'authwarning,novrfy,noexpn, restrictqrun')dnl
Menjadi : Define('confPRIVACY_FLAGS', 'authwarning,novrfy,noexpn, restrictqrun,goaway')dnl
•
SmartHost
Define ('SMARTHOST', 'mail.linuxhosting.com')
Sekarang saatnya menjadikan file konfigurasi dari format .mc menjadi format .cf agar dimengerti oleh Sendmail. Sendmail akan membaca konfigurasi utama yang terletak di : #/etc/mail/sendmail.cf
Untuk mengedit file konfigurasi, penulis mengedit pada bagian : #/usr/share/sendmail/cf/cf/sen dmail-slackware.mc
Setelah itu gunakan perintah dibawah ini untuk mencompile : #sh Build slackware.mc
sendmail-
Maka akan dihasilkan file sendmailslackware.cf, setelah itu, kopikan file sendmail-slackware.cf ke /etc/mail dengan nama sendmail.cf, sehingga akan meng-overwrite file yang asli. Gunakan perintah dibawah ini untuk mejalankan konfigurasi yang telah dilakukan : /etc/rc.d/rc.sendmail restart