MODUL PRAKTIKUM SISTEM DAN JARINGAN KOMPUTER WEBSERVER Oleh : Muhammad Riza Hilmi, ST. [email protected] STMIK STIKOM BALI 2012 BAB VI WEBSERVER A. TUJUAN PRAKTIKUM 1. Mengenal dan mempelajari Webserver 2. Mengkonfigurasikan webserver pada server. B. DASAR TEORI 1. Pengertian Webserver WEB server merupakan sebuah perangkat lunak server yang berfungsi menerima permintaan HTTP/HTTPS dari client yang dikenal dengan “web browser” dan mengirimkan kembali hasilnya dalam bentuk halaman web yang umum yaitu dokumen HTML. WEB server juga merupakan sebuah komputer yang menyediakan layanan untuk internet. Gambar 6.1 Analogi Webserver Fungsi utama sebuah server web adalah untuk mentransfer berkas atas permintaan pengguna melalui protokol komunikasi yang telah ditentukan. 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. Saat ini umumnya server web telah dilengkapi dengan mesin penerjemah bahasa skrip yang memungkinkan server web menyediakan layanan situs web dinamis dengan memanfaatkan pustaka tambahan seperti PHP, ASP dan lainnya. Modul Praktikum Sistem dan Jaringan Komputer STMIK STIKOM Bali – M. Riza Hilmi, ST. 2 Web client dan Web server berkomunikasi menggunakan protokol HTTP (HyperText Transfer Protocol). Web client adalah komputer yang tergabung dalam jaringan atau internet yang meminta informasi. Untuk dapat mengakses web server, web client menggunakan aplikasi yang disebut Web browser. Web server adalah komputer yang tergabung dalam jaringan atau internet yang memberikan informasi. HTTP (HyperText Transfer Protocol) adalah protokol yang dipergunakan untuk mentransfer dokumen dalam World Wide Web (WWW). Protokol ini adalah protokol ringan, tidak berstatus dan generik yang dapat dipergunakan berbagai macam tipe dokumen. Adapun perangkat lunak yang digunakan sebagai webserver yaitu : 1. Apache Webserver 2. Internet Information Services (IIS) 3. Lighttpd 4. NginX 5. Sun Java System Web Server 6. Xitami Web Server 7. Zeus Web Server 2. Cara Kerja Webserver 1. Saat kita membrowsing suatu alamat web memakai suatu web browser (client http), Sebuah client HTTP seperti web browser, biasanya memulai permintaan dengan membuat hubungan TCP/IP ke port tertentu di server Http ( port 80). 2. Sebuah server HTTP yang mendengarkan di port tersebut menunggu client mengirim kode permintaan (request), seperti “GET /HTTP/1.1″ (yang akan meminta halaman yang sudah ditentukan), diikuti dengan pesan MIME yang memiliki beberapa informasi kode head yang menjelaskan aspek dari permintaan tersebut, diikut dengan body dari data tertentu. 3. Begitu menerima kode permintaan (dan pesan, bila ada), server mengirim kembali kode jawaban, seperti “200 OK”, dan sebuah pesan yang diminta, atau sebuah pesan error atau pesan lainnya,seperti 404 (Not Found), 500 (Internal Server Error). Modul Praktikum Sistem dan Jaringan Komputer STMIK STIKOM Bali – M. Riza Hilmi, ST. 3 C. LANGKAH PRAKTIKUM 1) Instalasi dan Pengecekan Paket a) Pastikan Anda login sebagai Super User (root). b) Install program Apache2 dengan perintah pada konsole : root@modul:~# apt-get install apache2 c) Install paket pendukung untuk web yang dinamis (database): root@modul:~# apt-get install mysql-server d) Install paket pendukung untuk kompiler bahasa php : root@modul:~# apt-get install php5 Untuk mengetahui apakah paket yang sudah kita install benar-benar sudah lengkap, cek dengan menggunakan perintah konsole yang di bold dibawah ini : root@modul:~# dpkg -l|grep apache2 root@modul:~# dpkg -l|grep mysql-server root@modul:~# dpkg -l|grep php5 Untuk mengecek apakah webserver sudah berjalan normal, buka web browser ketikkan alamat web : http://localhost Jika ditampilkan tulisan “Its work“, berarti apache sudah berjalan dengan normal. Letak DocumentRoot secara default untuk webserver ini terletak pada : /var/www/ 2) Konfigurasi Apache a) Konfigurasi Nama Domain (DNS) Lakukanlah langkah-langkah pada bab 5 tentang DNS Server. b) Mengubah Letak DocumentRoot 1. Backup file utama konfigurasi. root@modul:~# cp /etc/apache2/sites-available/default /etc/apache2/sitesavailable/default.backup 2. Edit file /etc/apache2/site-available/default. root@modul:~# vim /etc/apache2/sites-available/default Lakukan perubahan pada yang dicetak tebal: NameVirtualHost * <VirtualHost *> ServerAdmin webmaster@localhost DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride None Modul Praktikum Sistem dan Jaringan Komputer STMIK STIKOM Bali – M. Riza Hilmi, ST. 4 </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog /var/log/apache2/error.log # Possible values include: debug, info, notice, warn, # error, crit, alert, emerg. LogLevel warn CustomLog /var/log/apache2/access.log combined Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory> </VirtualHost> Ubah DocumentRoot dan <Directory> di atas yang tulisannya ditebalkan dengan direktori yang dituju, misalnya: DocumentRoot /home/username/www <Directory /home/username/www/> Jika kita juga ingin membuat web alias, ubah bagian Alias, misalnya : Alias /mywebalias/ "/home/username/public_html/" <Directory "/home/username/public_html/"> Alias di atas akan membuat aliases web dengan nama mywebalias, jadi nantinya ketika saya mengakses www.namadomain.ac.id/mywebalias maka akan muncul halaman index lain yang berbeda dengan halaman index utama pada www.namadomain.ac.id. 3. Buat direktori tujuan apache. root@modul:~# mkdir /home/username/www root@modul:~# mkdir /home/username/public_html 4. Langkah selanjutnya adalah membuat file index.html yang akan kita letakkan dalam directory /home/username/www untuk web utama dan index.html Modul Praktikum Sistem dan Jaringan Komputer STMIK STIKOM Bali – M. Riza Hilmi, ST. 5 untuk halaman aliases web dalam directory /home/username/public_html tentunya 2 halaman ini saling berbeda agar kita lebih mudah memahaminya. 5. Restart Apache. root@modul:~# /etc/init.d/apache2 restart c) Menambah Virtual Webserver Menambahkan virtual webserver disini, dimaksudkan jika kita ada beberapa domain yang diarahkan ke webserver dengan direktori dan file berbeda, atau dengan kata lain dalam satu server, terdapat berbagai macam web yang berbeda. 1. Edit file /etc/apache2/site-available/default pada bagian akhir program tambahkan baris program berikut ini: NameVirtualHost * <VirtualHost *> ServerAdmin [email protected] ServerName sion.stikom-bali.ac.id DocumentRoot /home/username/sion <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /home/username/sion/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> </VirtualHost> 2. Buat direktori tujuan virtual webserver. root@modul:~# mkdir /home/username/sion 3. Buat file index.html pada direktori tersebut. root@modul:~# vim /home/username/sion/index.html 4. Restart Apache. root@modul:~# /etc/init.d/apache2 restart d) Menjadikan Apache 2 sebagai Reverse Proxy Yang dimaksudkan di sini, adalah sama seperti menambahkan virtual webserver, tetapi file web berada pada mesin yang lain. Berikut ini adalah gambar yang bisa menjelaskan penggunaan apache sebagai reverse proxy: Modul Praktikum Sistem dan Jaringan Komputer STMIK STIKOM Bali – M. Riza Hilmi, ST. 6 Gambar 6.2 Analogi Reverse Proxy Langkahnya adalah sebagai berikut: 1. Cek koneksi antara reverse proxy dengan server webserver. Misalnya alamat ip web server yang terletak di komputer lain adalah 192.168.1.2. root@modul:~# ping 192.168.1.2 2. Masuk ke dalam direktori /etc/apache2/sites-available root@modul:~# cd /etc/apache2/sites-available 3. Buat file vhost root@modul:~# vim vhost Isikan dengan baris perintah berikut ini: <VirtualHost *:80> ServerName db.stikom-bali.ac.id ErrorLog /var/log/apache2/db-error.log CustomLog /var/log/apache2/db-access.log combined ServerSignature On ProxyRequests Off ProxyPreserveHost On ProxyPass / http://192.168.1.2:80/ ProxyPassReverse / http://192.168.1.2:80/ <Proxy *> Order deny,allow Allow from all </Proxy> </VirtualHost> 4. Aktifkan vhost ke dalam apache. root@modul:~# cd /etc/apache2/sites-enabled/ root@modul:~# ln –s /etc/apache2/sites-available/vhost vhost 5. Restart Apache. root@modul:~# /etc/init.d/apache2 restart Modul Praktikum Sistem dan Jaringan Komputer STMIK STIKOM Bali – M. Riza Hilmi, ST. 7