Apr 22, 2010

How to install PHP 5.1.6 (win32) + Apache 2.0.59 (win32) + MySql 5.0.22 (win32) + CodeIgniter 1.7.2

โดยปกติ ถ้าเราต้องการติดตั้งให้ มี Server ที่สามารถใช้รันภาษา PHP บนเครื่องได้ โดยทั่วไปนั้น

สามารถใช้ Appserv ซึ่งเป็นโปรแกรมสำเร็จรูป เมื่อลงเสร็จเรียบร้อย จะมีการ config มาให้ครบเสร็จสรรพ

ตั้งแต่ Server PHP จนกระทั่งฐานข้อมูล และตัวบริหารจัดการเล็กๆ อย่าง PhpMyAdmin

แต่บทความนี้จะพาท่านมาติดตั้งแบบแยก ทีละตัว เพื่อแก้ไขปรับแต่งในอนา่คตได้ง่ายขึ้น
---------------------------

ซอฟต์แวร์ ที่จำเป็นต้องใช้ และดิ้นรนหามาจากอินเตอร์เน็ตได้ง่ายๆ เนื่องจากเป็น open source

1. php-5.1.6-Win32.zip
2. apache_2.0.59-win32-x86-no_ssl.msi
3. mysql-5.0.22-win32
4. CodeIgniter_1.7.2

หมายเหตุ: หากต้องการใช้งานร่วมกันกับ Java หรือ jasperReport ให้ลงเวอร์ชั่นให้ตรงตามนี้

--------------------------

วิธีการติดตั้ง

1. ติดตั้ง apache_2.0.59-win32-x86-no_ssl.msi

2. ทำการ stop service apache

2.1 วิธีการ stop service apache ก็คือให้ไปที่ Control Panel => Administrative Tools => Services

2.2 เลือกจาก รายการ service ซึ่งจะชื่อว่า Apache2 คลิก และเลือก Stop

3. แก้ไข config ของ apache

3.1 วิธีการแก้ไข config ของ apache คือ เข้าไปที่ C:\Program Files\Apache Group\Apache2\conf

3.2 แก้ไขไฟล์ httpd.conf อาจจะแทนที่ของเดิมหรือ เพิ่มเข้าไปใหม่ตามโค๊ดด้านล่าง

---------------------------------------
DocumentRoot "C:/www"

<Directory "C:/www">
Options FollowSymLinks
AllowOverride FileInfo
</Directory>

<Directory "C:/www">

Options Indexes Includes FollowSymLinks MultiViews

DirectoryIndex index.html index.php index.html.var

LoadModule rewrite_module modules/mod_rewrite.so

<IfModule mod_mime_magic.c>
MIMEMagicFile conf/magic
</IfModule>

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !^(/index\.php|/img|/js|/css|/robots\.txt|/favicon\.ico)
RewriteRule ^(.*)$ /index.php/$1 [L]
</IfModule>

ScriptAlias /php/ "C:/PHP/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php-cgi.exe"

<VirtualHost *>
ServerName localhost
DocumentRoot C:/www
<Directory C:/www>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</Directory>
</VirtualHost>

---------------------------------------

4. นำ php-5.1.6-Win32.zip ซึ่งถูกบีบอัด แตกไฟล์ออกมาวางไว้ที่ C:\PHP (ซึ่ง Folder PHP นี้ต้องสร้างขึ้นมาเอง)

5. เปลี่ยนชื่อไฟล์ php.ini-dist ให้เป็น php.ini แก้ไขไฟล์ตามด้านล่างแล้วนำไปวางที่ C:\windows

---------------------------------------------
extension_dir = "c:\PHP\ext"

extension=php_curl.dll

extension=php_mysql.dll
---------------------------------------------

6. ติดตั้ง MySQL และทำการ stop service

---------------------------------------------
MySQL Config
Username :: root
Password :: password
---------------------------------------------

7. คัดลอกไฟล์(ผมโหลดจากอินเตอร์เน็ต) "libmysql.dll" และ "libeay32.dll" ไปไว้ที่ C:\windows\system32\

8. แก้ไขไฟล์ my.cnf หรือ my.ini

---------------------------------------------
[mysql]
default-character-set=tis620

[mysqld]
skip-character-set-client-handshake
default-character-set=tis620
init_connect='SET collation_connection = tis620_thai_ci'
init_connect='SET character_set_results=tis620'
init_connect='SET NAMES tis620'

# created and no character set is defined
default-character-set=tis620

#sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
---------------------------------------------

9. สร้าง Folder C:\www

10. เขียนไฟล์ใหม่ขึ้นมา ชื่อ index.php โดยในไฟล์เขียนดังนี้ โดยบันทึกไว้เป็น C:\www\index.php

------------------------
<?php
phpinfo();
?>
------------------------

11. ทำการ start service Apache และ MySQL โดยทำวิธีเดียวกับการ stop service แต่ให้ start service แทน

12. ทดสอบ บน IE ว่าใช้ได้ไหมโดยพิมพ์ http://localhost/

13. หากมีข้อมูล phpinfo ขึ้นมา แสดงว่า ทำงานได้แล้ว ก่อนทำขั้นตอนต่อไปให้ลบไฟล์ C:\www\index.php ออกก่อน

14. ติดตั้ง CodeIgniter_1.7.2 โดยนำไฟล์ภายใน Folder ทุกไฟล์ไปวางที่ C:\www

15. เข้าไปแก้ไขข้อมูลที่กำหนดค่าฐานข้อมูลที่

---------------------------------------------
C:\www\system\application\config\database.php

$db['default']['hostname'] = "localhost";
$db['default']['username'] = "root";
$db['default']['password'] = "password";
$db['default']['database'] = "database1";
$db['default']['dbdriver'] = "mysql";
---------------------------------------------

16. เนื่องจากเราอ้างไปยัง ฐานข้อมูลชื่อว่า "database1" แต่เรายังไม่ได้สร้างขึ้นจริง
จึงจำเป็นต้องเข้าไปสร้างใน MySQL

16.1 ไปที่ Start -> Run พิมพ์ cmd

16.2 เข้าระบบฐานข้อมูล

---------------------------------------------
mysql -u root -p (ทำการ Enter แล้วพิมพ์รหัสผ่านแล้ว Enter อีกครั้งจะเข้าระบบได้)
---------------------------------------------

16.3 พิมพ์คำสั่งสร้างฐานข้อมูล แล้วก็ออกจากระบบ

---------------------------------------------
mysql<create database database1;
exit (ออกจาก MySQL)
exit (ออกจาก cmd)
---------------------------------------------

16.4 สร้างไฟล์ .htaccess โดยมีข้อมูลตามด้านล่าง แล้ววางไว้ที่ C:\www

---------------------------------------------
RewriteEngine on
RewriteRule ^$ /index.php [L]
RewriteCond $1 !^(index\.php|images|css|js|video_files|robots\.txt|favicon\.ico)
RewriteRule ^(.*)$ /index.php/$1 [L]
---------------------------------------------

17. น่าจะใช้งาน Codeigniter ได้่แล้ว

อ้่างอิงจาก
http://www.dwdev.dwthai.com/setup/apache_php.htm

Blog Comment

บทความที่ได้รับความนิยม