Pages

Rabu, 09 Februari 2011

Web Server Dengan PHP dan My SQL

Contoh, jika Anda meletakkan file PHP atau HTML di C:\www cukup edit bagian berikut di httpd.conf :
DocumentRoot “C:/Program Files/Apache Group/Apache2/htdocs”
dan rubah menjadi :
DocumentRoot “C:/www”
Jangan lupa untuk merestart Apache setiap melakukan perubahan ( Start > Programs > Apache HTTP Server 2.0.50 > Control Apache Server > Restart ) untuk mengetahui hasilnya.
Konfigurasi yang lain yang perlu dirubah adalah directory index. Ini adalah file yang akan di load oleh Apache jika Anda melakukan request pada directory. Contoh jika Anda mengetik http://www.kopionline.com/ tanpa diikuti file lain, maka index.php otomatis akan ditunjukkan.
Anggaplah Anda ingin Apache menggunakan index.html, index.php atau main.php sebagai directory index maka Anda cukup merubah nilai DirectoryIndex seperti ini :

DirectoryIndex index.html index.php main.php
Sekarang, setiap kali Anda request directory seperti http://localhost/ Apache akan mencoba menemukan file index.html , jika tidak ada, Apache akan menggunakan index.php. Dan jika Apache tidak menemukan index.php maka main.php akan digunakan, dan begitu seterusnya.

Install PHP

Pertama, extract paket PHP Anda. Saya lebih suka mengextrac dalam satu direktori yang sama dengan paket Apache yang sudah terinstall ( C:\Program Files\Apache Group\Apache2 ). Buat direktori php. Copy file php.ini-dist di direktori PHP ke direktori windows ( C:\Windows atau C:\Winnt tergantung jenis Windows ) dan rename file menjadi php.ini. Ini adalah file konfigurasi PHP yang nantinya akan kita modifikasi.
Selanjutnya, pindah file php4ts.dll dari direktori PHP ke subdirektori sapi. Anda juga bisa menempatkan php4ts.dll ketempat lain seperti :
  • Direktori dimana apache.exe berada, yaitu ( C:\Program
    Files\Apache Group\Apache2
    \bin)
  • Atau pada %SYSTEMROOT%\System32, %SYSTEMROOT%\system dan %SYSTEMROOT%
    directory.Note: %SYSTEMROOT%\System32 hanya pada Windows NT/2000/XP)
  • Atau pada semua %PATH%

Modifikasi Konfigurasi Apache

Apache belum mengenali instalasi PHP Anda. Anda harus menambahkan PHP pada konfigurasi Apache pada C:\Program Files\Apache Group\Apache2\conf\httpd.conf dan tambahkan baris-baris berikut :
LoadModule php4_module php/sapi/php4apache2.dll
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
Baris pertama memberitahu Apache dimana me load dll yang dibutuhkan untuk menjalankan PHP dan baris kedua menunjukkan bahwa setiap file berekstensi .php akan diproses sebagai file PHP. Anda sebenarnya juga bisa mengubahnya ke apa saja yang Anda inginkan seperti .html atau bahkan .asp!. Baris ketiga ditambahkan agar Anda bisa melihat source code file PHP Anda di browser window(tentunya file dengan ekstensi .phps).
Sekarang restart Apache untuk melihat hasil perubahan yang Anda lakukan ( Start
> Programs > Apache HTTP Server 2.0.50 > Control Apache Server > Restart
) . Untuk mengetahui apakah konfigurasi Anda sudah benar buat file baru, beri nama test.php dan letakkan di direktori document root ( C:\Program Files\Apache Group\Apache2\htdocs ). Isi file tersebut seperti dibawah ini.
<?phpphpinfo(); ?>
phpinfo() adalah fungsi PHP yang akan memberitahu Anda tentang segala hal mengenai PHP dan konfigurasi server yang telah Anda install. Ketik http://localhost/test.php pada browser address bar.

Install MySQL

