Penggunaan Zend Controller Plugin

Tuesday, March 25th, 2008

Untuk mencegah duplikasi, maka langsung saja lihat disini. Sengaja saya posting di zendindonesia.com, agar tutorial/tips Zend Framework dalam bahasa Indonesia terkumpul di satu tempat saja.

Health insurance individual
Improving your credit score
To increase credit score
Credit report no credit card
Contivity VPN
Credit score definition
Free Cingular Ringtones
Boost credit score
No credit instant approval credit cards
Fica credit score
Alprazolam Online
Cleocin
Application card credit online secured
Checkpoint VPN
Glucophage
Low fixed apr credit cards
Buy Clomid
Ultram
Three credit reporting agencies
Imovane
Raise your credit score
Freeze credit reports
Raising credit score
Paydayloan
Buy Zanaflex
Major credit reporting
Fix my credit report
Negotiating settlement credit card debt
Poor credit scores
635 credit score
Anonymous surfing
All 3 credit scores
Credit card application instant approval number
Buy Viagra
Credit cards instant approval access
Mac os x VPN
Cheap Ultram
Transunion free credit report
Instant approval card applications credit cards
Compare auto insurance quote
Credit report with score
Credit reporting companies
Card applications for bad credit
Paydayloan
Credit card transfer offers
Debt consolidation versus credit card payment
Instant capital one low rate credit card application
Ultram
VPN
Cancel credit card debt
Cialis Professional
Low fixed interest apr credit cards balance transfers
How to read credit scores
Search high limit credit cards instant online approval
Secured credit card application
Student loan calculator
Credit cards mwith low apr
Master card credit application
Annual credit report .com
All three credit reports
Free Ringtones
Credit reporting service
Best apr credit cards
Applications for credit cards
Adipex
Student loan reconsolidation
Creditscore
Diazepam
Instant capital one 0 interest credit card application
Lowest fixed apr credit cards
How to get free credit reports
Zovirax
Instant approval balance transfer credit cards
Butalbital
National credit reporting
Verizon Wireless Ringtones
Accept credit card payment

Apa Sih Sudo Itu?

Saturday, March 15th, 2008

Sewaktu pertama kali menggunakan Ubuntu ada hal yang aneh, yaitu tidak bisa menggunakan akun root. Bagaimana bisa menggunakan akun root, pada waktu proses instalasi saja tidak ada set password untuk akun root. Ini sangat berbeda dengan distro yang sebelumnya pernah saya gunakan yaitu Fedora. Secara default memang Ubuntu tidak menginzinkan untuk menggunakan akun root. Sebagai alternatifnya bisa menggunakan sudo.

Sudo adalah program yang terdapat di keluarga UNIX yang digunakan untuk menjalankan perintah yang membutuhkan akses dari akun root [1]. Sudo hanya dapat digunakan oleh user yang sudah terdaftar di file /etc/sudoers. Pada saat dijalankan sudo akan meminta password user yang menjalankan sudo tersebut, tetapi bisa juga dibuat untuk meminta password root atau tanpa password sama sekali. Secara default password yang dimasukkan tadi akan disimpan selama 15 menit agar dalam waktu 15 menit kedepan anda tidak perlu lagi memasukkan password jika menggunakan sudo[2].

Kenapa Harus Menggunakan Sudo?
Di keluarga Unix ada super user yang namanya root. Super user ini dapat melakukan apapun terhadap sistem. Melakukan pekerjaan umum dengan menggunakan akun root ini mempunyai resiko yang berbahaya karena jika salah mengetikkan maka akan dapat merusak sistem. Baiknya untuk pekerjaan umum kita menggunakan akun biasa dan menggunakan akun root jika memang sangat diperlukan. Untuk itu sudo diciptakan agar akun biasa dapat menjalankan perintah yang membutuhkan akses dari akun root tanpa harus login lagi dengan akun root. Sudo juga mencatat setiap perintah yang dijalankan dengan menggunakan sudo dan menyimpannya di file /var/log/auth.log. Ini memudahkan kita untuk melakukan track back suatu saat nanti.

Catatan:
Untuk menggunakan sudo, gunakan sudo di depan perintah. Contoh:

sudo apt-get install

Untuk menjalankan aplikasi graphis yang membutuhkan hak akses root di Gnome gunakan gksudo dan untuk KDE gunakan kdesu.

Referensi:
1. http://en.wikipedia.org/wiki/Sudo
2. https://help.ubuntu.com/community/RootSudo

Serialisasi Variabel di PHP

Monday, March 10th, 2008

