ขั้นตอนการติดตั้ง Apache, MySQL และ PHP บน Ubuntu
เมื่อวันก่อน ผมไปเห็นกรุ๊ปนึงในเฟซบุ๊ค ถามว่า ถ้าหากว่าใช้ Ubuntu จะสามารถเขียนเว็บได้มั้ยครับ? มันลง AppServ ได้มั้ย แล้ววิธีการติดตั้งทำยังไง? ยากหรือเปล่า?
บทความนี้จะนำเสนอวิธีการติดตั้ง LAMP Stack (Linux, Apache, MySQL, PHP) บน Ubuntu โดยภายในบทความจะแบ่งออกเป็นสองส่วนคือ
ขั้นตอนและวิธีติดตั้งก็นำไปประยุกต์ใช้เองนะครับ สามารถติดตั้งได้ทั้งบน Ubuntu Desktop หรือ Ubuntu Server
ตัวอย่างบทความนี้ ผมทดลองติดตั้งแบบ Manual ผ่าน VPS ของ Digital Ocean นะครับ โดยใช้ Ubuntu Server 14.04 และ Ubuntu Desktop 13.10 ด้วยโปรแกรม XAMPP
ติดตั้งผ่านโปรแกรม XAMPP
ตัวโปรแกรม XAMPP มันก็คล้ายๆกับพวก AppServ หรือ WAMP Server นั่นเองครับ คือมันรวมพวก package ต่างๆ ที่จำเป็นจะต้องใช้รันเซิฟเวอร์ มาอยู่ในโปรแกรมเดียว เจ้าตัว XAMPP นี้สามารถติดตั้งได้ทั้ง Windows, Mac และ Linux
ภายในโปรแกรม มันประกอบไปด้วย หลักๆเลยคือ
- Apache 2.4.9
- MySQL 5.6.16
- PHP 5.5.11 & PEAR
- SQLite 2.8.17/3.7.17
- Perl 5.16.3
- phpMyAdmin 4.1.12
- OpenSSL 1.0.1g
- cUrl 7.30.0
- อื่นๆ อีกหลายตัวเลย
ขั้นตอนการติดตั้ง
ไปหน้า ดาวน์โหลด ทำการเลือก แบบ 32-bit หรือ 64-bit ก็แล้วแต่ เมื่อโหลดเสร็จจะได้ไฟล์มาประมาณนี้ xampp-linux-x64-1.8.3-4-installer.run
Change Directory ไปยังโฟลเดอร์ที่ดาวน์โหลดมา สมมติอยู่โฟลเดอร์ Downloads
cd ~/Downloads/
จากนั้นก็เปลี่ยนไฟล์ .run
ให้เป็นแบบ executable ซะ ด้วยคำสั่ง
sudo chmod +x xampp-linux-x64-1.8.3-4-installer.run
จากนั้นสั่งติดตั้ง ด้วยคำสั่ง
sudo ./xampp-linux-x64-1.8.3-4-installer.run
จะปรากฎหน้าจอ Wizard แบบการติดตั้งบน Windows เลย ก็กด Next ไปเรื่อยๆ
โปรแกรมจะถูกติดตั้งไว้ที่ /opt/lampp/
กำลังทำการติดตั้ง
ติดตั้งเสร็จเรียบร้อย
เมื่อติดตั้งเสร็จแล้ว ก็กด Launch XAMPP จะปรากฎหน้าตาโปรแกรมแบบนี้
ส่วนวิธีจัดการกับ Server ก็แค่กดเข้าไปในแท็ป Manage Servers แล้วก็เลือก Start/Stop Service เอาครับ
โฟลเดอร์ที่ติดตั้ง XAMPP จะอยู่ที่
/opt/lampp/
หรือสะดวกใช้ CLI ก็แค่ใช้คำสั่งนี้
ทำการสั่งให้ XAMPP Start
sudo /opt/lampp/lampp start
จะแสดงสถานะแบบนี้ แสดงว่า OK
Starting XAMPP for Linux 1.8.3-4...
XAMPP: Starting Apache...ok.
XAMPP: Starting MySQL...ok.
XAMPP: Starting ProFTPD...ok.
ส่วนการ Stop Service ก็ใช้แค่คำสั่ง
sudo /opt/lampp/lampp stop
ติดตั้งแยกด้วยตัวเอง
ขั้นตอนติดตั้งแยกแบบนี้ ผมสมมติว่าผู้อ่านทุกท่านมีพื้นฐาน CLI พอสมควรนะครับ จะไม่พูดถึงรายละเอียดปลีกย่อยครับ
ติดตั้ง Apache
sudo apt-get update
sudo apt-get install apache2
เมื่อติดตั้งเสร็จ ทดสอบเข้าเว็บด้วย localhost
หรือ 127.0.0.1
ดูครับ
พื้นที่ที่เก็บข้อมูลของเว็บ (Document Root) จะอยู่ภายในโฟลเดอร์ /var/www/html/
ส่วนวิธีการ Start/Stop Apache ก็ใช้คำสั่งดังนี้
sudo service apache2 start
sudo service apache2 stop
sudo service apache2 restart
ติดตั้ง MySQL
ทำการติดตั้ง MySQL ด้วยคำสั่งนี้
sudo apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql
ขณะติดตั้ง จะขึ้นหน้าต่างมาให้เราตั้งรหัสผ่านของเรา ก็กรอกลงไปครับ ยืนยันรหัสผ่านด้วย
เมื่อติดตั้งเสร็จเรียบร้อยแล้ว ทำการ Activate ด้วยคำสั่ง
sudo mysql_install_db
ต่อมาก็มาสร้าง Database Directory ด้วยการสั่งรันสคริปนี้
sudo mysql_secure_installation
จากนั้นก็ใส่ Current Password ที่ตั้งไว้ขณะติดตั้ง MySQL ลงไป
Enter current password for root (enter for none):
OK, successfully used password, moving on...
จากนั้นก็จะถามเราว่า อยากจะเปลี่ยน root password หรือไม่ ใครอยากเปลี่ยนก็เลือก y ไม่เปลี่ยนก็ n ไปครับ
You already have a root password set, so you can safely answer 'n'.
Change the root password? [Y/n] n
... skipping.
ต้องการลบ anonymous user มั้ย เลือก y
Remove anonymous users? [Y/n] y
... Success!
เพื่อความปลอดภัย ห้ามให้ล็อคอินชื่อ root หรือไม่ เลือก y
Disallow root login remotely? [Y/n] y
... Success!
ลบข้อมูล Table ที่ใช้เทสออกซะ เลือก y
Remove test database and access to it? [Y/n] y
... Success!
หลักจากเปลี่ยนแปลงเรียบร้อย ก็ทำการ reload สิทธิการเข้าถึง Table ใหม่ เลือก y
Reload privilege tables now? [Y/n] y
... Success!
Cleaning up...
เสร็จเรียบร้อย
All done! If you've completed all of the above steps, your MySQL
installation should now be secure.
Thanks for using MySQL!
ติดตั้ง PHP
ติดตั้ง PHP ด้วยคำสั่งนี้
sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt
หลักจากติดตั้ง PHP เสร็จ ทำการตั้งค่าให้ Web Server มันเรียกไฟล์ .php
ก่อนเป็นอันดับแรก เปิดไฟล์ dir.conf
sudo nano /etc/apache2/mods-enabled/dir.conf
จัดการเปลี่ยนข้อมูล โดยให้ index.php
มาอยู่หน้าสุดแบบนี้
<IfModule mod_dir.c>
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>
สั่ง restart service ทีนึง เป็นอันเรียบร้อย
sudo service apache2 restart
ส่วนวิธีการทดสอบว่า PHP รันได้หรือไม่ ก็ลองสร้างไฟล์ php มาซักไฟล์เซฟไว้ใน /var/www/html/
จากนั้น ก็เข้าเว็บด้วย localhost/yourfile.php
หรือ yourdomain.com/yourfile.php
ดูครับ ติดปัญหาตรงไหนสอบถามมาได้ครับ
References:
- Authors
- Name
- Chai Phonbopit
- Website
- @Phonbopit