Web Server A. DASAR TEORI Web server merupakan perangkat lunak yang menyediakan layanan akses kepada pengguna melalui protokol komunikasi HTTP atau HTTPS atas berkas-berkas yang terdapat pada suatu situs web, pengguna menggunakan aplikasi tertentu berupa web browser dalam melakukan permintaan. Hasil permintaan halaman – halaman web yang umumnya berbentuk dokumen HTML. Web dimulai Tahun 1989, Tim Berners-Lee lewat CERN (European Organization for Nuclear Research) mengajukan sebuah proyek yang bertujuan untuk mempermudah pertukaran informasi antar para peneliti dengan menggunakan sistem hiperteks. Sebagai hasil atas implementasi proyek ini, tahun 1990 Berners-Lee menulis dua program komputer : - server web pertama di dunia, yang kemudian dikenal sebagai CERN httpd, yang berjalan pada sistem operasi NeXTSTEP. - sebuah peramban yang dinamainya sebagai WorldWideWeb; Tahun 1994, Tim Berners-Lee memutuskan untuk membakukan organisasi World Wide Web Consortium (W3C) untuk mengatur pengembangan-pengembangan lanjut atas teknologiteknologi terkait lainnya (HTTP, HTML, dan lain-lain) melalui proses standardisasi. Fungsi utama sebuah server web adalah untuk mentransfer berkas atas permintaan pengguna melalui protokol komunikasi yang telah ditentukan. Disebabkan sebuah halaman web dapat terdiri atas berkas teks, gambar, video, dan lainnya pemanfaatan server web berfungsi pula untuk mentransfer seluruh aspek pemberkasan dalam sebuah halaman web yang terkait; termasuk di dalamnya teks, gambar, video, atau lainnya. Pengguna, biasanya melalui aplikasi web browser, meminta layanan atas berkas ataupun halaman web yang terdapat pada sebuah server web, kemudian server sebagai manajer layanan tersebut akan merespon balik dengan mengirimkan halaman dan berkas-berkas pendukung yang dibutuhkan, atau menolak permintaan tersebut jika halaman yang diminta tidak tersedia. Saat ini umumnya server web telah dilengkapi pula dengan mesin penerjemah bahasa skrip yang memungkinkan server web menyediakan layanan situs web dinamis dengan memanfaatkan pustaka tambahan seperti PHP, ASP. Pemanfaatan server web saat ini tidak terbatas hanya untuk publikasi situs web, pada prakteknya server web banyak pula digunakan dalam perangkat-perangkat keras lain seperti printer, router, kamera web yang menyediakan akses layanan http dalam jaringan lokal yang ditujukan untuk menyediakan perangkat manajemen serta mempermudah peninjauan atas perangkat keras tersebut. Macam – macam Web Server diantanya: - Apache Web Server – The HTTP Web Server - Apache Web Server – HTTP Web Server - Apache Tomcat - Microsoft windows Server 2003 Internet Information Services (IIS) - Lighttpd - Sun Java System Web Server - Xitami Web Server - Zeus Web Server Secara garis besar, sistem yang ada pada web sistem bisa digambarkan sebagai berikut :
Pada sisi server, terdapat beberapa komponen sebagai berikut : - Web server, berguna memberikan layanan kepada web client. - Web application, merupakan program tambahan yang ada pada server web yang membuat tampilan web bisa dinamis. Beberapa aplikasi yang dipakai seperti perl, asp, jsp dan php. Selain itu web application juga berfungsi sebagai penghubung dan pengambil data ke database sesuai permintaan client.Pada web application dikenal istilah server side scripting dan client side scripting. Server side scripting adalah kode yang ditempat di server dijalankan oleh server, contoh dari server side misal adalah php. Sedangkan client side scripting adalah kode program yang ditempatkan di sisi client yang dijalankan oleh browser di client. Contohnya adalah javascript, applet, jscript dan vbscripts. - Db, merupakan database yang disiapkan sebagai tempat data jika diperlukan. Pada sisi client terdapat aplikasi sebagai berikut : - Web client, merupakan browser harus bisa menterjemahkan apa yang dikirimkan dari server dan ditampilkan ke user biasanya dalam bentuk GUI
B. PENDAHULUAN 1. Apa kegunaan web Server ? Server atau Web server adalah sebuah software yang memberikan layanan berbasis data dan berfungsi menerima permintaan dari HTTP atau HTTPS pada klien yang dikenal dan biasanya kita kenal dengan nama web browser (Mozilla Firefox, Google Chrome) dan untuk mengirimkan kembali yang hasilnya dalam bentuk beberapa halaman web dan pada umumnya akan berbentuk dokumen HTML. Server atau Web server adalah sebuah software yang memberikan layanan berbasis data dan berfungsi menerima permintaan dari HTTP atau HTTPS pada klien yang dikenal dan biasanya kita kenal dengan nama web browser (Mozilla Firefox, Google Chrome) dan untuk mengirimkan kembali yang hasilnya dalam bentuk beberapa halaman web dan pada umumnya akan berbentuk dokumen HTML 2. Sebutkan paket yang digunakan untuk menginstall dan mengkonfigurasi WebServer ? - Apache sebagai service web server - Php untuk mensupport php - Mysql sebagai database 3. Jelaskan arti Virtual Host ? Virtual Host adalah cara untuk mengatur banyak website atau URL di dalam satu mesin atau satu IP. Semisal kita mempunyai banyak domain tapi hanya mempunyai 1 ip public atau 1 server. Cara untuk mengatasi hal tersebut adalah dengan membuat virtualhost yang ada di web server. Virtual Host bisa digunakan setelah anda menginstall package-package web server dan sudah pasti web server anda sudah berjalan dengan baik. 4. Fitur apa sajayang ditawarkan WebServer ? - HTTP, Setiap program web server bekerja dengan menerima permintaan HTTP dari klien, dan memberikan respon HTTP ke klien tersebut. Respon HTTP biasanya mengandung dokumen HTML tetapi dapat juga berupa berkas raw, gambar, dan berbagai jenis dokumen lainnya. - Logging, Umumnya setiap web server mempunyai kemampuan untuk melakukan pencatatan/logging terhadap informasi detil mengenai permintaan klien dan respon dari web server dan disimpan dalam berkas log, dengan adanya berkas log ini maka akan memudahkan web master untuk mendapat statistik dengan menggunakan tool log analizer. - Virtual hosting, yang berguna untuk melayani banyak website hanya dengan menggunakan satu alamat IP. - Otentifikasi, Fitur untuk mengotorisasi suatu permintaan dari klien sebelum menggunakan sumber daya yang dimiliki oleh web server (biasanya User dan Password) - Kompresi Konten, (misal menggunakan enkoding gzip) untuk mengurangi waktu respon server sehingga penggunaan pita data/Bandwith menjadi lebih hemat. - Dukungan HTTPS, (dengan SSL, atau TSL) yang memungkinkan koneksi yang aman (dengan enkripsi) ke server pada port 433 berbeda dengan koneksi HTTP biasa di port 80 - Pengaturan Bandwith, (Bandwith throttling) yang berfungsi untuk membatasi kecepatan respon dengan tujuan tidak membanjiri jaringan dan menghemat pita data (bandwith) agar dapat melayani klien lebih banyak.
C. PERCOBAAN Percobaan 1 INSTALASI DAN KONFIGURASI DASAR APACHE WEB SERVER Langkah – langkah percobaan 1. Install paket apache2 di komputer server Gunakan perintah apt-get install apache2, untuk melakukan penginstallan apache2.
2. Install nmap Gunakan perintah apt-get install nmap. Nmap berfungsi untuk mengecek apakah suatu servis berjalan atau tidak.
3. Cek services dengan menggunkan nmap Gunakan perintah nmap[spasi]servis yang akan dicek. Pada kasus ini kita akan melihat apakah sevis dari localhost berjalan. Kita batasi hanya port 80 saja, sebagai port http. Gunakan perintah seperti di gambar.
Pada gambar terlihat bahwa port 80/tcp terbuka pada protokol http, menandakan servis localhost berjalan dengan baik. 4. Install lynx Lynx berguna sebagai browser. Install browser ini apabila sebelumnya belum ada browser tersebut.
5. Buka web server dengan mengetik url http://localhost, jika berhasil akan tampil seperti berikut :
Web tersebut belum terdapat konten apapun. Hal tersebut menandakan bahwa servis dari localhost berjalan dengan baik. 6. Install php5 Untuk dapat melakukan pemrograman dan menload web lakukan intallasi php5.
7. Mengisi folder /var/www dengan file index.php Pindah ke direktori /var/www terlebih dahulu. Buat file index.php menggunakan nano. Cek isi direktori /var/www dengan menggunkan perintah ls.
Isi file index.php sebagai berikut.
8. Install mysql server Untuk membangun sebuah database, diperlukan sebuah aplikasi database. Pada kasus ini, kita menggukan mysql server. Lakukan installasi mysql server dengan menggunkan perintah apt-get install mysql-server
Pada waktu melakukan installasi, kita akan diminta masuk kedalam root dan diminta memasukkan password root dan password mysql server.
9. Cek servis dengan menggunakan nmap Lakukan pengecekan servis localhost menggunakan nmap
Jika semua state sudah open, maka localhost sudah aktif dan berjalan.
Percobaan 2 MEMBUAT USER DIRECTORY Langkah – langkah percobaan 1. Buat 2 link dari file mod_available
Setelah menambahkan kedua link tersebut, Lakukan service apache2 restart 2. Buat direktori public_html Buat direktori public_html di folder /etc/skel. Kemudian tambahkan user. Setiap user yang dibuat akan otomatis mempunyai direktori public html
3. Restart apache 4. Jalankan browser
Percobaan 3 MEMBUAT VIRTUAL HOST Langkah – langkah percobaan 1. Menambah host untuk mengakases domain server Untuk mengatur host, gunakan perintah nano /etc/hosts. Atur sebagai berikut
2. Edit file httpd.conf Buka file httpd.conf dengan perintah nano /etc/apache2/httpd.conf dan atur sebagai berikut
3. Restart apache, dengan menuliskan perintah service apache2 restrart 4. Buka browser , kemudia akses menggunakan url www.intanirnanda.com
Percobaan 4 Webalizer Configuration (log Analisis) 1. Jika apache sudah terinstall dan berjalan pada sistem kita, lakukan penginstallan webalizer dengan menuliskan perintah apt-get install webalizer
2. Saat proses instalasi, sebenarnya direktori Webalizer telah otomatis dibuat pada /var/www/path. Selanjutnya kita perlu memindahkan ke directory /var/www/html agar apache dapat melayani dengan baik. Berikut perintahnya : mv /var/www/webalizer /var/www/html/
3. Lakukan pengeditan file konfigurasi Webalizer untuk mengarahkan jalannya Apache log akses yang ada dengan menambahkan LogFile /var/log/apache2/access.log. Pastikan Apache access log file sudah benar seperti dalam file berikut. Lalu tutup dan simpan.
4. Lakukan testing webalizer dengan menjalankan perintah webalizer pada terminal
5. Selanjutnya buka browser anda, ketikkan pada url http://nomor_IP_anda/webalizer seperti pada output. Apabila sukses, maka halaman browser anda seharusnya akan mencul seperti berikut :
D. KESIMPULAN a. Web server merupakan perangkat lunak yang menyediakan layanan akses kepada pengguna melalui protokol komunikasi HTTP atau HTTPS b. Fungsi utama dari web server adalah untuk mentransfer atau memindahkan berkas yang diminta oleh pengguna melalui protokol komunikasi tertentu. c. Web server akan mencarikan data yang diminta browser, lalu mengirimkan data tersebut ke browser atau menolaknya jika ternyata data yang diminta tidak ditemukan. d. Yang dibutuhkan untuk installasi web server i. apache2 ii. php5 iii. mysql-server iv. phpmyadmin. e. Virtual host adalah suatu teknik yang memungkinkan sebuah IP address memiliki banyak nama host atau domain. Misal, sebuah IP 10.14.10.240 memiliki nama-nama domain coba.com, testing.coba.com, dan tes.com.