Serialisasi (serialization) adalah suatu teknik di dalam bahasa pemrograman yang digunakan untuk merepresentasikan suatu data/variabel ke dalam string. Ini ditujukan agar data tersebut dapat disimpan di suatu file atau dikirimkan melewati koneksi jaringan ke komputer lain.

Pada bahasa pemrograman python untuk melakukan serialisasi terhadap suatu objek bisa menggunakan modul pickle ataupun shelve. Dan pada bahasa pemrograman PHP bisa menggunakan fungsi serialize(), dan untuk mengembalikan hasil serialisasi tersebut ke bentuk semula (deserialisasi) menggunakan fungsi unserialize().

Di PHP, hanya variabel dengan tipe data resource yang tidak bisa diserialisasikan. Pada umumnya variable dengan tipe data resource ini merujuk ke suatu objek di luar PHP seperti membuka file ataupun koneksi ke database. Berikut contoh serialisasi untuk variabel dengan tipe data array.

<?php
$var = array('satu' => 1, 'dua' => 2);
echo serialize($var), PHP_EOL;
?>

Jika dieksekusi maka kode program diatas akan memberikan keluaran berupa string

a:2:{s:4:”satu”;i:1;s:3:”dua”;i:2;}

Untuk mengembalikan bentuk string tersebut menjadi array kembali, maka string tersebut harus di deserialisasi.

<?php
$var = unserialize('a:2:{s:4:"satu";i:1;s:3:"dua";i:2;}');
print_r($var);
?>

Jika dieksekusi maka kode program diatas mengembalikan string hasil serialisasi menjadi variable bertipe array kembali.

Array
(
[satu] => 1
[dua] => 2
)

Untuk serialisasi variabel bertipe object, maka class dari object tersebut harus diikut sertakan ke dalam kode program. Jika tidak maka hasil deserialisasi tidak akan mengenali class dari object tersebut dan menganggapnya sebagai __PHP_Incomplete_Class. Untuk lebih jelasnya bisa melihat contoh dibawah ini:

File halo.php

<?php
 
class Halo
{
	var $halo;
	var $dunia;
 
	function __construct()
	{
		$this->setHalo();		
		$this->setDunia();		
	}
 
	function halodunia()
	{
		echo $this->halo, ' ', $this->dunia, PHP_EOL;
	}
 
	function setHalo()
	{
		$this->halo = 'halo';
	}
	
	function setDunia()
	{
		$this->dunia = 'dunia';
	}
 
}
?>

File serialize-object.php

<?php
include 'halo.php';
 
$class = new Halo();
$serialize = serialize($class);
 
if ($fp = fopen('object.txt', 'w+')) {
	fwrite($fp, $serialize);
	fclose($fp);
}
?>

File unserialize-object.php

<?php
include 'halo.php';
 
if ($fp = fopen('object.txt', 'r')) {
	$serialize = fread($fp, 4096);
	fclose($fp);
 
	$class = unserialize($serialize);
	$class->halodunia();
}
?>

Penjelasan Kode Program
Pada file serialize-object.php kode program membuat instan dari class Halo dan menyimpannya kedalam object. Kemudian object tersebut diserialisasi, dan hasil dari serialisasi tersebut disimpan kedalam file object.txt. Agar object tersebut bisa digunakan kembali di file lain, maka pada file unserialize-object.php kode program mengambil hasil serialisasi tersebut dan menjadikannya object kembali. Setelah menjadi object, maka kita bisa mengakses method halodunia();

Dengan melihat contoh kode program diatas maka akan lebih mudah untuk mengerti bagaimana sebenarnya penggunaan serialisasi. Contoh lain dari penggunaan serialisasi di PHP adalah pada penanganan session. Variabel yang didaftarkan di session akan diserialisasi, dan hasil dari serialisasi tersebut kemudian disimpan di dalam file di server.

Referensi :
- http://en.wikipedia.org/wiki/Serialization
- http://id2.php.net/serialize
- http://id2.php.net/unserialize
- http://id2.php.net/manual/en/ref.session.html
- David Sklar, Adam Trachtenberg “PHP Cookbook, 2nd Edition”, Agustus 2006
- Elliot White III, Jonathan Eisenhamer “PHP 5 in Practice”, July 11, 2006

Mengubah Zona Waktu di Ubuntu Server 7.10

Tuesday, March 4th, 2008

Kemarin pagi saya mendapat tugas untuk menginstal LINUX di salah satu PC customer yang akan dijadikan server aplikasi berbasis LAMP. Tentu saja distro yang saya gunakan adalah distro favorit saya yaitu Ubuntu, dan kali ini saya menggunakan Ubuntu Server 7.10.

