How to install PHP5,Apach2.2,MySQL5 by manual compile.

ได้รับมอบหมายให้ Install OS พร้อม Software จำพวก Apache, PHP5 แล้วก็ MySQL5 เริ่มแรกเราก็ไปหา source file มาก่อน เตรียมๆ เอาไว้ ดังนี้

  1. Apache 2.2
  2. MySQL 5.0.37
  3. PHP 5.2.1

ลำดับการติดตั้ง ก็ตามนี้ครับ

  1. การติดตั้ง Apache 2.2
  2. การติดตั้ง MySQL 5.0.37 : http://laffers.net/howtos/howto-install-mysql
  3. การติดตั้ง PHP 5.2.1


*** ไอ้ Apache กะ MySQL เนี้ยจะอันไหนก่อนก็ได้นะครับ แต่ PHP ขอเป็นอันท้ายสุดละกัน..เวลา Compile มันต้องทำให้ PHP รู้จักกับ Apache&MySQL ด้วยอ่ะครับ (การ set prefix) มาเริ่มกันเลยดีกว่าครับ…

1. การติดตั้ง Apache 2.2

# tar xvfj httpd-2.2.4.tar.bz2 -> อันนี้ถ้าเรา Download มาเป็น .tar.gz ก็ใช้ tar xvfz httpd-2.2.4.tar.gz ครับ
# cd httpd-2.2.4
# ./configure –prefix=/usr/local/apache2 -> prefix ตรงนี้เป็น option ที่ให้เรากำหนดว่าเราจะเอา ไฟล์ที่ จะ install ไปไว้ที่ path ไหน
# make -> เริ่มทำการ Compile
# make install -> install ครับ

เป็นอันเสร็จสิ้นในส่วนของ Apache

2. การติดตั้ง MySQL 5.0.37

อันนี้ก็คล้ายๆ กับ apache ครับ


# tar xvfz mysql-5.0.37.tar.gz
# cd mysql-5.0.37
# ./configure –prefix=/usr/local/mysql5 -> ถ้าอยากรู้ว่า default เป็นอะไร ก็ให้ลองพิมพ์ ./configure –help
# make -> เริ่มทำการ Compile
# make install -> install ครับ
# cp support-files/my-medium.cnf /etc/my.cnf

เมื่อถึงขั้นตอนนี้ให้คุณเข้าไปแก้ไขไฟล์ /etc/my.cnf โดยให้เพิ่ม user = mysql ไปที่บรรทัดใต้คำว่า [mysqld] อ่ะแล้วก็ Save
# cd /usr/local/mysql5
# bin/mysql_install_db –user=mysql
# chown -R root .
# chown -R mysql var
# chgrp -R mysql .
# bin/mysqld_safe –user=mysql & -> Start ครับผม

ทำการทดสอบว่า mysql ทำงานได้เปล่า ก็ ใช้คำสั่งนี้ดู
# /usr/local/mysql5/bin/mysqladmin version
ถ้าออกมาเป็น version ต่างๆของ mysql ก็ถือว่า ผ่าน ต่อไปก็เป็นการ set password ให้กับ user root โดยต้อง Login เข้าไปเป็น root ก่อนดังนี้
# /usr/local/mysql5/bin/mysql -u root
เมื่อเข้าไปแล้วก็ใช้คำสั่งตามนี้
DELETE FROM mysql.user WHERE User = ”;
FLUSH PRIVILEGES;
SELECT Host, User FROM mysql.user;
SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘new_password’);
SET PASSWORD FOR ‘root’@’host_name’ = PASSWORD(‘new_password’);
quit

หลังจากนั้นก็ ทำการ Restart Mysql อีกซักรอบ โดย
# /usr/local/mysql5/bin/mysqladmin -u root -p shutdown
# /usr/local/mysql5/bin/mysqld_safe –user=mysql &

เป็นอันเสร็จสิ้น ในส่วนของ mysql

3. การติดตั้ง PHP 5.2.1

สำหรับ PHP เวลาติดตั้งคุณจำเป็นต้อง บอก path ของ apache กับ mysql ด้วยครับ โดยตอนที่คุณบอก ก็คือตอนใช้ คำสั่ง configure นั่นเอง ตามนี้ครับ

# tar xvfz php-5.2.1.tar.gz
# cd php-5.2.1
# ./configure –prefix=/usr/local/php5 —-with-apxs2=/usr/local/apache2/bin/apxs –with-mysql=/usr/local/mysql5
# make
# make install

เป็นอันเสร็จพิธีทั้งหมด..

หลังจากนี้เราก็มาดูวิธีการ Start Service แต่ละตัวกันครับมาเริ่มที่

apache : /usr/local/apache2/bin/apachectl start ** อันนีเราสามารถเปลี่ยนได้เป็น start/stop/restart ครับ

mysql : /usr/local/mysql5/bin/mysqld_safe –user=mysql &

php : อันนี้ไม่ต้อง start ครับมันจะถูกผูกให้โดยอัตโมมัติ ตอนที่เรา compile นั่นเอง

คราวนี้เราก็มาดูกันครับว่า..ไอ้ที่เรา ติดตั้งไป มันใช้ได้เปล่า…ก็ให้ลอง เขียน script php ขึ้นมาซักอันครับเช่น
phpinfo();
?>
save เป็นชื่อไฟล์ว่า noi.php (noi เป็นชื่อสาวครับ..ผมจีบอยู่ อิๆ) แล้วก็เอาไปวางไว้ที่ path /usr/local/apache2/htdocs/ หลังจากนั้นก็ไปเครื่องอื่น..แล้วลองใช้โปรแกรม Web Browser เรียกหน้าดังกล่าวดู เช่น http://192.168.168.12/noi.php

ถ้าได้หน้าตาเว็บเป็นแบบนี้ก็แสดงว่า..โอเคครับ

index.jpg
จบ..ครับ เดี๋ยวคราวหน้าจะมาพูดถึงการติดตั้ง ProFTFD กันพร้อมกับ ตัวอย่างการ Config สำหรับคราวนี้เอาไว้แค่นี้ก่อนละกันครับพี่น้องงงงงงงง สวัสดี