0% menganggap dokumen ini bermanfaat (0 suara)
9 tayangan

Apache Web Server

Diunggah oleh

abdoudi2008
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
9 tayangan

Apache Web Server

Diunggah oleh

abdoudi2008
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 12

Praktikum Jaringan Komputer PENS ITS

Iwan Syarif & Ferry Astika

Bab 5

Apache Web Server

5.1 Penjelasan Komponen

Web Server Apache terdiri dari beberapa bagian, kode source apache asli
dengan beberapa patch dan beberapa executable tambahan. Sebaiknya kita
gunakan web server apache yang tergolong ‘stable version’, yang mungkin akan
lebih mudah untuk dikompilasi dan akan menghasilkan daemon yang cukup
stabil.

PHP adalah bahasa skripting yang mendukung halaman dynamic


HTML[DHTML]. PHP mirip dengan SSI dari Apache, hanya jauh lebih kompleks
dan memiliki modul database untuk banyak database yang populer. PHP juga
memerlukan GD libraries.

SSL adalah implementasi dari Secure-Socket-Layer dari Netscape yang akan


memungkinkan koneksi yang aman lewat jaringan yang belum aman, misal, untk
mengirim nomor kartu kredit ke form berbasis web.

Frontpage adalah perangkat authoring wysiwyg yang menggunakan beberapa


ekstensi spesifik server yang disebut webbot . Beberapa orang berpendapat bahwa
frontpage cukup baik karena dapat membuat form feedback dan diskusi web tanpa
harus mengerti ht ml atau cgi Frontpage malah menggantikan tugas mengupload
site lewat ftp dengan publisher bawaan Frontpage jika Anda ingin mendukung
Frontpage Extension tapi tidak ingin mensetup server Windows maka Frontpage
Extension untuk server Apache adalah pilihan anda.

5.2. Instalasi Komponen

Software yang dibutuhkan :

Apache Web Server 56


Praktikum Jaringan Komputer PENS ITS
Iwan Syarif & Ferry Astika

• Apache 1.2.6 http://www.apache.org/dist/apache_1_2_6.tar.gz


• Ekstensi PHP/FI http://php.iquest.net/files/download.phtml?/files/php-
2.01.tar.gz
• GD Library http://siva.cshl.org/gd/gd.html
• SSL 0.8.0 ftp://ftp.ox.ac.uk/pub/crypto/SSL/SSLeay-0.8.0.tar.gz
• patch SSL untuk Apache 1.2.6
ftp://ftp.ox.ac.uk/pub/crypto/SSL/apache_1.2.6+ssl_1.17.tar.gz
• ekstensi server dan script install frontpage 98
http://www.rtr.com/fpsupport/download.htm

Ambil source yang anda inginkan. Untar apache, php, gd dan ssl ke /usr/src. Untar
patch SSL ke /usr/src/apache_1.2.6.

5.3. Panduan Instalasi Apache

1. Jadi SuperUser ketik:


$ su (masukkan password root anda)
2. Masukkan cdrom Redhat Linux kemudian di mount
# mount /dev/cdrom /mnt/cdrom
3. Masuk ke direktori ulasancd
# cd /mnt/cdrom

Instalasi menggunakan file rpm

1. Sebelum mengintall kernelnya terlebih dahulu anda melihat jenis komputer


anda dengan mengetik :
$ uname -a
akan tampil seperti di bawah ini :
Linux Henry.BadDuck 2.2.17-21mdk #1 Thu Oct 5 13:16:08 CEST
2000 i586 unknown
Anda harus menyesuaikan jenis mesin anda yaitu dengan melihat tulisan i586
yang tertera di atas dan di sesuaikan dengan nama file.

Apache Web Server 57


Praktikum Jaringan Komputer PENS ITS
Iwan Syarif & Ferry Astika

2. Untuk install Apache ketik :


$ rpm -Uvh apache -1.3.17-3.i386.rpm
(untuk jenis mesin i386 distro RedHat)
$ rpm -Uvh apache -1.3.17-3.i586.rpm
(untuk jenis mesin i586 dis tro RedHat)
# rpm -Uvh apache -1.3.9-8mdk.i586.rpm
untuk jenis mesin i586 distro Mandrake)

3. Merestart apache ketik:


# /etc/rc.d/init.d/httpd restart

Instalasi menggunakan file tar.gz

