Apache merupakan Web Server paling populer digunakan di Internet. Lebih dari 70% Web Server di Internet menggunakan Apache. Ini disebabkan karena Apache tidak saja bisa didapatkan secara gratis, lebih dari itu Apache bisa diimplementasikan diberbagai platform sistem operasi, disamping Apache ini mempunyai kecepatan dan performa yang sangat baik.

Apache versi 1.0 dirilis pada bulan Desember 1995. Slackware ver 12.2 menggunakan Apache versi 2.2.4. Informasi tentang Apache dapat Anda lihat pada situs-situs: http://www.apache.org, Apache Week (http://apacheweek.com) atau Anda dapat googling dengan key word apache.

Pada bab ini, Anda akan diarahkan untuk dapat menjalankan apache Web Server di mesin Slackware 12.2. Pada instalasinya, Slackware 12.2 telah menyertakan Apache pada paketnya. Seperti biasanya pada pertama kali akan mengkonfigurasi, Anda harus melihat dulu apakah paket apache telah terinstal di mesin Anda. Slackware mengusung Apache HTTPD server pada paketnya.

root@server-smkn3tkj:/# ls /var/log/packages/ |grep httpd

httpd-2.2.10-i486-1

root@server-smkn3tkj:/#

Anda lihat bahwa paket apache yang terinstall di mesin Anda httpd versi 2.2.10. Langkah selanjutnya adalah mengaktifkan apache, yakni dengan mengetikkan perintah:

student@server-smkn3tkj:~$ su

Password:


root@server-smkn3tkj:/home/student# chmod 755 /etc/rc.d/rc.httpd

//Memberikan permission rc.httpd agar bisa dieksekusi.

//Anda juga dapat menggunakan perintah:

root@server-smkn3tkj:/home/student# chmod +x /etc/rc.d/rc.httpd

root@server-smkn3tkj:/home/student# /etc/rc.d/rc.httpd restart

//Anda juga dapat menggunakan perintah:

//men-start apache

root@server-smkn3tkj:/home/student# /usr/sbin/apachectl -k start

//men-stop apache

root@server-smkn3tkj:/home/student# /usr/sbin/apachectl -k stop

//men-restart apache

root@server-smkn3tkj:/home/student# /usr/sbin/apachectl -k restart

Setelah itu buka dengan browser links pada konsol, dan ketikkan http://localhost, jika pada monitor mendapatkan salam hangat dari apache berarti web server Anda sudah berjalan, dan tinggal mengkonfigurasi. Sebaiknya Anda tidak melangkah lebih jauh jika Anda belum mendapatkan salam hangat dari apache:

links http://localhost

It works !

Jika konfigurasi DNS server Anda jalan (running dengan baik), maka Anda dapat mengetikkan alamat domain pada browser Anda. Pada pembahasan DNS Server, kita telah membuat domain dengan nama http://www.tkj-smk3bgr.net dan dokumen root disimpan di /var/www/htdocs. Perhatikan ilustrasi dibawah ini:

links http://www.tkj-smk3bgr.net

It works !

Gambar di atas, saya mencoba melihat konfigurasi Apache dengan mengetikan alamat domain yang telah dibuat: http://www.tkj-smk3bgr.net. Kemudia, Saya mencoba membuat file html sederhana dan saya letakkan pada dokumen root (/var/www/htdocs) dengan nama bengkel.html:

<html>

<head>

<title>Latihan Apache</title>

</head>

<body>

Hello World

</body>

</html>

Konfigurasi Dasar

Berikut ini bagian-bagian yang perlu dicermati pada konfigurasi apache web server. Perlu Anda ketahui bahwa letak file konfigurasi apache pada slackware 12.2 ada pada /etc/httpd/httpd.conf dan pada slackware 12.2 ini menggunakan sistem include file konfigurasi lain yang terletak di /etc/httpd/extra. Perhatikan konfigurasi dasar pada slackware 12.2 berikut ini:

No

Konfigurasi file httpd.conf

Server Admin: isilah dengan e-mail Anda, e-mail administrator

1

ServerAdmin webmaster@smk3bgr.net

ServerName: Baris ini dapat Anda isi dengan nama situs Anda jika Anda mempunyai Web Server dan OnLine tentunya. Namun jika berjalan di localhost saja biarkan tanda pagar.

2

#ServerName www.tkj-smk3bgr.net

Document Root: Digunakan untuk mendefinisikan letak halaman web yang akan diakses. Tempat dimana file-file web diletakkan.

3

DocumentRoot “/srv/httpd/htdocs”

DocumentRoot “/var/www/htdocs”

Directory: sama dengan Document Root, ganti dengan directory Anda. Ini diperlukan agar direktori dapat diakses dari manapun

4

<Directory />

Options FollowSymLinks

AllowOverride None

Order deny,allow

Deny from all

</Directory>

