Saturday, June 16, 2007

WEB SERVER



1. Instalasi server Web

Paket program web server dapat kita ambil dari CD instalasi yaitu menggunakan Apache Web Server, yaitu Apache versi 1.3.12. Paket Apache WebServer dapat diinstal dengan menggunakan perintah sebagai berikut :
#rpm -ivh apache-1.3.12.rpm
Ketika instalasi selesai maka file-file yang perlu di perhatikan adalah:
_ httpd.conf
_ access.conf
_ srm.conf
masing-masing file diatas akan dibahas kemudian.
2. Konfigurasi Apache

File httpd.conf
Berikut adalah isi dari file httpd.conf :
_ ServerType. Konfigurasi yang menerangkan server, apakah dijalankan melalui inetd atau dijalankan secara berdiri sendiri. Bila secara berdiri sendrii, maka server akan dijalankan secara manual.
_ ServerRoot. Suatu path directory tempat disimpannya file konfigurasi, file error.
_ PidFile. File yang menyimpan nomor proses dari apache yang dijalankan.
_ ResourceConfig dan AccessConfig. Isi dari file tersebut adalah konfigurasi untuk directory sumber (access.conf) dan konfigurasi izin akses (srm.conf). Kedua file tersebut adalah bersifat tambahan (op-tional), karena keduanya dapat diletakkan di httpd.conf, ataupun dapat diletakkan di masing-masing file (access.conf dan srm.conf)
_ Timeout. Batas waktu yang digunakan untuk suatu menganggap suatu koneksi terputus, yaitu ketika tidak ada respon dari client.
_ KeepAlive. Kemampuan server menerima request secara simultan yang berasal dari satu koneksi.
_ MaxKeepAliveRequests. Jumlah request maksimum yang diterima server secara simultan.
_ KeepAliveTimeout. Waktu yang ditentukan untuk menunggu request selanjutnya dari satu koneksi.
_ MinSpareServers dan MaxSpareServers. Jumlah server yang dibutuhkan untuk melayani setiap re-quest yang masuk.(biasa digunakan untuk situs web yang sangat sibuk)
_ StartServers. Jumlah server yang dijalankan oleh apache untuk inisialisasi ketika apache pertama kali dieksekusi.
_ MaxClients. Jumlah koneksi yang diizinkan secara simultan di server.
_ MaxRequestsPerChild. Jumlah request yang akan dilayani oleh child server sebelum child server tersebut dimatikan.
_ BindAddress- Server akan otomatis menerjemahkan setiap alamat semua alamat ip yang ada di server
_ Port. Port yang akan di "dengarkan" oleh apache web server.
_ User dan Group. User dan group yang menjalankan apache web server.
_ ServerAdmin. Alamat email dari administrator web server.
_ ServerName. Nama server yang disesuaikan dengan FQDN (Full Qualified Domain Name), berfungsi sebagai nama dari web server kita.
_ ErrorLog. Direktori dan nama file dimana kita menempatkan error log dari apache.
_ LogLevel. Jenis pesan-pesan log yang akan dicatat oleh web server. Ada beberapa kategori yang akan dicatat ke dalam log file, yaitu emerg (emergency), alert, crit (critical), errors, warn, debug.
_ LogFormat. Bagian ini menenetukan format log file dan juga memberikan "nickname" untuk format tersebut. Bagian ini telah diberikan secara default oleh apache, dan sebaiknya tidak usah dirubah (kecuali anda secara pasti tahu apa yang anda lakukan :) )
_ CustomLog. Log yang di konfigurasikan untuk mencatat setiap access request dari client. Juga digunakan untuk mencatat secara default konfigurasi virtualhost (lihat virtualhost)
_ ServerSignature. Web Server Signature yang biasa muncul ketika file yang dicari tidak ditemukan dan pada saat ftp. (on,off dan email)
_ UseCanonicalName. Bagian ini mengkonfigurasikan server apache agar membuat referensi sendiri meng-gunakan ServerName dan Port sesuai yang ada di httpd.conf, apabila diset off, maka server akan merespons sesuai dengan request dari client.
_ HostnameLookups. Perintah ini akan melog alamat IP dari setiap client yang mengakses server kita. Di-rekomendasikan bagian ini di set off untuk site2 yang sangat sibuk, karena akan dapat membuat log file men-jadi besar.

File srm.conf
File srm.conf juga digunakan untuk mengatur masalah yang berhubungan dengan directory, DocumentRoot, UserDir, DirectoryIndex , MIME (Multi purpose Internet Mail Extension), ScriptAlias, CGI-Script dan definisi-definisi dari extension lainnya, misal PHP, Perl dan lain-lain. Isi dari srm.conf adalah :

