Minggu 12
Web Server
1
Pendahahuluan
• merupakan software yang memberikan layanan data yang
berfungsi menerima permintaan HTTP atau HTTPS dari klien
• mengirimkan kembali hasilnya dalam bentuk halaman -
halaman web yang umumnya berbentuk dokumen HTML
• Web Application: menggunakan bahasa Pemprograman(misal
ASP, PHP, Java, .Net, Perl atau C)
• Web Server: melayani permintaan client dan meneruskan ke
aplikasi yang sesuai selanjutnya diproses oleh aplikasi yang
sesuai (misal IIS, Apache, thttpd dll.)
• Web Application tidak bisa jalan tanpa Web Server
• Web Server bisa bekerja tanpa Web Application (Tapi hanya
bisa melayani web dengan content statis)
2
Komponen Sistem Web
3
Mapping URL Sistem Web
4
URLs
• Each file managed by a server has a unique name called a URL
(Universal Resource Locator)
• URLs for static content:
– [Link]
– [Link]
– [Link]
• Identifies a file called [Link], managed by a Web server at
[Link] that is listening on port 80.
• URLs for dynamic content:
– [Link]
• Identifies an executable file called adder, managed by a Web server at
[Link] that is listening on port 8000, that should be called with
two argument strings: 15000 and 213.
5
Apache Web Server – HTTP Web Server
1. Apache Tomcat
2. Microsoft windows Server 2003 Internet Information
Services (IIS)
3. Lighttpd
4. Sun Java System Web Server
5. Xitami Web Server
6. Zeus Web Server
6
Web Server Apache
Apache HTTP Server software open source untuk HTTP Web
Server berjalan di platform : Unix (BSD, Linux, Windows)
Dikembangkan oleh komunitas Apache Software Foundation
HTTP Server paling popular.
Mempunyai fitur “highly Configurable error messages”, DBMS
authentication databases, content negotiation.
Apache didukung bahasa pemrograman yang lazim seperti : Perl,
Python, PHP
7
8
9
10
11
12
Susunan directory
• bin file-file program
• build
• cgi-bin script cgi
• conf tempat konfigurasi
• error error message
• htdocs dokumen yang akan dipublish
• icons gambar-gambar kecil
• include
• lib
• logs
• man manual pages
• manual dokumentasi
• modules module
13
Directory yang digunakan
• bin
• htdocs
• conf
14
Konfigurasi apache2
• Diletakkan di dalam sub dir conf
• Di dalam file [Link]
• Menggunakan directives
15
Konfigurasi Dasar
• ServerRoot Root dari apache2
• Listen Port http (biasanya 80)
• DocumentRoot lokasi dokumen HTML
• Users apache akan dijalankan sebagai
user dan group ini
• Group
• ServerName assign Nama mesin
• ServerAdmin email address admin
• DirectoryIndex file default yang akan
dijalankan
16
Menjalankan Apache2
• Cukup mengganti Konfigurasi dasar dengan
isian yang sesuai, apache2 sudah siap untuk
dijalankan dengan kemampuan dasar yaitu
bisa di browse
• Menjalankan :
#/usr/local/apache2/bin/apachectl start
• Mengentikan:
#/usr/local/apache2/bin/apachectl stop
17
Meletakkan Dokumen HTML
• Dokumen-dokumen HTML yang akan
dipublikasikan ke Internet, bisa diletakkan di
dalam Directory yang disebutkan di
DocumentRoot
18
Per User Web Directories
• Menggunakan module mod_userdir
• Secara default directory user yang bisa di-
browse adalah directory user yang di bawah
/home
• Directive UserDir diisi dengan nama directory
yang diinginkan
19
Per User web Directory
• jika path yang diberikan tidak didahului
dengan slash, maka diasumsikan bahwa itu
adalah directory path yang relative terhadap
home dir dari user tertentu
• UserDir public_html
• [Link]
/home/rbowen/public_html/[Link]
20
Per User Web Directory
• jika path diberikan dengan slash, maka
directory path akan dibuat menggunakan path
tsb, plus username yang ditentukan
• UserDir /var/html
• [Link]
/var/html/rbowen/[Link]
21
Per User Web Directory
• jika sebuah path di sediakan dengan *
(asterisk) maka * tersebut akan diganti dengan
username yang ditentukan
• UserDir /var/www/*/docs
• [Link] -->
/var/www/rbowen/docs/[Link]
22
Praktikum Installasi Web Server
23
Memastikan koneksi dengan source linux
24
Mencari paket Apache Web Server
25
Meng-install Apache Web Server
26
Melihat isi direktori web server
27
Melihat status web server
28
Virtual Host
• IP Based
– Berbasis IP
– Satu IP untuk tiap Website
• Name Based
– Berbasis Nama
– Lebih dari satu website per IP address
• Dalam Kasus ini kita akan menggunakan Name
Based VH
29
Name Based Virtual Host
• Name based VH, memungkinkan kita untuk
bisa mempunyai banyak site walaupun kita
hanya punya satu IP
• Per site identik dengan satu Block directive
VirtualHost
30
Per user home directory
• Edit [Link]
• Cari UserDir public_html hapus tanda #
• Hapus baris yang ada “UserDir disable”
• Keluar dari [Link]
• Restart apache dengan /etc/rc.d/init.d/httpd restart
• Menambahkan user:
• Useradd <namauser>
• Passwd <namauser>
• Rubah mode access homedir user tersebut :
– #chmod a+x /home/<namauser>
Buatlah directory public_html di dalam homedir user
Masukkan file HTML ke dalam direktori tersebut
31
Name Based Virtual Host
• NameVirtualHost *:80
<VirtualHost *:80>
ServerName [Link]
ServerAlias [Link] *.[Link]
DocumentRoot /www/domain
ErrorLog /www/domain/error
• </VirtualHost>
<VirtualHost *:80>
ServerName [Link]
DocumentRoot /www/otherdomain
ErrorLog /www/otherdomain/error
• </VirtualHost>
32
Konfigurasi VH
• <VirtualHost *:80>
ServerName [nama_mesin]
ServerAlias [alias]
DocumentRoot [letak directory site]
ErrorLog [ file untuk mencatat error]
• </VirtualHost>
33
34
Mengaktifkan Virtual Host
35
Latihan Soal
1. Sebutkan ragam web server yang ada !
2. Sebutkan feature pendukung yang dimiliki oleh Apache !
3. Sebutkan kelebihan dari Apache web server dibanding yang
lain !
4. Apa yang dimaksud dengan virtual host !
5. Sebutkan beberapa keuntungan menggunakan virtual host !
36