DirectoryIndex: digunakan untuk menentukan file apa yang akan ditampilkan ketika sebuah directory diakses, defaultnya adalah index.html. Nilai parameter ini bisa lebih dari satu. Biasanya jika apache Anda dapat membuka menjalankan file .php maka parameternya perlu ditambah index.php

5

<IfModule dir_module>

DirectoryIndex index.html index.htm index.php

</IfModule>

Include mod_php: agar halaman .php dapat jalan, cari baris Include /etc/httpd/mod_php.conf dan hilangkan tanda pagar

6

# Uncomment the following line to enable PHP:

#

Include /etc/httpd/mod_php.conf

Setelah Anda melakukan perubahan sebagaimana pada tabel di atas, maka restartlah Apache Server Anda agar dapat menjalankan konfigurasi yang baru. Anda dapat melihat apakah hasil konfigurasi di atas syntaksnya sudah benar atau belum dengan mengetikkan baris berikut:

root@server-smkn3tkj:/# /usr/sbin/apachectl configtest

Jika syntaks benar, apache akan memberi respon Syntax OK

Kemudian kita mencoba melihat apakah Apache yang telah dikonfigurasi dapat menjalankan file-file .php. Untuk itu, saya mencoba membuat file dengan nama phptest.php:

<?

phpinfo();

?>

Tentukan, harap Anda ingat file phptest.php mempunyai hak akses 755 biar dapat di eksekusi. Jangan lupa, Anda lihat pada file php.ini yang terletak di /etc/httpd/php.ini, Anda cari baris:

short_open_tag = Off Anda ganti dengan:

short_open_tag = On

root@server-smkn3tkj:/# links http://tkj-smk3bgr.net/phptest.php

Virtual Host

Istilah virtual host (vhost) dapat dipahami sebagai proses yang dilakukan untuk membuat seolah-olah ada lebih dari satu server pada satu mesin. Ini dapat dilakukan dengan membuat beberapa hostname. Secara mudah, Apache dapat menjalankan banyak situs sekaligus. Sebagai misal: http://www.tkj-smk3bgr.net; up.tkj-smk3bgr.net; perpus.tkj-smk3bgr.net dimana semua situs ini dapat dijalankan dengan fasilitas virtual host.

Apache pada awalnya telah mendukung penerapan pendekatan IP dan pendekatan hostname dalam vhost. Vhost dengan pendekatan IP adalah dengan menggunakan IP address untuk melayani beberapa virtual host. Setiap virtual host memiliki IP address sendiri-sendiri. Semakin banyak virtual host yang dibuat semakin banyak pula IP yang diperlukan.

Sedangkan dengan pendekatan hostname, pengelolaan virtual host akan lebih mudah. Yang perlu dilakukan hanya melakukan sedikit konfigurasi pada server DNS agar memetakan setiap hostname yang dibuat ke IP address, kemudian mengkonfigurasi Apache Web Server agar mengenali setiap hostname yang berbeda. Pendekatan hostname ini lebih sering dilakukan, mengingat saat ini untuk mendapatkan IP address publik tidaklah mudah.

Untuk menggunakan pendekatan hostname pada virtual hosting, Anda harus menunjukkannya ke IP address dan port pada server yang akan menerima permintaaan host-host. Langkah ini dilakukan dengan menggunakan directive NameVirtualHost. NameVirtualHost host yang menggunakan argumen * (wildcard) untuk menunjukkan keseluruh IP address. Perhatikan langkah konfigurasi virtual host berikut:

No

Konfigurasi VirtualHost

Mengaktifkan Virtual Host:

1

Letak file di /etc/httpd/httpd.conf

# Virtual hosts

# Include /etc/httpd/extra/httpd-vhosts.conf

Hilangkan tanda #

Mengatur Directive. Argumen yang menunjuk ke directive <VirtualHost> sama dengan argumen-argumen pada directive NameVirtualHost.

2

Letak file di /etc/httpd/extra/httpd-vhosts.conf

<VirtualHost *:80>

ServerAdmin hendra@smk3bgr.net

DocumentRoot “/var/www/htdocs/perpus-tkj”

ServerName perpus.tkj-smk3bgr.net

ErrorLog “/var/log/httpd/perpus-access_log”

CustomLog “/var/log/httpd/perpus-error_log” common

<Directory “/var/www/htdocs/perpus-tkj”>

Options Indexes FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

</Directory>

</VirtualHost>

Dari hasil konfigurasi di atas, Anda bisa lihat bahwa file httpd-vhosts.conf sudah dirubah sesuai dengan yang kita inginkan dalam membuat virtual host. Untuk itu file httpd-vhosts.conf yang default cukup Anda berikan simbol pager supaya tidak aktif, contohnya:

#<VirtualHost *:80>

# ServerAdmin webmaster@dummy-host.example.com

# DocumentRoot “/usr/docs/dummy-host.example.com”

# ServerName dummy-host.example.com

# ServerAlias http://www.dummy-host.example.com

# ErrorLog “/var/log/httpd/dummy-host.example.com-error_log”

# CustomLog “/var/log/httpd/dummy-host.example.com-access_log” common

#</VirtualHost>

Pada baris ServerName perpus.tkj-smk3bgr.net, Anda diharuskan untuk membuat nama alias perpus dari hostname ns1.tkj-smk3bgr.net, sehingga perpus.tkj-smk3bgr.net adalah nama domain yang bersikan suatu website perpustakaannya milik tkj. Setelah itu buatlah direktori perpus-tkj di dalam direktori /var/www/htdocs masukkan file index.html pada direktori perpus-tkj, editlah file index.html rubah dengan nama Perpustakaan Milik Teknik Komputer dan Pengelolaan Jaringan SMKN 3 Bogor. Ketika Anda mengakses alamat links http://perpus.tkj-smk3bgr.net maka akan keluar tulisan “Perpustakaan Milik Teknik Komputer dan Pengelolaan Jaringan SMKN 3 Bogor”. Begitu juga dengan http://www.tkj-smk3bgr.net pada index.html-nya rubahlah dengan kata “Ini Program Keahlian Ku”. Dan pada subdomain up.tkj-smk3bgr.net rubahlah dengan kata “Unit Produksi Tempat Usaha Ku”.

Semua hasil konfigurasi, baik konfigurasi/pengeditan file httpd-vhosts.conf, index.html dll. yang dilakukan jangan lupa disimpan. Selanjutnya restartlah apache Anda, dan lakukanlah testing pada browser links dengan mengetikkan alamat-alamat yang sudah dibuat pada virtual host, diantaranya adalah:

links http://perpus.tkj-smk3bgr.net, links http://www.tkj-smk3bgr.net, http://up.tkj-smk3bgr.net.

User Directory

Bagaimana jika server Anda mempunyai banyak user dan setiap user diberikan kebebasan untuk membuat homepagenya masing-masing? Cara yang paling praktis adalah dengan memasukkan atau meletakkan homepage setiap user pada direktori homenya masing-masing. (Anda ingat setiap user yang di create di mesin Linux akan diberikan directory di /home/<nama_user>).

Misalnya kita mempunyai 2 (dua) user katakanlah bernama dia dan saya. Karena setiap user mempunyai home direktory masing-masing, maka perlu dibuat ketetapan untuk meletakkan index.html dan atau index.php di /home/user/public_html. Ini sengaja diberi nama public_html untuk setiap user karena file ini akan dipublish. Jadi untuk setiap user akan mempunyai folder website : /home/dia/public_html untuk user dia; /home/saya/public_html untuk user saya dan seterusnya.

Untuk slackware 12.2 konfigurasi terdapat di /etc/httpd/extra/httpd-userdir.conf. Untuk mengaktifkan user directory, Anda cukup meng-edit di /etc/httpd/httpd.conf dan mencari baris:

# User home directories

# Include /etc/httpd/extra/httpd-userdir.conf

Hilangkan tanda #

Setelah itu editlah file httpd-vhosts.conf didalam direktori /etc/httpd/extra:

root@server-smkn3tkj:/# mcedit /etc/httpd/extra/httpd-vhosts.conf

karena kita sudah membuat user dengan nama dia, otomatis penambahan subdomain terjadi, maka Anda bisa menambahkan alias pada DNS melalui perintah: dia IN CNAME ns1

dia CNAME ns1 mendefinisikan bahwa hostname ns1.tkj-smk3bgr.net mempunyai nama alias dia.tkj-smk3bgr.net”.

Langkah selanjutnya adalah menuliskan virtual host utuk user dengan nama dia, serperti di bawah ini:

<VirtualHost *:80>

ServerAdmin dia@smk3bgr.net

DocumentRoot “/home/dia/public_html/webdia”

ServerName dia.tkj-smk3bgr.net

ErrorLog “/var/log/httpd/dia-access_log”

CustomLog “/var/log/httpd/dia-error_log” common

<Directory “/home/dia/public_html”>

Options Indexes FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

</Directory>

</VirtualHost>

Jangan lupa menyimpan perubahan ini, dan restart apache Anda. Kemudian lakukan test pada browser Anda: http://tkj-smk3bgr.net/~user.

Jika muncul pesan “Parent Directory” maka Anda telah berhasil membuat homepage untuk setiap user.

Coba Anda jalankan perintah seperti dibawah ini:

http://dia.tkj-smk3bgr.net/~dia/

Index of /~dia

Jika Anda mengedit file index.html pada direktori webdia dengan tulisan Ini WebDia, maka ketika Anda mengklik link webdia akan terlihat tulisan “Ini WebDia”, sehingga alamat berubah menjadi http://tundra.tkj-smk3bgr.net/~tundra/webdia/ atau sama saja dengan mengetikkan URL http://tundra.tkj-smk3bgr.net/. Untuk user yang bernama saya sama seperti cara yang tertera di atas.

*Dari berbagai sumber

Advertisements