LamPUNGLInux

 Komunitas Pengguna Linux Indonesia

 

Web Blog LamPUNGLInux .or.id ini merupakan White Papers bagi semua member Web Site komunitas ini, sebagai media untuk menuangkan semua hasil observasi, kegiatan, pengalaman, cerita dan informasi yang dimiliki tentang Linux & OpenSource Software, dengan tujuan dapat memberikan sebuah manfaat tersendiri bagi semua pengunjung yang membacanya.

" Let's Join with Us, To be share for everyone "

 


Wed, 06 Feb 2008 20:22:27 +0700
Apache Web Service
Posted by : elf_ On Networking


Web server apache merupakan web server yang dibangun oleh dari web server NCSA buatan Rob McCool. Seteleh pengembanganya berhenti beberapa developer berkolaborasi mengembangkan kembali web server tersebut. Setelah mei 1996, apache mendominasi pangsa web server di dunia. Menunurut Survey dari Netcraft, sekarang apache menguasai 60% lebih pangsa web server di dunia, mengalahkan web server asalnya yaitu NCSA web server Apache adalah web server dengan Lisensi GPL, yang boleh diguanakan oleh siapapun baik untuk keperluan komersial maupun non-komersial. Selain itu kita juga bisa mendapatkan kode sumber web server tersebut dan bebas mengembangkannya. anda dapat mendownload kode sumber tersebut serta modul dan manualnya di http://www.apache.org

Instalasi Apache web server

Untuk melakukan instalasi pada mesin Unix Like terdapat beberapa dependensi yang di perlukan seperti tar, lib C-Compiler serta gmake. Langkah pertama dari proses instalasi web server apache adalah menyiapkan kode sumber tersebut, misalkan anda mendapatkan kode sumber apache versi 1.3.33 dalam kondisi terkompresi dengan nama file apache-1.3.33.tar.gz. Anda harus terlebih dahulu menguraikan file kompresi tersebut dalam sebuah direktori, direktori yang umum digunakan untuk menempatkan kode sumber dari instalasi terbal adalah " /usr/local/src/ ". Uraikan file tersebut kedirektori yang sudah disiapkan dengan perintah :

 

# tar -zxvf apache-1.3.33.tar.gz -C /usr/local/src/

Kemudian pindah direktori aktif kedalam diretori hasil dari penguraian file tersebut dengan perintah :

 

# cd /usr/local/src/apache-1.3.33/

Setelah direktori aktif berada dalam direktori hasil dari penguraian, lakukan konfigurasi awal paket dengan sistem yang anda miliki dengan perintah :

 

# ./configure

Dalam melakukan konfigurasi paket dengan sistem yang anda miliki terdapat banyak option yang dapat dilakukan dengan memberikan argument-argument ketika mengeksekusi file cofigure, seperti penempatan hasil dari instalasi, dan pengaktifan beberapa modul yang tidak dicompile secara default dalam instalasi. Untuk mengetahui option dan argument yang dapat diberikan ketika melakukan konfigurasi paket anda dapat memberikan argument --help, yang akan menampilkan option dan argument yang tersedia.

 

# ./configure --help

Setelah melakukan konfigurasi paket terhadap sistem yang digunakan, langkah selanjutnya adalah kompilasi kode sumber, lakukan kompilasi tersebut dengan menggunakan gmake, dengan perintah :

 

# make

Kemudian lakukan instalasi web server kedalam sistem dengan memberikan argument install pada perintah make.

 

# make install

Setelah Instalasi selesai dilakukan, jalankan web server dengan memberikan perintah apachectl dengan memberikan argument start. Perlu di ingat, jika path dari instalasi tidak masuk kedalam default path maka kita harus memberikan path lengkap dimana file apachectl berada, atau jika anda tidak menentukan dimana hasil dari instalasi ditempatkan, maka hasil dari instalasi secara default akan ditempatkan dalam direktori " /usr/local ". Misalkan path dari file apachectl berada di direktori " /usr/local/bin/apachectl " maka perintah yang diberikan adalah :

 

# /usr/local/bin/apachectl start

Selain argument start, terdapat pula beberapa argument yang bisa diberikan dari perintah apachectl, untuk mengetahui argument argument tersebut maka berikan argument --help dari perintah apachectl.

 

# /usr/local/bin/apachectl --help

Jika perintah apachectl dengan argument start tidak memberikan pesan error maka kemungkinan besar Apache Web Service sudah berjalan dalam sistem anda, gunakan perintah ps dengan memberikan argument ax kemudian lakukan pipeing dengan perintah grep pada proses apache, seperti :

 

# ps ax | grep apache

Atau anda dapat menggunakan tools port scaning seperti nmap untuk mengecek apakah service http pada port yang telah anda tentukan " port defaultnya pada port 80 " sudah terbuka :

 

# nmap localhost

Jika Web Server anda sudah berjalan anda dapat mencoba, web server tersebut dengan web browser yang anda miliki, dengan mengetikan http://localhost/ pada location bar dari browser anda.