Pertama extract paket Anda (misalnya mysql-4.0.18-win.zip ) ke temporary directory, kemudian jalankan setup.exe. Klik tombol next hingga proses instalasi selesai. Secara default MySQL akan diisntall di C:\mysql.
Buka DOS window dan pindah ke direktori C:\mysql\bin dan ketik mysqld-nt –console , Anda akan melihat pesan sebagai berikut :
C:\mysql\bin>mysqld-nt –consoleInnoDB: The first specified data file .\ibdata1 did not exist: InnoDB: a new database to be created!
040807 10:54:09 InnoDB: Setting file .\ibdata1 size to 10 MB
InnoDB: Database physically writes the file full: wait…
040807 10:54:11 InnoDB: Log file .\ib_logfile0 did not exist: new to be
created
InnoDB: Setting log file .\ib_logfile0 size to 5 MB
InnoDB: Database physically writes the file full: wait…
040807 10:54:12 InnoDB: Log file .\ib_logfile1 did not exist: new
to be created
InnoDB: Setting log file .\ib_logfile1 size to 5 MB
InnoDB: Database physically writes the file full: wait…
InnoDB: Doublewrite buffer not found: creating new
InnoDB: Doublewrite buffer created
InnoDB: Creating foreign key constraint system tables
InnoDB: Foreign key constraint system tables created
040807 10:54:31 InnoDB: Started
mysqld-nt: ready for connections.
Version: ‘4.0.18-nt’ socket: ” port: 3306
Sekarang coba buka DOS window lain dan ketik C:\mysql\bin\mysql
jika instalasi Anda sukses, Anda akan melihat MySQL client sedang running :
C:\mysql\bin>mysqlWelcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 to server version: 4.0.18-nt
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
mysql>
Ketik exit pada console mysql> untuk keluar dari MySQL client.
Bagaimana install MySQL sebagai Service Windows? Prosesnya sederhana, cukup ketik mysqld-nt –install dan net start mysql untuk menjalankan service. Sebelumnya shutdown MySQL server dulu menggunakan mysqladmin -u root shutdown
C:\mysql\bin>mysqladmin -u root shutdown
C:\mysql\bin>mysqld-nt –install
Service successfully installed.
C:\mysql\bin>net start mysql
The MySQL service was started successfully.
C:\mysql\bin>mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 4.0.18-nt
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
mysql>

Modifikasi file komfigurasi PHP ( php.ini )

PHP menyimpan semua konfigurasi dalam satu file yang disebut php.ini.Anda bisa mencari file ini pada direktori tempat PHP Anda diinstall. Beberapa perubahan kdang diperlukan misalnya untuk menggunakan PHP extension.
Beberapa perubahan yang diperlukan antara lain :
  1. register_globals
  2. error_reporting and display_errors
  3. extension and extension_path
  4. session.save_path
  5. max_execution_time

register_globals

Sebelum PHP 4.2.0 default value untuk register_globals adalah On dan setelah 4.2.0 menjadi Off. Alasan utamanya tentu adalah source code yang aman apabila register_globals bernilai Off pada php.ini.

error_reporting and display_errors

Set value nya menjadi error_reporting = E_ALL selama pross development. Cuman saya lebih sering menggunakan E_ERROR, jadi hanya error yang krusial saja yang akan ditampilkan :p
Alasan menggunakan E_ALL selama pengambangan agar Anda bisa melihat semua Bugs(kesalahan)dalam code Anda. PHP akan mengeluarkan pesan error setiap code Anda salah dan pesan peringatan ( misalnya jika Anda mencoba menggunakan variable yang tidak diinisialisasi dulu).
Catatan, Anda bisa mengubah value nya menjadi E_NONE setelah development.
Jangan lupa untuk memberi nilai On pada bagian display_erros agar setting error_reporting = E_ALL juga berfungsi

extension dan extension_path

PHP4 punya sekitar 51 extensions seperti GD library ( untuk membuat dan memanipulasi grafik), CURL, PostgreSQL support dll. Extensions ini tidak secara otomatis berfungsi. Jika Anda membutuhkan extension tententu maka Anda juga harus menspesifikasi dimana extension tersebut dan menghilangkan tanda comment di extension yang ingin Anda gunakan pada file konfigurasi PHP.
Nilai extension_path harus diset sesuai dengan direktori dimana extension diinstal yang biasanya PHP_INSTALL_DIR/extensions, PHP_INSTALL_DIR adalah direktori instalasi PHP Anda. Contoh jika Anda menginstall PHP di C:\Program Files\Apache Group\Apache2\php maka extensions path adalah :
extension_path = C:/Program Files/Apache Group/Apache2/php/extensions/
Jangan lupa menambahakan slash agar berfungsi dengan benar
Setelah Anda menspesifikasi extension_path Anda juga harus menghilangkan tanda comment di extension yang ingin Anda gunakan pada file konfigurasi PHP pada extension yang digunakan. Comment diawalai dengan tanda semicolon (;). Contoh jika Anda ingin menggunakan GD library hiangkan tanda semicolon pada awal ;extension=php_gd2.dll menjadi extension=php_gd2.dll

session.save_path

Konfigurasi ini akan memberitahu PHP dimana menyimpan session data. Ubahlah sesuai keinginan Anda. Di Windows Anda bisa mengubah nilainya menjadi session.save_path = c:/windows/temp/

max_execution_time

Nilai default max_execution_time adalah 30 ( dalam detik ).
Jika script Anda butuh waktu lebih untuk proses maka Anda bisa merubah nilai max_execution_time lebih tinggi sesuai kebutuhan Anda
PHP memiliki fungsi untuk memodifikasi konfigurasi pada runtime,yaitu ini_set(). Setting file konfigurasi PHP menggunakan fungsi ini tidak permanent, ketika sebuah script selesai dieksekusi, maka setting ini juga hilang.

0 komentar:

Posting Komentar