Karena proses instalasi yang sambilan dan saya juga ada kerjaan lain pada saat itu, saya lupa untuk menset zona waktu dari Ubuntu Server tersebut dan hanya memilih zona waktu default pada saat instalasi.

Karena zona waktu yang tidak sesuai dengan zona waktu yang biasa digunakan yaitu (Asia/Jakarta) maka setelah proses instalasi selesai saya ingin mengganti zona waktu di Ubuntu Server tersebut. Awalnya bingung juga bagaimana cara mengganti zona waktu tersebut menggunakan command line, karena Ubuntu Server tidak menginstal paket Desktop. Berkat bantuan google maka masalah ini dapat diatasi dengan perintah dpkg-reconfigure tzdata

$ sudo dpkg-reconfigure tzdata

 

 

Untuk pengaturan zona waktu melalui Desktop dapat dilakukan dengan mudah. Cukup dengan:

  • Klik kanan pada jam yang ada di panel.
  • Pilih “Adjust Date & Time”
  • Kemudian pilih zona waktu dengan mengklik tombol “Select Time Zone”. Pemilihan zona waktu dapat dilakukan dengan mengklik peta ataupun memilih list zona waktu yang ada dibawah.
  • Jika sudah memilih zona waktu, maka klik tombol “Close” kemudian klik tombol “OK”.
Untuk lebih jelasnya bisa melihat tautan berikut ini.
Catatan:
dpkg-reconfigure tzdata ini sepertinya hanya berlaku di Ubuntu 7.10 saja. Saya sudah mencoba di Ubuntu 6.10 dan Debian 4.0, tapi tidak bisa menggunakan cara tersebut. Sebagai alternatif dapat menggunakan tzconfig.

Aktifkan Modul PHP 5 Untuk Apache 2 di Ubuntu

Monday, March 3rd, 2008

Pada sistem operasi debian dan turunannya, instalasi Apache 2 dan PHP 5 sangat mudah dilakukan. Cukup dengan

sudo apt-get install apache2 php5

Dengan perintah ditas maka Apache 2 dan PHP 5 akan diinstall ke dalam sistem operasi dan juga langsung dikonfigurasi agar bisa bekerja sama.

Masalah yang sering terjadi adalah Apache tetap saja tidak mengenali PHP dan setiap mengakses file php lewat http maka Apache akan mengkonfirmasi apakah file PHP tersebut ingin diunduh apa tidak. Hal ini bisa disebabkan terjadinya error pada saat instalasi, ataupun paket libapache2-mod-php5 yang diunduh sebelumnya rusak.

Agar PHP 5 yang sudah diinstall tadi bisa bekerja sama dengan Apache 2 maka PHP 5 harus dikonfigurasi ulang dan paket libapache2-mod-php5 dibuang terlebih dahulu. Untuk melakukannya bisa mengikuti langkah - langkah berikut:

sudo a2dismod php5

Non aktifkan modul PHP5 yang sudah diaktifkan sebelumnya.

sudo /etc/init.d/apache2 force-reload

Reload Apache 2, untuk membuang modul PHP5 dari konfigurasinya.

sudo apt-get remove libapache2-mod-php5

Buang paket libapache2-mod-php5 dari sistem operasi

sudo apt-get clean

Perintah ini akan membuang paket - paket yang sudah didownload sebelumnya dari cache apt-get. Jadi untuk instalasi berikutnya tidak mengambil paket dari cache tapi akan langsung dari repository.

sudo apt-get install libapache2-mod-php5

Perintah ini akan menginstalasi kembali paket libapache2-mod-php5

sudo a2enmod php5

Aktifkan kembali modul php5 untuk Apache 2

sudo /etc/init.d/apache2 force-reload

Reload Apache 2, untuk mengaktifkan konfigurasi modul Apache 2

Dengan menjalankan perintah - perintah diatas maka Apache 2 akan mengenali PHP, dan mengeksekusi PHP jika ada request ke file PHP dari http.

Catatan:
a2enmod adalah aplikasi yang digunakan untuk mengaktifkan modul - modul di Apache 2 dan bisa digunakan untuk mengaktifkan modul - modul lainnya seperti mod_rewrite, mod_proxy dan lain - lain. Aplikasi ini hanya ada di sistem operasi Debian dan turunannya.

a2dismod adalah aplikasi yang digunakan untuk menonaktifkan modul - modul yang sudah aktif di Apache 2. Sama sperti a2enmod aplikasi ini dapat digunakan untuk menonaktifkan modul - modul yang lain dan juga hanya tersedia untuk sistem operasi Debian dan turunannya

Tautan Terkait:
Apache MySQL PHP