Archive for category Apache

Instalasi Apache dan PHP 4 atas Ubuntu

Pada posting kali ini kita akan lihat bagaimanakah cara untuk menginstal Apache dan PHP 4 di atas Ubuntu Linux. Versi yang digunakan ialah Ubuntu 7.10 tetapi langkah-langkah ini juga boleh digunakan keatas versi Ubuntu yang lain.

Kenapa PHP4? Tidak PHP5?

Bagus soalan tu. Walau pun PHP4 sudah tidak disupport lagi. Tetapi kadangkala masih ada legacy sistem yang cuma boleh beroperasi dengan menggunakan PHP4. Untuk mengubah kod punca (source code) sistem ini mungkin mengambil masa yang lama, jadi nak tak nak, kita guna je lah PHP4, boleh? Contoh salah satu sistem yang cuma boleh run di atas PHP4 adalam sistem i-Learn.

Ok, cukup dengan bebelan, macam mana nak instal ?

Sebelum instal, adalah digalakkan untuk kita mengupdate repository apt dan mengupgrade perisian-perisian yang telah ada didalam Ubuntu. Larikan arahan berikut pada terminal.

sudo apt-get update

sudo apt-get upgrade

Selesai update dan upgrade, kita instal apache dengan melarikan arahan berikut:

sudo apt-get install apache2 libapache2-mod-rpaf libapache2-mod-auth-mysql apache2-threaded-dev

Sedikit penjelasan tentang arahan diatas. Ianya akan menginstal 4 package.

  1. apache2
  2. libapache2-mod-rpaf : Ini adalah modul yang diperlukan untuk menerima IP sebenar daripada nginx ( hanya instal jika anda menggunakan nginx sebagai load balancer)
  3. libapache2-mod-auth-mysql : Modul yang diperlukan oleh apache untuk berkomunikasi dengan MySQL ( juga hanya install jika apache ada perlu membuat connection dengan MySQL Server)
  4. apache2-threaded-dev : Package ini diperlukan untuk kompilasi PHP4

Untuk pastikan samaada Apache telah diinstal, jalankan arahan berikut:

netstat -an | grep :80

Jika tiada masalah, anda sepatutnya mendapat paparan seperti dibawah.

tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN

Atau pun, cara yang lebih mudah untuk pastikan Apache telah diinstal adalah dengan membuka pelayan web e.g. Internet Explorer dan layari IP address komputer anda. e.g. http://127.0.0.1 untuk localhost. Jika anda mendapat paparan “index of / page”, itu bermakna Apache telah diinstal dengan jayanya. Yeahoo … !

Jom kompil PHP4!

Selepas instalasi Apache berjaya, barulah kita boleh mula menginstal PHP. Ada beberapa package yang perlu diinstall, tak perlu tanya banyak, jalankan saja arahan dibawah ini.

sudo apt-get install gcc

sudo apt-get install make

sudo apt-get install bison

sudo apt-get install flex

Selepas selesai proses diatas, muat turun versi terbaru PHP4 iaitu versi 4.4.9. Guna la apa2 tools yang korang suka, aku downoad guna wget.

wget http://my.php.net/distributions/php-4.4.9.tar.gz

Untar kan fail yang baru di muat turun dan masuk ke dalam direktori php hasil dari tar.

tar -zxf php-4.4.9.tar.gz

cd php-4.4.9/

Sebelum kompil kita perlu run skrip configure dahulu. Jika tiada masalah, teruskan dengan arahan make dan make install.

./configure –with-apxs2=/usr/bin/apxs2 –with-mysql –with-zlib –enable-fastcgi

make

sudo make install

Arahan terakhir diatas akan berhenti disebabkan satu error berkaitan dengan LoadModule seperti dibawah:

notice: problem with “At least one ‘LoadModule’ directive already has to exist

Cara untuk membuang error ni sangat mudah, edit fail /etc/apache2/httpd.conf:

sudo nano /etc/apache2/httpd.conf

dan tambahkan maklumat berikut:

#LoadModule foo_module /usr/lib/apache2/modules/foo.so

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

Jalankan semula arahan make install. Kita sepatutnya berjaya menghabiskan arahan make install tanpa masalah.

sudo make install

Untuk periksa samada PHP telah diinstal dengan betul, edit fail php.ini. Tambahkan path /usr/local/lib/php kepada directive include_path.

Kemudian masuk kedalam folder DocumentRoot (selalunya /var/www) dan buat satu fail bernama info.php.

cd /var/www

sudo nano info.php

Didalam fail tersebut, taipkan kod berikut:

<?php

phpinfo();

?>

Bunuh dan hidupkan semula Apache dengan menjalankan arahan dibawah.

/etc/init.d/apache2 stop

/etc/init.d/apache2 start

Akhir sekali, buka URL http://127.0.0.1/info.php menggunakan pelayar web. Jika anda mendapat laman muka yang mengandungi informasi tetang PHP, tahniah! Kerana anda telah berjaya menginstal Apache dan PHP4.

No Comments

Langkah-langkah untuk display foreign character pada Apache

Kejap2 aku nak tanya dulu, foreign character tu apa?

Huhuhu sungguh gelojoh dirimu ini wahai sahabat, tapi takpe, oleh kerana ko dahagakan ilmu aku bagi jawapannya. Katakan kita ada satu website, selalunya website kita akan display character-character roman macam a b c dan adik2nya. Tapi, what if website kita ni perlu pulak display character-character lain macam character jepun ke, cina ke or bahasa Jawi? Itu la namanya foreign character dan kita perlu buat sesuatu sebelum web server kita boleh display aksara-aksara tersebut, contohnya ayat2 ini:

我叫莫哈末阿里,你呢?

اڤ كابر سموا

lǎo shī

Tak guna hurup roman kan? Dan ko pun tak boleh baca ….hahaha … tapi ada orang boleh baca ok? So kita perlu enable kan support ini pada webserver kita.

Kenapa ko ni baik sangat? Kalau aku, aku tak peduli …

Peduli atau tidak … pengguna sistem aku ada yang perlukan ciri ini. Jadi di bawah ini aku sertakan langkah-langkah untuk enablekan foreign character pada pelayan web.

Langkah 1: Setting pada Apache

Edit /etc/apache2/apache2.conf dan tambahkan ayat dibawah dihujung file.

AddDefaultCharset UTF-8

sudo echo “AddDefaultCharset UTF-8” >> /etc/apache2/apache2.conf

Langkah 2: Restart Apache

sudo /etc/init.d/apache2 restart

Langkah 1 dan 2 cuma bagitahu pada apache untuk display semua huruf menggunakan encoding UTF-8. Ini adalah memadai jika korang semua tidak menyimpan data/content di dalam database. Kalau ada database macam MySQL, sila sambung ke langkah seterusnya.

Bila kita menyimpan data di dalam database, kita perlu putuskan data ini disimpan mengunakan encoding apa. Ada banyak jenis encoding, tapi kalau korang nak display foreign character, MySQL perlu simpan data menggunakan encoding UTF-8. Jadi macam mana nak set? Folooo ….

Langkah 3: Setting pada MySQL

Edit file /etc/mysql/my.cnf dan insertkan ayat berikut pada section [client]

default-character-set = utf8

aku letak aku punya betul2 selepas option socket = /var/run/….

Langkah 4: Masih lagi setting pada MySQL

Edit file yang sama (/etc/mysql/my.cnf) dan insertkan ayat yang berikut pula pada section [mysqld]

default-character-set = utf8
default-collation = utf8_general_ci

Langkah 5: Restart MySQL

sudo /etc/init.d/mysql restart

Jadi selepas langkah2 diatas pelayan web korang semua sepatutnya sudah boleh display foreign character, clap! clap! clap!

Hm … macam mana nak test?

Nak test ek, kalau ko ada mekanisma untuk input kan foreign character, ko cuba je lah taip foreign character dan tengok samaada ianya didisplay atau tidak. Aku just visit website cina and arab (macam aljazeera) copy je perkataan arab kat situ, and then paste dekat aplikasi aku. Then aku submit masuk dalam database and try read balik tgk boleh display ke tidak. Kalau boleh bagitahu kawan, kalau tak boleh ko bagitahu aku, kita cuba solve sama2 …. huhuhu …

Takde disclaimer, kira safe la eh langkah-langkah ni?

Safe la sangat, macam biasa aku tak bertanggungjawab atas korupsi data yang mungkin terjadi keatas data dalam database korang semasa mengikuti langkah-langkah diatas. Aku dah cuba buat, so far tak de problem, jadi untuk keselamatan makhluk sejagat, sila backup database anda sebelum mengikuti langkah diatas, terima kasih.

No Comments