_ DocumenRoot. Path dari direktori yang berisi file-file dokumen utama dari situs kita.
_ UserDir. Direktori untuk user yang biasanya terletak di home directory dari user tersebut. URL yang digu-nakan untuk mengakses adalah http://server.kita.com/˜user <– menggunakan tanda ˜
_ DirectoryIndex. File yang pertama kali akan diakses oleh client ketika client akan mengakses web serverkita.
_ FancyIndexing. Suatu cara menampilkan isi dari suatu directory di server. Menggunakan fancy style atau tidak. Setelah konfigurasi ini biasanya diikuti dengan mendefinisikan path cari icon-icon yang akan digunakan untuk indexing.
_ AccessFileName. Mendefinisikan akses file yang akan digunakan untuk memproteksi suatu direktori. Bi-asanya dinamakan .httaccess (tanda . Berarti file tersebut di hidden dan untuk kepentingan sekuritas, nama file httaccess diganti)
_ Alias. Directory alias yang biasa digunakan untuk beberapa direktori khusus, misalkan cgi-bin.
_ DefaultType. Default type dari setiap dokumen yang ada di webserver kita.

File access.conf
File ini digunakan untuk mengatur hak pengaksesan di Web Server atau lebih sering disebut ACF (Access Control File). Contoh :

Options FollowSymLinks
AllowOverride None


"/usr/local/apache/htdocs">
Options Indexes FollowSymLinks
MultiViews
AllowOverride None
Order allow,deny
Allow from all

ScriptAlias /cgi-bin/
"/usr/local/apache/cgi-bin/"

"/usr/local/apache/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all

Option-option yang umum digunakan untuk hak akses direktori adalah :
_ Indexes : Perizinkan setiap indexing dari suatu direktori, seperti AddDescription, AddIcon, AddI-conByEncoding, AddIconByType, DefaultIcon, DirectoryIndex, FancyIndexing, Head-erName, IndexIgnore, IndexOptions, dan ReadmeName
_ Limit : Perizinan untuk mengakses suatu path disesuaikan dengan hostnamenya, seperti allow, deny dan order.
_ Option : Perizinan untuk menggunakan option-option yang ada dalam masing-masing direktori. Contohnya
Option dan XbitHack.
Perhatian : Apabila pada httpd.conf baris dibawah di berikan comment (#) berarti semua konfigurasi dari srm.conf dan access.conf diletakkan di file httpd.conf.
#ResourceConfig conf/srm.conf
#AccessConfig conf/access.conf

3. VirtualHost
VirtualHost merupakan salah satu fasilitas yang didukung oleh Apache. Fungsi dari Vhost ini adalah untuk membuat multiple host dalam satu mesin. Ada dua cara dalam mengkonfigurasi VirtualHost, atau dengan cara _IP-base, yaitu menggunakan banyak ip dalam satu mesin dan masing-masing ip digunakan untuk satu domain,
Contoh dari IP-Based VirtualHost :
DocumentRoot /path/to/document ServerName test.vhost1.com
_ Name-based. menggunakan satu IP yang kemudian digunakan untuk banyak nama domain. Contoh dari Name-Based

VirtualHost :

NameVirtualHost 192.168.0.50 DocumentRoot /path/to/document1 ServerName test.vhost1.com DocumentRoot /path/to/document2 ServerName test.vhost2.com

4. Konfigurasi modul-modul Apache
Modul-modul pada Apache adalah interface dimana modul-modul tersebut menentukan fitur-fitur apa saja yang akan dijalankan pada Apache Web Server. Untuk melihat modul-modul yang aktif adalah dengan menggunakan perintah : #/usr/local/apache/bin/httpd -l Untuk meload modul-modul di apache ada dua cara :
_ Static Module
_ DSO (Dynamic Shared Object)
Apabila kita menginstal Apache mengunakan format rpm maka secara default cara loading modul secara default secara DSO. Untuk me-load modul secara DSO adalah kita tambahkan pada httpd.conf baris sebagai berikut (misalkan kita akan meload podul php4 dengan menggunakan DSO) :
LoadModule php4_module libexec/libphp4.so AddModule mod_php4.c Contoh lengkap httpd.conf dapat dilihat pada lampiran

5. Menjalankan server Web

Untuk menjalankan Apache yang perlu kita lakukan adalah :
#apachectl start
Apabila kita mengadakan perubahan file-file konfigurasi maka apache harus di-restart terlebih dahulu agar perubahan yang kita lakukan dapat memberikan pengaruh.
#apachectl restart
Untuk lebih lengkap melihat pilihan-pilihan dari apachectl
#apachectl --help
File httpd yang di hasilkan dari proses instalasi adalah program daemon yang membuka port 80 (default) untuk LISTEN (mendengar) setiap request untuk web. Untuk dapat memanggil web server adalah sebagai berikut :
http://namec <---
jika nama web server kita adalah namec Apabila kita menggunakan port yang tidak dari biasanya (misalkan 8000) maka pemanggilannya sebagai berikut :
http://namec:8000
Atau pemanggilannya dapat menggunakan IP Address dari mesin yang bersangkutan, misal :
http://192.168.0.1 <----
jika IP Address webserver kita 192.168.0.1


http://www.smktelkom-mlg.sch.id/?a=news&b=tutorial&id=10

No comments: