Promo

 

1. Instalasi Apache (1253848454)

Instalasi Apache saya lakukan melalui pkg_add. Pada tutorial ini saya memberikan contoh bila kita memilih server mirror/lokal untuk mendapatkan package daripada langsung mengambilnya dari situs utama FreeBSD. Dalam contoh berikut saya menggunakan server lokal di ITB misalnya.
Gunakan perintah ini (kita login sebagai root)untuk mensetting lokasi default dari package:
# setenv PACKAGESITE ftp://ftp.itb.ac.id/pub/FreeBSD/ports/i386/packages-6.2-release/Latest/
atau:

atau:
# setenv PACKAGESITE ftp://ftp.itb.ac.id/pub/FreeBSD/ports/i386/packages-6-stable/Latest/

Perbedaan kedua perintah di atas adalah pada jenis package, yaitu package yang ada pada release FreeBSD 6.2 atau kita akan menggunakan package golongan stable untuk distribusi umum FreeBSD 6. Beberapa jenis package ada yang masuk pada kedua tempat tersebut, tapi sebagian ada yang hanya pada satu tempat diantara keduanya. Jadi kalau misalnya kita telah mengeset lokasi package misalnya dengan perintah pertama, maka kita bisa menggantinya dengan melakukan setenv ulang tentunya dengan parameter lokasi package yang berbeda, seperti pada perintah kedua. Kalau menggunakan shell seperti bash, maka syntax perintah di atas perlu diubah sbb:
# export PACKAGESITE=ftp://ftp.itb.ac.id/pub/FreeBSD/ports/i386/packages-6.2-release/Latest/
atau
# export PACKAGESITE=ftp://ftp.itb.ac.id/pub/FreeBSD/ports/i386/packages-6-stable/Latest/

Selanjutnya install package:
# pkg_add -r apache22

Gunakan semua option secara default kalau anda tidak mengetahui fungsi option-option yang disertakan. Cara instalasi dengan pkg_add ini dipilih karena instalasi jadi lebih cepat (apache22 sudah dicompile, tanpa perlu compile sendiri). Pada beberapa package kita perlu melakukan kompilasi sendiri dari source jika ada parameter2 konfigurasi yang perlu disertakan pada waktu kompilasi. Tapi jika anda ingin melakukan kompilasi, mungkin untuk mencegah kemungkinan masalah kompatibilitas, maka anda dapat menginstall package tersebut dari ports collection:
# cd /usr/ports/www/apache22/
# make config
# make install clean

Setelah instalasi berhasil, apache perlu diaktifkan secara default ketika booting. Edit file /etc/rc.conf:
# ee /etc/rc.conf

Masukkan baris berikut:
apache22_enable="YES"

Edit file httpd.conf:
# ee /usr/local/etc/apache22/httpd.conf

Ubah variabel-variabel seperti berikut:
Listen 10.1.1.30:80
ServerName example.com:80
ServerAdmin admin@example.com

Variable di atas perlu diganti sesuai dengan sistem yang akan dipakai. Dalam hal ini, nama host adalah example.com dengan alamat IP 10.1.1.30, port yang digunakan adalah port 80 dan email admin adalah admin@example.com.

Kemudian ganti semua parameter /usr/local/www/apache22 dengan /usr/local/www/ karena pada apache22 default instalasi diubah dari versi2 sebelumnya. Hal ini sifatnya optional. Jika anda mengubahnya, maka anda perlu memindahkan semua isi direktori /usr/local/www/apache22 yang sebenarnya ke direktori /usr/local/www/. Jadi, keluar dari editor, lalu lakukan perintah berikut:
# mv /usr/local/www/apache22/* /usr/local/www

Setting secara umum selesai, anda dapat menguji syntax httpd.conf anda:
# apachectl configtest

Beberapa perintah apache yang perlu anda coba:
# apachectl start
# apachectl restart
# apachectl graceful
# apachectl stop

Kadang-kadang apache tidak bisa dijalankan. Perlu anda cek dengan perintah2 berikut:
# tail /var/log/messages
# tail /var/log/httpd-error.log

Beberapa error yang sering terjadi, diantaranya keluar pesan seperti berikut:
[warn] (2)No such file or directory: Failed to enable the 'httpready' Accept Filter

Ini berarti anda perlu melakukan load kernel module yang bernama accf_http. Caranya:
# kldload accf_http

Agar setiap kali booting, kernel module ini di-load secara otomatis, maka anda perlu membuat file /boot/loader.conf:
# ee /boot/loader.conf

Masukkan baris berikut:
accf_http_load="YES"

Error yang lain yang sering terjadi adalah:
"cannot determine local host name"

Penyebabnya adalah resolv dari hostname tidak sama dengan alamat IP yang dipunyai. Coba cek dengan perintah berikut:
# hostname
example.com
# nslookup example.com
Non-authoritative answer:
Name: example.com
Address: 10.1.1.30
# ifconfig
inet 192.168.0.5 netmask 0xffffff00

Kalau hasil dari pengecekan terdapat perbedaan alamat IP dengan hostname yang bersangkutan, anda dapat mengubah setting hostname dengan perintah:
# ee /etc/hosts
masukkan sebuah baris:
10.1.1.30 example.com


2. Instalasi PHP 5

Pilih port instalasi PHP 5 pada port collection yaitu /usr/ports/lang/php5/. PHP 5 hanya disediakan pada satu port saja sejak rilis PHP versi 5.1.14. Versi sebelumnya terdiri dari beberapa port seperti www/mod-php5, lang/php5-cli, dan lang/php5. Pada versi baru port lang/php5/ ini instalasi PHP 5 dijadikan satu dan PHP sebagai modul CLI, CGI atau apache adalah sebagai option pada saat instalasi.

Pilihan default tidak menyertakan apache module, jadi pastikan kita beri tanda check pada option tersebut kalau hendak menggunakan php sebagai modul apache.

Kali ini instalasi saya lakukan pada melalui port karena instalasi standard dengan pkg_add tidak menyertakan pilihan modul apache (setahu saya demikian,maaf kalau salah). Instal PHP 5 melalui port:
# cd /usr/ports/lang/php5
# make config
# make install

Ketika make config dijalankan, maka pastikan Apache Module box diberi tanda silang (checked).

Setelah semua selesai, maka dapat juga kita menginstall beberapa modul ekstra seperti MySQL. Beberapa modul yang paling sering dipakai diantaranya:
/usr/ports/databases/php5-mysql - MySQL Database
/usr/ports/www/php5-session - Sessions
/usr/ports/graphics/php5-gd - Graphics Library

Untuk modul-modul ekstra di atas, silakan instal dengan pkg_add atau port collection. Caranya mirip dengan sebelumnya.

Apache memerlukan pernyataan pada httpd.conf agar dapat menggunakan PHP yang telah diinstal. Biasanya hal ini sudah dilakukan secara otomastis saat instalasi dengan port, namun bisa kita cek untuk memastikan. Buka httpd.conf:
# ee /usr/local/etc/apache22/httpd.conf

Untuk Apache versi 1.3.x perlu ditambahkan baris berikut pada httpd.conf:
LoadModule php5_module libexec/apache/libphp5.so
AddModule mod_php5.c

Untuk Apache versi 2.x hanya perlu satu baris berikut, tidak perlu perintah AddModule seperti di atas:
LoadModule php5_module libexec/apache/libphp5.so

Lokasi dan nama file dari module PHP 5 dapat berlainan dari versi ke versi, jadi silakan cek di direktori pada sistem anda untuk lokasi yang tepat dan nama yang tepat. Biasanya kalau instalasi dilakukan dengan port, perintah LoadModule ini sudah ditambahkan secara otomatis dengan parameter lokasi dan nama modul yang tepat. Silakan dicek ulang.

Kemudian masih pada httpd.conf, edit juga parameter-parameter berikut:
DirectoryIndex index.php index.html index.htm

Tambahkan juga dua baris berikut:
AddType application/x-httpd-php .php .htm .html
AddType application/x-httpd-php-source .phps

Setting PHP sendiri diletakkan pada /usr/local/etc/php.ini sehingga anda perlu membuat file tersebut. Ini dapat anda lakukan dengan meng-copy setting standard yang disediakan, sbb:
# cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini

Setelah semua itu dilakukan, maka Apache perlu di-restart. Lalu buat sebuah file test.php seperti di bawah ini untuk mengecek apakah PHP sudah diload oleh Apache:
# echo "" >> /usr/local/www/data/test.php

Lalu buka browser (Anda bisa menggunakan browser apa saja, misal IE, Mozilla, Firefox, Lynx, links dll) dan buka alamat server Apache anda, misalnya http://server.mydomain.com/test.php. Kalau instalasi sukses maka anda akan mendapatkan halaman phpinfo() dari instalasi PHP 5 anda. Berbagai informasi tentang Apache dan PHP beserta info-info lainnya dapat dilihat disini.

Kira-kira demikianlah instalasi Apache dan PHP 5 pada sistem saya menggunakan FreeBSD 6.2. Kalau ada pertanyaan atau perbaikan pada tulisan saya ini, silakan memberikan komentar atau mengirim email kepada saya ke izbiq[at]rufaqait[dot]com. Semoga bermanfaat.

 
Top