1. Extract file apache_1.3.17.tar.Z dengan mengetik :


# tar zxvf apache_1.3.17.tar.Z
linux akan otomatis di extrack ke apache_1.3.17
2. Masuk ke direktori apache_1.3.17
# cd apache_1.3.17
3. Melakukan step instalasi ketik:
# ./configure -prefix=/usr/local/apache
untuk configure ini banyak konfigurasinya tergantung keinginan anda pada saat
instalasi apache atau ketik :
# ./configure -help
atau lebih lengkapnya lagi baca file INSTALL yang ada di direktori apache
# make
# make install
4. Untuk menjalankan ketik :
# /usr/local/apache/bin/apachectl start
5. Jika mempunyai masalah dalam (./configure) baca INSTALL

Apache Web Server 58


Praktikum Jaringan Komputer PENS ITS
Iwan Syarif & Ferry Astika

5.3.1. Instalasi PHP, Mysql dan Apache pada Linux anda.

Pertama kali yang harus anda lakukan adalah melakukan instalasi Apache atau
Webserver pada Linux RedHat anda. Sebelum melakukan instalasi cek terlebih
dahulu apakah apache sudah terinstall pada proses instalasi awal. Jika sudah
terinstall maka cek juga apakah packet apache devel untuk pengembangan telah
terinstall. Sebaiknya tambahkan apache devel untuk berbagai keperluan module
apache seperti php.

# rpm -qa | grep apache

apache-devel-1.3.12-25
apache-1.3.12-25
apache- manual-1.3.12-25

Artinya anda sudah melakukan instalasi apache menggunakan rpm. Atau locate
apachectl untuk mencari perintah apache untuk melihat apakah apache sudah
terinstall atau belum.

kemudian install packet

# rpm - i MySQL-3.23.33-1.i386.rpm
# rpm - i MySQL-3.23.33-1.src.rpm
# rpm - i MySQL-devel-3.23.33-1.i386.rpm
# rpm - i MySQL-shared-3.23.33-1.i386.rpm
# rpm - i MySQL-client-3.23.33-1.i386.rpm
# mysql_install_db
# /etc/rc.d/init.d/mysql restart
# mysqladmin -p password 'password_anda'
# mysql -u root password_anda

atau untuk distro yg tidak menggunakan RPM.

Apache Web Server 59


Praktikum Jaringan Komputer PENS ITS
Iwan Syarif & Ferry Astika

# tar zxvf mysql-3.23.33.tar.gz


# cd mysql-3.23.33
# ./configure -prefix=/usr/local/mysql
# make
# make install
# scripts/mysql_install_db
# chown -R mysql /usr/local/mysql
# chgrp -R mysql /usr/local/mysql
# /usr/local/mysql/bin/safe_mysqld --user=mysql &

Pastikan semua terinstall dengan baik dan kemudian persiapan untuk


mengkompilasi php dengan apache dan mysql

Gunakan tar.gz untuk melakukan kompilasi dengan apache dan mysql

# ./configure --prefix=/usr/local/php --with- mysql --apxs=/usr/sbin/apxs --


activate- module=src/modules/php4/libphp4.a
# make
# make install

Edit File httpd.conf anda dan pastikan :


AddType application/x-httpd-php .php .html

Kemudian copykan file php.ini-dist ke /usr/local/lib/php.ini :


# cp php.ini-dist /usr/local/lib/php.ini

Perhatikan apakah kita sudah melakukan instalasi apxs dengan menginstall


apache-devel- x.x.x-xx. atau kita sudah melakukan kompilasi apache kita dengan
support apxs...? Apabila belum sebaiknya ada install apache-devel-x.x.x- xx atau
kompilasi ulang apache dengan support apxs (baca ./configure --help pada saat
kompilasi Apache).

Apache Web Server 60


Praktikum Jaringan Komputer PENS ITS
Iwan Syarif & Ferry Astika

Kemudian restart apache atau httpd-nya.


# httpd restart atau

# apachectl restart
Buat File test.php di Document Root (lihat httpd.conf bagi pengguna Apache)