Konfigurasi Apache web server

Konfigurasi utama dari Apache web server ada pada file httpd.conf. yang terletak pada direktori " ./conf " dimana path instalasi ditentukan, jika ketika anda melakukan konfigurasi paket anda tidak melakukan spesifikasi tempat dari file konfigurasi. selain httpd.conf, file konfigurasi lainnya adala srm.conf dan access.conf. Direktif file konfigurasi dibagi menjadi 3 kategori yaitu :

  1. global environment, dalam kategori ini berlaku untuk jalanya proses server secara keseluruhan.
  2. default server atau main server, dalam kategori ini akan digunakan untuk merespon permintaan yang tidak termasuk dalam kategori Virtual Host. kategori ini juga akan dipakai sebagai nilai default dalam kategori Viryal Host.
  3. local, kategori ini dipakai untuk masing-masing Virtual Host/direktori/lokasi yang dilayani oleh Web server yang sama.

1. global environment

a. ServerType

Apache bisa dijalankan dengan dua cara, yaitu sebagai server yang berjalan sendiri atau dijalankan dengan program lain, yang sering disebut dengan super server. Nilai yang memungkinkan untuk direktif ini adalah inetd dan standalone.

b. ServerRoot

Direktif ini dipakai untuk menentukan top level direktori tree dari file-file konfigurasi, log, dan errorlog.

c. PidFile

Untuk menentukan file yang digunakan guna menyimpan proses ID dari server induk.

d. Timeout

Waktu tunggu maksimal dalam detik yang diperbolehkan, baik untuk mengirim atau menerima request keserver.

e. KeepAlive, MaxKeepAliveRequests, dan KeepAliveTimeout

Ketiga direktif ini berhubungan dengan "persistent connection". Jika KeepAlive bernilai On maka server memberi kesempatan untuk menjaga presitansi koneksi dari client ke server. Nilai lain yang mungkin untuk direktif ini adalah Off, yang dimaksudkan persisten dari client yang sama akan dilayani oleh anak proses yang sama dari server. MaxKeepAliveRequest menentukan jumlah koneksi maksimum yang diperbolehkan saat terjadi koneksi persisten. Jika diberikan nilai 0 maka jumlah koneksi persisten tidak akan dibatasi. KeepAliveTimeout menentukan waktu tunggu maksimum yang masih dilayani dalam sebuah koneksi persisten, dalam satuan detik.

f. MinSpareServers, MaxSpareServers, dan StartServers

Saat pertama server dijalankan proses induk akan membuat anak proses sebanyak yang nilai yang diberikan dalam direktif StartServers. Jumlah anak proses akan terus diawasi agar tidak kurang dari nilai MinSpareServers dan tidak lebih dari nilai MaxSpareServers.

g. MaxClients

Nilai yang diberikan pada direktif ini akan membatasi jumlah client yang dilayani dalam waktu yang bersamaan.

h. MaxRequestPerChild

Setiap anak proses diperbolehkan melayani paling banyak sejumlah nilai yang diberikan pada direktif tersebut sebelum mati. Sebagai catatan, dalam proses koneksi persisten dianggap satu koneksi. Nilai 0 digunakan untuk mewakili jumlah yang tidak terbatas.

i. Listen dan BindAddress

Akan menentukan dimana server melayani permintaan, Contoh :

 

Listen 8080 Listen 192.168.10.10:80

Artinya apache akan melayani permintaan dari port 8080 dan dari IP ADDRESS 192.168.10.10 pada port 80. Direktif ini bermanfaat untuk membuat Virtual Host bila server anda mempunyai beberapa IP yang bisa di pakai. BindAddress berfungsi sama dengan Listen, tetapi hanya dipakai nomor IP dan nama host saja.

2. main server atau default server

a. Port

Adalah port yang akan digunakan oleh server utama, jika server di jalankan dengan mode standalone. Jika server dijalankan dengan mode inetd direktif ini tidak akan dipakai karena port layanan akan ditentukan oleh inetd. Untuk menjalankan server pada port dibawah 1023, maka harus dijalankan menggunakan user root.

b. User dan Group

Direktif ini menentukan user dan group mana yang akan digunakan untuk menjalankan server.

c. ServerAdmin dan ServerName

ServerAdmin berisi alamat email dari server administrator. sedangkan ServerName menentukan nama host dari server utama. Cotoh :

ServerAdmin admin@sub_domain.domain_name ServerName host_name.sub_domain.domain_name

d. DocumentRoot

Menentukan root direktori dari document-document public. Contoh :

 

DocumentRoot "/srv/www/htdocs"

Untuk Informasi Lebih Lanjut mengenai Konfigurasi, penggunaan module, dan informasi lainnya, anda dapat melihat manual dari Apache dengan mengakses server dari browser dan memberikan url "http://localhost/manual/" pada location bar browser anda.

 

 

 

Categories

 

Archives

 

Posts

 

Comments

 

Linux Live