Professional Documents
Culture Documents
PENGENALAN
KEPADA
HTTP APACHE
SERVER
Disediakan Oleh:
2
Memasang Apache ke dalam
Windows / Win32
Sejak keluaran versi 2.0.48, pemasangan pelayan web Apache ke dalam Windows semakin
mudah dan cepat. Untuk memuat turun perisian Apache, sila ke http://www.apache.org untuk
mendapatkan versi terkini. Semasa artikel ini ditulis, versi terbaru Apache ialah 2.0.48.
Berikut adalah contoh skrin paparan installer menggunakan Microsoft Installer (*.msi).
Rajah 1: Installer
Klik next untuk mula memasang Apache. Apabila anda diminta untuk memasukkan Maklumat
Pelayan (Rajah 2), sila masukkan data -data yang berkaitan dengan pelayan. Sebagai contoh
untuk pelayan saya, saya menggunakan maklumat seperti berikut:
3
Rajah 2: Maklumat Pelayan
Sila jadikan pelayan Apache sebagai servis dengan memilih for All Users, on Port 80, as a
Service (Seperti yang dicadangkan). Kemudian klik next dan teruskan instalasi.
Di skrin Destination Folder (Rajah 3), sila pilih lokasi untuk Apache, saya cadangkan anda
supaya menggunakan lokasi asal (default) dan klik next.
Semasa proses instalasi anda ak an dapati apache melakukan beberapa konfigurasi seperti
proses pemasangan servis dan permulaan pelayan. Setelah selesai, satu ikon kecil
(berbentuk dayak) akan diciptakan di bawah taskbar kanan skrin anda (Lihat Rajah 4)
4
Rajah 4: Apache Monitor
Saya mempunyai beberapa web yang di simpan di dalam komputer. Strukturnya sama
seperti yang terdapat di dalam pelayan web sebenar saya. Untuk membantu anda apa yang
saya maksudkan, cuba lihat dua lokasi tapak web saya.
Jadi bagaimana untuk saya menggunakan domain maya di mana apabila saya menaip
http://www.ilmuit.com saya akan mengakses fail -fail yang terdapat di dalam
C:\home\ilmuit\public_html\*.*
Manakal apabila saya menaip http://blog.ilmuit.com pula saya akan mengakses fail -fail yang
terdapat di dalam C:\home\blog\public_html\*.*
Konfigurasi Windows
Bagi pengguna Windows 9x, cari fail HOSTS.SAM yang terletak di C: \WINDOWS, manakala
bagi pengguna Windows NT/XP/2000 pula, cari fail HOSTS yang terletak di
C:\WINDOWS\System32\drivers\etc\
Sunting fail tersebut menggunakan penyunting teks kegemaran anda dan masukkan baris
berikut:
KOD
127.0.0.1 www.ilmuit.com blog.ilmuit.com
127.0.0.1 ialah alamat loopback dan diik uti dengan dua hos iaitu www.ilmuit.com dan
blog.ilmuit.com. Tambahkan di hujungnya jika anda mempunyai web -web lain.
Konfigurasi Apache
5
Buka fail httpd.conf, kemudian cari arahan NameVirtualHost (biasanya terletak di bahagian
bawah fail) dan gantikan dengan nilai *:80. Contoh:
KOD
NameVirtualHost *:80
KOD
<VirtualHost *:80>
ServerName blog.ilmuit.com
ServerAdmin admin @blog.ilmuit.com
documentRoot "C:\home\blog\public_html"
ErrorLog logs/blog.ilmuit.com-error_log
CustomLog logs/blog.ilmuit.com -access_log common
CustomLog logs/blog.ilmuit.com -access_log agent
</VirtualHost>
Simpan dan mulakan semula Apache. Sekarang halakan pelayar web anda ke alamat
berikut:
http://www.ilmuit.com
http://blog.ilmuit.com
Untuk menggunakan .htaccess, anda perlu memastikan terlebih dahulu samada pelayan
6
anda membenarkan anda untuk berbuat begitu. Jika tidak, sila hubungi pentadbir anda. Bagi
mereka yang mempunyai capaian 'root', anda boleh memeriksa fail httpd.conf:
KOD
AllowOverride All
a) Gunakan Dreamweaver untuk mencipta fail .htaccess (di mana anda boleh namakannya
kepada .htaccess tanpa masalah) atau
b) Simpan fail dengan nama htaccess.txt, kemudian pindahkan ke pelayan dan namakan fail
anda di sana.
Mengaktifkan Register_Global
Selain dari membuat arahan register_global di dalam php.ini, anda juga boleh membuat
arahan register_global di dalam .htaccess seperti berikut:
KOD
php_flag register_globals on
7
Petunjuk Errordocument boleh digunakan dalam konteks konfigurasi pelayan dan hos maya
iaitu dengan menyunting fail httpd.conf. Oleh itu, setiap kali suntingan dilakukan, anda
perlulah memulakan semula pelayan Apache terlebih dahulu.
Jika anda tidak mempunyai capaian 'root', anda masih boleh menggunakan petunjuk
Errordocument pada .htaccess
Berikut beberapa kaedah yang boleh anda gunakan. Untuk menukar mesej HTTP 404
kepada mesej anda, gunakan seperti berikut:
KOD
Errordocument 404 "Maaf, fail yang diminta tidak dijumpai."
Untuk memaparkan mesej yang ditulis pada fail yang berasingan, gunakan seperti berikut:
KOD
Errordocument 404 /gagal.html
Selain dari fail tempatan, anda juga boleh mengarahkan klien supaya mengakses fail luaran
dengan menetapkan alamat URL yang lengkap. Ini amat berguna sekali apabila sesuatu
halaman atau keseluruhan tapak web telah berpindah ke lokasi yang lain. Gunakan seperti
berikut:
KOD
Errordocument 404 http://www.pelayanbaru.com/fail.html
http://ilmuit.com
URL anda akan bertukar menjadi penuh bersama -sama dengan "www"
Untuk melakukannya anda boleh gunakan kod di bawah ini dan masukkan ke dalam fail
htaccess anda. Sila ubah domain domain.com terlebih dahulu:
KOD
RewriteCond %{HTTP_HOST} ^domain.com [NC]
RewriteCond %{HTTP_HOST} ^domain.com.* [NC]
RewriteRule ^(.*) http://www.domain.com/$1 [R,L]
8
Lindungi bandwidth anda
Mungkin anda pernah mengalami di mana fail -fail imej dari laman web anda digunakan oleh
orang lain tanpa pengetahuan anda. Kecurian bandwidth atau hot linking ini ialah satu
sambungan dari web luar kep ada fail-fail yang terdapat di dalam pelayan anda.
Untuk mengelakkan kecurian bandwidth atau hot linking, masukkan petunjuk berikut ke
dalam fail .htaccess anda. Simpan ke dalam folder yang ingin dilindungi.
KOD
RewriteEngine on
RewriteCond %{HTTP_REFE RER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www \.)?DomainAnda\.com/.*$ [NC]
RewriteRule \.(gif|jpg)$ - [F]
Dengan cara ini setiap imej-imej atau gambar yang terdapat di folder tersebut tidak akan
dapat disambungkan ke laman web lain kecuali dari domain DomainAnda.com.
Anda juga boleh menggantikan imej alternatif jika anda mahu. Gantikan baris terakhir sekali
dengan petunjuk ini:
KOD
RewriteRule \.(gif|jpg)$ http://www.DomainAnda.com/nolinking.gif [R,L]
9
Dan juga
KOD
AddHandler server-parsed .shtml
Selain itu anda juga boleh menggunakan kaedah arahan XBitHack di dalam httpd.conf anda:
KOD
XBitHack on
Terdapat banyak cara untuk memasang Apache sebagai pelayan web di dalam Linux/Unix.
Anda boleh menggunakan salah satu daripada tiga cara di bawah berikut:
http://www.apache.org/dist/binaries
Bagi pengguna RedHat Linux, a nda boleh dapatkan RPM Apache di alamat berikut:
ftp://ftp.redhat.com/pub/redhat/current/i386/RedHat/RPMS
Untuk mendapatkan Apache dalam bentuk kod sumber, muat turun di alamat berikut:
http://www.apache.org/dist
10
Memasang Apache ke dalam Linux /
unix II
Memasang Apache secara Binari
Memasang Apache secara binari adalah cara yang paling mudah untuk memastikan pelayan
web anda bekerja. Fail binari biasanya telah dikompil mengikut jenis sistem operasi.
Dapatkan versi terkini Apache untuk sistem operasi anda di sini. Bagi contoh ini saya
memuat turun Apache untuk FreeBSD saya. Setelah selesai, buka fail mampatan Apache
tersebut menggunakan arahan:
Command Prompt
$ gunzip < apache_2.0.4-i386-freebsd3.2.tar.gz | tar xvf -
Semasa artikel ini ditulis, versi terkini Apache ialah 2.0.48 (apache_2.0.4 -i386-
freebsd3.2.tar.gz), oleh itu jika anda menggunakan versi dan sistem operasi yang berlainan,
sintaks nama failnya juga berbeza.
Edaran binari Apache 2.0.4 didatangkan sekali dengan skrip instalasi install.bindist.sh. Untuk
memulakan proses instalasi, taipkan arahan berikut:
Command Prompt
$ ./install.bindist.sh
Secara 'default' ia akan mengarahkan program Apa che dipasang ke lokasi /usr/local/apache
(sila rujuk fail README).
11
Memasang Apache ke dalam Linux /
unix III
Menggunakan RPM
Bagi penggemar-penggemar distribusi RedHat Linux, anda boleh memasang Apache melalui
RPM. Sama seperti binari, RPM telah disuaikan mengikut jenis sistem operasi. Jika sistem
anda menyokong RPM, anda boleh memasang Apache dengan mudah dan cepat .
Untuk memeriksa samada RPM Apache anda telah terpasang di dalam sistem anda,
gunakan arahan berikut:
Command Prompt
$ rpm -qa | grep apache
Jika sistem anda belum mempunyai Apache, dapatkan RPM Apache terkini dari salah satu
tapak web RedHat di alam at berikut:
ftp://ftp.redhat.com/pub/redhat/current/i386/RedHat/RPMS
http://www.redhat.com/downloa d/mirror.html
Selain itu, anda juga boleh mendapatkan RPM Apache dari cakera padat RedHat sendiri di
lokasi RedHat/RPMS.
Salinkan fail RPM tersebut ke dalam sistem, kemudian taipkan arahan berikut:
Command Prompt
$ rpm -ivh apache-2.0.4.i386.rpm
Sebaik sahaja anda menekan 'Enter' Apache anda akan dipasang secara automatik. Sila
lihat progress bar #######
12
Memasang Apache ke dalam Linux /
unix IV
Memasang Apache secara Kompilasi
Muat turun kod sumber Apache versi terkini di alamat berikut:
http://www.apache.org/dist
cd httpd_2.0.48
Command Prompt
$ cd httpd_2.0.48
Seterusnya gunakan arahan ./configure dan tetapkan dimana apache akan dipasangkan,
untuk contoh ini saya akan memasang apache ke dalam /usr/local/apache:
./configure --prefix=/usr/local/apache
Command Prompt
$ ./configure --prefix=/usr/local/apache
Kelebihan arahan configure ialah anda boleh melakukan konfigurasi Apache anda sebelum
ditukar kepada bentuk binari. Contohnya, jika anda tidak mahukan sokongan CGI, anda
boleh menggunakan arahan seperti berikut:
Command Prompt
$ ./configure --prefix=/usr/local/apache --disable-cgi --disable-cgid
make
Command Prompt
$ make
13
make install
Command Prompt
$ make install
Apache anda akan dipasang ke dalam direktori /usr/local/apache sepertimana yang telah
ditetapkan pada pilihan --prefix sebelum ini.
/usr/local/apache/bin/apachectl start
Command Prompt
$ /usr/local/apache/bin/apachectl start
Untuk mencuba Apache, gunakan pelayar web anda dengan menghala ke alamat
http://localhost. Jika semua berkeadaan baik, anda aka n di bawa ke halaman muka hadapan
Apache.
14
RewriteCond %{HTTP_USER_AGENT} ^Mozilla/4(.*)MSIE
RewriteRule ^index.html$ /index.IE.html [L]
Bagi contoh di atas, apabila fail index.htm l di akses melalui pelayar web Internet Explorer -
Mozilla v4, pengunjung tersebut akan dipindahkan ke fail index.IE.html.
Untuk memindakan pelayar web jenis Netscape v6.+ - Mozilla v5 pula, gunakan:
KOD
RewriteCond %{HTTP_USER_AGENT} ^Mozilla/5(.*)Geck o
RewriteRule ^index.html$ /index.NS5.html [L]
Manakala bagi pelayar web jenis Lynx atau Mozilla v1/2 pula, gunakan:
KOD
RewriteCond %{HTTP_USER_AGENT} ^Lynx/.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^Mozilla/[12].*
RewriteRule ^index.html$ /index.20.ht ml [L]
http://www.php.net.my/news/details.php?id=308
15
Mengawal senarai indeks direktori
Direktori /images anda mungkin sarat dengan fail -fail imej PNG, JPEG, GIF dan sebagainya.
Fail-fail ini sebenarnya boleh dilihat dengan mudah m elalui pelayar web jika pengunjung
anda tahu kedudukannya. Namun begitu anda masih boleh mengelakkan fail -fail tersebut
dari dipaparkan di pelayar web, iaitu dengan menghalang terus penyenaraian indeks.
Jika anda tidak mempunyai capaian root ke pelayan, gunakan fail .htaccess anda dengan
memasukkan petunjuk berikut:
KOD
IndexIgnore *
16
Ubah dan tukarkan NamaRobot , alamat IP robot dan direktori yang ingin dilindungi.
Contohnya seperti di bawah ini, ia akan menghalang robot jenis Googlebot -Image yang
menggunakan jarak IP 123.45.67.8 - 123.45.67.9 daripada memasuki folder /images/:
KOD
RewriteCond %{HTTP_USER_AGENT} ^Googleb ot-Image.*
Mulakan semula pelayan Apac he anda. Sekarang gunakan pelayar web anda dengan
menghala ke alamat http://www.pelayan.com/server -info
17
Memalsukan direktori - mod rewrite
Modul mod_rewrite ialah modul Apache yang digunakan untuk meman ipulasi URL.
Dengan modul ini, anda boleh mengubah susunan URL kepada bentuk URL yang lain.
Apa yang dimaksudkan dengan mengubah susu nan URL ialah: contoh jika saya mempunyai
alamat URL seperti ini:
http://www.ilmuit.com/content.php?article.93
http://www.ilmuit.com/93
Direktori /93 sebenarnya tidak wujud di dalam pelayan kerana ia adalah palsu. Dengan ini
saya boleh memendekkan URL yang panjang tadi kepada bentuk yang lebih mudah diingat.
Sekiranya anda mempunyai skrip category.php yang membentuk link kategori seperti ini:
1. berita - /category.php?cat=berita
2. artikel - /category.php?cat=artikel
3. ulasan - /category.php?cat=ulasan
4. produk - /category.php?cat=produk
5. forum - /category.php?cat=forum
1. http://www.ilmuit.com/berita
2. http://www.ilmuit.com/artikel
3. http://www.ilmuit.com/ulasan
4. http://www.ilmuit.com/produk
5. http://www.ilmuit.com/forum
18
Melindungi kandungan web dari
robot dan spider
Jika anda serius untuk melindungi kandungan web, anda perlu berjaga -jaga dengan program
spider dan robot. Semua enjin pencari seperti Yahoo!, AltaVista, Excite, Google mahupun
Cari.com.my menggunakan aplikasi robot automatik untuk mencari kandungan web. Ini tidak
dapat dielakkan kerana anda mahu meletakkan URL web anda ke dalam pangkalan data
mereka untuk diindekskan.
Tabiat robot dan spider web ialah ia bersifat melata dimana ia akan merayap -rayap seluruh
direktori yang terdapat di dalam pelayan anda. Ini amat merbahaya sekiranya anda
mempunyai folder-folder rahsia yang ingin dilindungi. Oleh itu anda perlu menghentikan robot
dari mengakses beberapa bahagian tertentu web anda yang dirasakan tidak wajar untuk
diindekskan terutama sekali pada folder -folder imej dan folder pentadbiran.
Protokol Pengasingan Robot atau Robot Exclusion Protocol membenarkan pentadbir untuk
meletakkan fail robots.txt ke dalam akar web menandakan di mana robot tidak perlu masuk.
Anda boleh mendapatkan maklumat lanjut tent ang Protokol Pengasingan Robot dan cara
untuk menggunakannya di http://www.robotstxt.org
Untuk memeriksa fail robots.txt wujud di tapak web anda, sila gunakan tool ini:
http://sm.mobrien.com/check.htm
Jika kandungan fail menetapkan supaya tidak memasuki folder http://www.i lmuit.com/cgi-bin/
maka robot akan terpaksa akur dengan undang -undang yang ditetapkan. Kandungan fail
robots.txt boleh mengandungi rekod seperti berikut:
KOD
User-agent: *
Disallow: /tmp/
Disallow: /cgi-bin/
Disallow: /gambar/
Arahan pertama, User-agent memaklumkan kepada robot di mana arahan berikut perlu diberi
perhatian oleh mana-mana robot. Tiga arahan berikutnya Disallow, memberitahu robot untuk
tidak mengakses 3 direktori iaitu /cgi -bin, /bin, dan /gambar.
Untuk mengelakkan robot mengakses kes eluruhan web, gunakan konfigurasi seperti berikut:
KOD
User-agent: *
Disallow: /
19
User-agent: *
Disallow:
Untuk mengelakkan satu robot dipanggil WebCrawler, gunakan konfigurasi seperti berikut.
KOD
User-agent: WebCrawler
Disallow: /
Untuk mengelakkan satu fail, contohnya /berita/berita_terkini.html dari diakses oleh robot
WebCrawler, gunakan konfigurasi berikut:
KOD
User-agent: WebCrawler
Disallow: /berita/berita_terkini.html
Anda juga boleh menghalang lebih dari satu jenis robot dengan konfigurasi berbeza seperti
berikut:
KOD
User-agent: *
Disallow: /tmp/
Disallow: /cgi-bin/
Disallow: /gambar/
User-agent: WebCrawler
Disallow: /berita/berita_terkini.html
User-agent: Googlebot-Image
Disallow: /gambar/
Dengan teknik Pengasingan Robot sebegini, anda tidak lagi akan risau dengan fail -fail
tertentu di dalam folder kerana ia tidak akan terdedah kepada mana -mana enjin carian.
Walaupun format robots.txt adalah "Piawai Pengasingan Robot", tidak semua program robot
dan spider akan mengambil peduli dan mematuhi s egala peraturan yang telah ditetapkan.
Oleh itu, jika anda benar-benar ingin melindungi sesuatu, gunakan fail .htaccess.
Perhatian: Jangan sesekali senaraikan direktori kritikal sep erti folder rahsia di dalam
robots.txt kerana sesiapa sahaja boleh mengakses fail robots.txt melalui pelayar web
20
(browser). Ini boleh menarikkan lagi perhatian pada folder tersebut terutama sekali kepada
penggodam komputer.
Halaman Berkaitan
Menghalang robot secara spesifik
21