# vi test.php
<?php echo("Halo Kalau anda melihat teks ini berarti Instalasi PHP dan Apache
anda sukses..!\n"); ?>
:wq!

Kemudian bukalah halaman http://localhost/test.php. Apabila anda melihat tulisan


"Halo kalau anda melihat teks ini berarti Instalasi PHP dan Apache anda
sukses..!" berarti instalasi berjalan dengan baik dan siap untuk digunakan.

6.3.2. Menambahkan Modul PHP

cd (pindah direktori) ke /usr/src/gd1.2 dan ketikan make, yang mana akan


membuat GD library libgd.a, yang sebaiknya dicopy ke /usr/lib. Sekarang cd ke
php-2.0.1 dan ketik/jalankan ./install.

Pertanyaan yang relevan akan berupa:

Would you like to compile PHP/FI as an Apache module? [yN] y


Are you compiling for an Apache 1.1 or later server? [Yn] y
Are you using Apache-Stronghold? [yN] y
Does your Apache server support ELF dynamic loading? [yN] y
Apache include directory (whic h has httpd.h)? [/usr/local/include/apache]
/usr/src/apache_1.2.6/src
Would you like to build an ELF shared library? [yN] y
Additional directories to search for .h files []: /usr/src/gd1.2
Would you like the bundled regex library? [yN] n

Seperti ekstensi frontpage, phtml juga membawa masalah keamanan karena phtml
jalan di bawah uid dari webserver. Pastikan menyalakan safe mode dalam
src/php.h dan batasi search path ke lokasi yang aman. Ada beberapa option lain

Apache Web Server 61


Praktikum Jaringan Komputer PENS ITS
Iwan Syarif & Ferry Astika

dalam php.h yang mungkin ingin Anda ganti. Jika Anda sangat memperhatikan
segi keamanan, kompilasilah php sebagai cgi. Walaupun hal ini akan mengurangi
kinerja dan tidak akan sebagus versi modulenya.

Ketikkan make untuk membuat semua file. Ketika kompilasi selesai, copy
mod_php.* dan libphp.a ke /usr/src/apache_1.2.6/src Tambahkan

Module php_module mod_php.o


ke akhir /usr/src/apache_1.2.6/src/Configuration, tambahkan juga
-lphp -lm -lgdbm -lgd ke EXTRA_LIBS dalam file yang sama,
application/x-httpd-php phtml ke mime.types-nya apache dan
AddType application/x-httpd-php .phtml ke srm.conf-nya Apache.

Anda mungkin juga perlu menambahkan index.phtml ke DirectoryIndex dalam


file tersebut sehingga file index.phtml otomatis dipanggil ketika direktorinya
diakses.

6.3.3. Menambahkan Modul SSL

cd /usr/src/SSL-0.8.0; ./Configure linux-elf; make; make rehash perintah ini akan


membuat library yang diperlukan oleh Apache. Anda dapat menggunakan
perintah make test untuk memastikan suksesnya proses kompilasi. Anda harus
menjalankan patch ke Apache. Pastikan Anda menerapkannya sebelum patch-nya
Frontpage, atau frontpage tidak akan jalan. cd ke /usr/src/apache_1.2.6/src dan
jalankan patch < /usr/src/apache_1.2.6/SSLpatch.

Set SSL_BASE=/usr/src/SSLeay-0.8.0 dalam Configuration. Pastikan bahwa


Module proxy_module telah disable atau Apache tidak akan terkompilasi. Jika
Anda perlu proxy, gunakan Squid squid.nlanr.net

Sekarang make certificate untuk membuat SSLconf/conf/httpsd.pem.

Apache Web Server 62


Praktikum Jaringan Komputer PENS ITS
Iwan Syarif & Ferry Astika

6.3.4. Menambahkan frontpage

Ganti file fp30.linux.tar.Z ke fp30.linux.tar.gz, atau script install tidak akan


menemukannya. Jalankan ./fp_install untuk menyalin file- file ke
/usr/local/frontpage. zcat biasanya dapat dipanggil sebagai /usr/bin/zcat.

Sekarang Anda harus menjalankan patch FP. cd ke /usr/src/apache_1.2.6/src dan


ketikkan patch < /usr/src/frontpage/version3.0/apache- fp/fp-patch-apache_1.2.5
Yang akan membuat file2 mod_frontpage.* dan membuat beberapa perubahan
dalam Configuration etc. patch 1.2.5 akan bekerja dengan apache 1.2.5 dan 1.2.6.
Lewati bagian menginstall web, anda dapat melakukannya nanti.

6.3.5. Menyatukan banyak modul

Module Apache untuk dicoba

Module2 lain yang penulis pakai selain SSL, PHP dan frontpage adalah:

Module env_module mod_env.o


Module config_log_module mod_log_config.o
Module mime_module mod_mime.o
Module negotiation_module mod_negotiation.o
Module dir_module mod_dir.o
Module cgi_module mod_cgi.o
Module asis_module mod_asis.o
Module imap_module mod_imap.o
Module action_module mod_actions.o
Module alias_module mod_alias.o
Module rewrite_module mod_rewrite.o
Module access_module mod_access.o
Module auth_module mod_auth.o
Module anon_auth_module mod_auth_anon.o
Module digest_module mod_digest.o
Module expires_module mod_expires.o
Module headers_module mod_headers.o
Module browser_module mod_browser.o

Apache Web Server 63


Praktikum Jaringan Komputer PENS ITS
Iwan Syarif & Ferry Astika

6.4. Kompilasi dan Install server daemon

Masuk ke /usr/src/apache_1.2.6/src dan edit Configuration untuk mengeset semua


Module yang ingin Anda include dalam Apache daemon. Lalu, jalankan
./Configure dan make yang akan merupakan langkah kompilasi paling akhir dan
paling rumit, jadi silakan berdoa. Jika berhasil, cp httpsd ke /usr/sbin. daemon
hasil kompilasi ini kelihatannya besar, pikirkan hal ini ketika membangun
webserver Anda. Buat direktori /var/httpd dengan subdirektori cgi-bin, conf,
htdocs, icons, virt1, virt2 dan logs. Dalam /usr/src/apache_1.2.6/conf edit
access.conf-dist, mime.types dan srm.conf-dist sesuai keperluan anda dan copy ke
var/httpd/conf/access.conf, srm.conf dan mime.types. Salin httpsd.pem yang telah
anda buat dengan make certificate ke /var/httpd/conf. Gunakan httpd.conf berikut
ini:

ServerType standalone
Port 80
Listen 80
Listen 443
User wwwrun
Group wwwrun
ServerAdmin [email protected]
ServerRoot /var/httpd
ErrorLog logs/error_log
TransferLog logs/access_log
PidFile logs/httpd.pid
ServerName www.yourhost.com
MinSpareServers 3
MaxSpareServers 20
StartServers 3
SSLCACertificatePath /var/httpd/conf
SSLCACertificateFile /var/httpd/conf/httpsd.pem
SSLCertificateFile /var/httpd/conf/httpsd.pem
SSLLogFile /var/httpd/logs/ssl.log

<VirtualHost www.virt1.com>
SSLDisable
ServerAdmin [email protected]
DocumentRoot /var/httpd/virt1
ScriptAlias /cgi-bin/ /var/httpd/virt1/cgi-bin/
ServerName www.virt1.com

Apache Web Server 64


Praktikum Jaringan Komputer PENS ITS
Iwan Syarif & Ferry Astika

ErrorLog logs/virt1-error.log
TransferLog logs/virt1-access.log
User virt1admin
Group users
</VirtualHost>

<VirtualHost www.virt1.com:443>
ServerAdmin [email protected]
DocumentRoot /var/httpd/virt1
ScriptAlias /cgi-bin/ /var/httpd/virt1/cgi-bin/
ServerName www.virt1.com
ErrorLog logs/virt1-ssl-error.log
TransferLog logs/virt1-ssl-access.log
User virt1admin
Group users
SSLCACertificatePath /var/httpd/conf
SSLCACertificateFile /var/httpd/conf/httpsd.pem
SSLCertificateFile /var/httpd/conf/httpsd.pem
SSLLogFile /var/httpd/logs/virt1-ssl.log
SSLVerifyClient 0
SSLFakeBasicAuth
</VirtualHost>

<VirtualHost www.virt2.com>
SSLDisable
ServerAdmin [email protected]
DocumentRoot /var/httpd/virt2
ScriptAlias /cgi-bin/ /var/httpd/virt2/cgi-bin/
ServerName www.virt2.com
ErrorLog logs/virt2-error.log
TransferLog logs/virt2-access.log
</VirtualHost>

Tergantung dari modules yang dikompilasi, tidak semua directives mungkin ada.
Anda dapat memanggil daftar direktif yang tersedia dengan httpsd -h.

6.5 Mulai menjalankan daemon

Jalankan Apache dengan httpsd -f /var/httpd/conf/httpd.conf. Sekarang Anda


dapat mengakses www.virt1.com baik melalui http ataupun https. Tentu saja Anda
harus membayar untuk real certificate jika Anda ingin menawarkan webwide SSL
atau Anda akan ditertawakan oleh user anda.

Apache Web Server 65


Praktikum Jaringan Komputer PENS ITS
Iwan Syarif & Ferry Astika

Salin salah satu file contoh dari directori examples- nya php kevirt1 untuk
mengetest phtml.

6.6. Virtual website

Secara normalnya server WWW (World Wide Web) adalah sebuah mesin tunggal
yang bertugas memproses HTTP request untuk sebuah WWW site. Atau secara
gampangnya, satu mesin untuk satu WWW site. Sejak pemrosesan dari server
terhadap http request menurun atau rendah, Sumber daya server akan menjadi
terbuang percuma. Dengan menggunakan virtual WWW site memungkinkan
untuk lebih dari satu WWW site diproses dalam ssatu processor. Sebagai
pengganti dari www.domain1.com dan www.domain2.com yang membutuhkan
dua buah peralatan komputer kini dapat diletakkan di satu buah peralatan
komputer dan melakukan pembagian sumberdaya dalam satu komputer tsb.

Biasanya usaha komputer kecil-kecilan, dan bisnis kecil-kecilan tidak mempunyai


sumber daya yang cukup untuk memelihara dedicated web server dan koneksi
internet secara terus menerus (dedicated line). Biaya untuk pensetupan sekitar $10
dan biaya pemeliharaan perbulan bisa berkisar $500 - $2500 per bulan. Nah
sekarang bagi mereka telah memungkinkan untuk menyewa WWW space dari
provider yang menerapkan virtual WWW, di mana para pelanggan bisa
melakukan pemeliharaan sendiri melalui telnet dan ftp.

Penyedia layanan WWW seperti InfoCom Networks di http://www.infocom.net/


menyediakan spasi WWW dengan biaya relatif lebih rendah yaitu $75 perbulan,
juga biaya untuk setting up jauh lebih murah daripada biaya untuk setting up
dedicated server/connection. Virtual site mempunyai keunggulan lebih jika
dibandingkan dengan sistem pengalamatan site spt
http://www.yourprovider.com/~businessname. Virtual WWW server juga
memungkinkan untuk melakukan pemindahan ke lokasi lain ataupun beralih ke
dedicated server tanpa merubah alamat web anda. Merubah alamat URL WWW

Apache Web Server 66


Praktikum Jaringan Komputer PENS ITS
Iwan Syarif & Ferry Astika

mungkin dapat menyebabkan para surfer/calon surfer kehilangan akses ke Web


dan kehilangan perubahan informasi bisnis anda.

Kebanyakan web sites, www.domain1.com dan www.domain2.com masing


masing mempunyai IP sendiri sendiri. Nah untuk menerima dan memproses
beberapa permintaan ke satu buah host, virtual host harus mampu untuk
menjawab dan memproses masing masing site site tersebut. Cara untuk
memecahkan masalah ini ialah dengan menggunakan IP-Aliasing. Dengan IP-
Aliasing memungkinkan sebuah host bisa menerima permintaan untuk beberapa
IP. Nah virtual web server harus memiliki kemampuan ini.

IP-Aliasing hanya salah satu bagian dari pemecahan masalah virtual host ini. Di
samping itu Domain Name System (DNS) juga harus dikonfigurasikan untuk
memetakan antara www.domain1.com dan www.domain2.com. Jika
domain1.com dan domain2.com adalah domain baru, maka kedua domain itu
harus diregistrasikan dulu ke internic. Saat ini Internic akan memungut biaya $50
pertahun untuk memelihara domain anda. (Catatan idLD P: Saat ini biaya
registrasi Internic telah diturunkan menjadi $75 per dua tahun)

Kebanyakan virtual WWW site juga sebaiknya menyediakan virtual mail, atau
memungkinkan melakukan forwarding semua email virtual domain menuju
masing masing user.

Hal lain yang seharusnya juga dikonfigurasikan oleh penyedia WWW yaitu
Virtual FTP atau memungkinkan untuk mengakses ftp dengan menggunakan
nama host standar yaitu ftp.domain1.com

Apache Web Server 67

Anda mungkin juga menyukai