หลังจากที่ได้ลง XAMPP บนลินุกซ์เสร็จไปเมื่อวันก่อนเรียบร้อยแล้ว คราวนี้จะมารวบรวมทิปเทคนิคเล็กๆ น้อยๆ ในการใช้งาน XAMPP บน Ubuntu นะครับ (ลินุกซ์ดิสโทรอื่นก็อาจจะใช้ได้เหมือนกัน แต่อาจจะต้องปรับสักหน่อยนะครับ)
ปรับ permission ของ htdocs
โดยปกติ user ที่เป็นเจ้าของ /opt/lampp/htdocs ที่เอาไว้ใส่เว็บทดสอบของเราจะเป็น root ซึ่งทำให้เราจัดการไฟล์เว็บไม่สะดวก วิธีแก้ไขคือ ทำการเปลี่ยน permission ให้สามารถอ่าน/เขียนได้ทุกคน ด้วยคำสั่ง
sudo chmod 777 /opt/lampp/htdocs
เพียงแค่นี้เราก็สามารถจัดการไฟล์เว็บของเราผ่านทาง Nautilus (หรือตัว File Browser) ของเราได้แล้วครับ
ตั้งค่า XAMPP ให้เปิด services ทุกครั้งที่เปิดเครื่อง
โดยปกติถ้าเราต้องการใช้งาน XAMPP เราจะต้องมานั่งสั่งคำสั่งให้ XAMPP เปิด services เองทุกครั้ง แต่ถ้าต้องการให้ XAMPP เปิดเองทุกครั้งที่เปิดเครื่อง ให้พิมพ์คำสั่ง
sudo ln -s /opt/lampp/lampp /etc/init.d/lampp sudo update-rc.d -f lampp defaults
แค่นี้ XAMPP ก็จะเปิด services เองทุกครั้งที่เปิดเครื่องใหม่แล้วครับ
ตั้งรหัสผ่านป้องกันเว็บเซิร์ฟเวอร์ให้กับ XAMPP
โดยปกติแล้ว XAMPP จะไม่ได้ตั้งรหัสผ่านป้องกันให้กับหน้าจอต้อนรับ, ฐานข้อมูล และ FTP แต่เราสามารถตั้งรหัสผ่านทั้งหมดด้วยคำสั่ง
sudo /opt/lampp/lampp security
เสร็จแล้ว XAMPP จะเริ่มถามให้เราตอบใส่รหัสผ่านทีละตัว
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | XAMPP: Quick security check... XAMPP: Your XAMPP pages are NOT secured by a password. XAMPP: Do you want to set a password? [yes] XAMPP: Password: XAMPP: Password (again): XAMPP: Password protection active. Please use 'lampp' as user name! XAMPP: MySQL is accessable via network. XAMPP: Normaly that's not recommended. Do you want me to turn it off? [yes] XAMPP: Turned off. XAMPP: Stopping MySQL... XAMPP: Starting MySQL... XAMPP: The MySQL/phpMyAdmin user pma has no password set!!! XAMPP: Do you want to set a password? [yes] XAMPP: Password: XAMPP: Password (again): XAMPP: Setting new MySQL pma password. XAMPP: Setting phpMyAdmin's pma password to the new one. XAMPP: MySQL has no root passwort set!!! XAMPP: Do you want to set a password? [yes] XAMPP: Write the password somewhere down to make sure you won't forget it!!! XAMPP: Password: XAMPP: Password (again): XAMPP: Setting new MySQL root password. XAMPP: Change phpMyAdmin's authentication method. XAMPP: The FTP password for user 'nobody' is still set to 'lampp'. XAMPP: Do you want to change the password? [yes] XAMPP: Password: XAMPP: Password (again): XAMPP: Reload ProFTPD... XAMPP: Done. |
ทำ Virtual Host จำลองทดสอบบนเครื่องของเราเอง
สมมติว่าเราต้องการตั้งให้เครื่องเราทดสอบเหมือนกับอยู่บนเซิร์ฟเวอร์จริง เช่น เรารับจ้างทำเว็บไซต์ wingfoss.in.th โดยปกติแล้วเราคงต้องทดสอบบนเครื่องของเราเองด้วย URL http://localhost/wingfoss ก่อนอัพโหลดขึ้นเซิร์ฟเวอร์จริง แต่ถ้าอยากให้ทดสอบบน www.wingfoss.in.th เหมือนกับเว็บจริง แต่เป็นการรันบนเครื่องเราเอง ก็ต้องใช้เทคนิคตั้งค่าไฟล์ hosts + สร้าง virtual hosts บน XAMPP เข้ามาช่วย
ขั้นแรกต้องเซ็ต virtual hosts ให้กับ XAMPP ก่อน โดยให้แก้ไขไฟล์ /opt/lampp/etc/httpd.conf แล้วให้ลบคอมเมนท์ออกจากบรรทัด
# Virtual hosts Include etc/extra/httpd-vhosts.conf
ต่อมาให้แก้ไขไฟล์ /opt/lampp/etc/extra/httpd-vhosts.conf โดยให้ลบบรรทัดตั้งแต่ <VirtualHost *:80> ลงไปทั้งหมด แล้วใส่ค่าดังนี้แทน
<VirtualHost *:80> ServerAdmin webmaster@wingfoss.in.th DocumentRoot /opt/lampp/htdocs </VirtualHost> <VirtualHost *:80> ServerAdmin webmaster@wingfoss.in.th DocumentRoot /opt/lampp/htdocs/wingfoss.in.th ServerName wingfoss.in.th ServerAlias www.wingfoss.in.th ErrorLog logs/wingfoss.in.th-error_log CustomLog logs/wingfoss.in.th-access_log common </VirtualHost>
อย่าลืมเปลี่ยนชื่อโดเมนให้เป็นตามเว็บที่เราจะทดสอบจริงๆ แทน
เสร็จแล้วให้เราสร้างโฟลเดอร์เว็บที่เราจะทดสอบจริงๆ ตามค่าใน DocumentRoot ด้วยคำสั่ง
mkdir -p /opt/lampp/htdocs/wingfoss.in.th/logs
(คำสั่งนี้ไม่ใช้ sudo เพราะว่า chmod ให้เป็น 777 ตามทิปการปรับ permission ข้างบนเรียบร้อยแล้ว)
เสร็จแล้วให้ restart XAMPP เพื่อรับค่าใหม่ของเราด้วยคำสั่ง
sudo /opt/lampp/lampp restart
ตอนนี้ XAMPP เราก็จะมี virtual hosts wingfoss.in.th และ www.wingfoss.in.th ที่จะไปเรียกเว็บจากพาธ /opt/lampp/htdocs/wingfoss.in.th/ เรียบร้อยแล้ว
สุดท้ายเราจะต้องตั้งค่า hosts ไฟล์ให้เวลาเรียก http://www.wingfoss.in.th จากเบราว์เซอร์ ให้มาเรียกเว็บจากเครื่องเราแทนที่จะเรียกจากเว็บจริง โดยให้แก้ไขไฟล์ /etc/hosts แล้วเพิ่มบรรทัดนี้เข้าไป
127.0.0.1 wingfoss.in.th www.wingfoss.in.th
เสร็จแล้วให้เราทดสอบด้วยการเปิดเบราว์เซอร์แล้วเรียกเว็บ www.wingfoss.in.th ก็จะพบว่ามีการเรียกเว็บจากเครื่องของเราแทน ก็เป็นอันเสร็จสิ้น
เพิ่มขนาดสูงสุดของการอัพโหลดไฟล์และหน่วยความจำด้วยการแก้ไขไฟล์ php.ini
ขนาดไฟล์ที่อัพโหลดสูงสุดของ XAMPP ที่ตั้งให้มาปกติจะอยู่ที่ 2MB เท่านั้น รวมถึงการใช้หน่วยความจำบน PHP แต่ถ้าเราต้องการอัพโหลดไฟล์ขนาดใหญ่มากกว่านั้น รวมถึงการแก้ไขให้ PHP สามารถใช้หน่วยความจำได้มากขึ้น ซึ่งจำเป็นสำหรับ CMS บางตัวที่ต้องใช้หน่วยความจำมากกว่าปกติ เช่น Drupal ให้เข้าไปแก้ไขไฟล์ /opt/lampp/etc/php.ini โดยให้แก้ที่บรรทัดข้างล่างนี้
; Maximum allowed size for uploaded files. upload_max_filesize = 100M ; Maximum size of POST data that PHP will accept. post_max_size = 100M memory_limit = 64M ; Maximum amount of memory a script may consume (8MB)
โดยที่ 100M คือขนาดการอัพโหลดสูงสุด รวมถึง 64M ที่หมายถึงขนาดหน่วยความจำที่ PHP สามารถใช้งานได้ เสร็จแล้วอย่าลืม restart services XAMPP ให้รับค่าใหม่ของเราด้วย
อัพเดต: (21/12/09) เพิ่มเทคนิคเพิ่มขนาดการอัพโหลดด้วยการแก้ไขไฟล์ php.ini
อัพเดต: (01/01/10) เพิ่มเทคนิคการเพิ่มหน่วยความจำให้ PHP ด้วยการแก้ไขไฟล์ php.ini

Comments
ขอบคุณครับ
ขอบคุณครับ เป็นประโยชน์สำหรับมือใหม่ดีครับ ครบเครื่องดีครับ
ขอถามหน่อยครับ ผมติดตั้ง
ขอถามหน่อยครับ
จริงๆ เราสามารถสร้าง link
จริงๆ เราสามารถสร้าง link folder ใน Ubuntu ได้ด้วยคำสั่ง ln ให้ลิงก์ในส่วนของ htdocs ใน Ubuntu ไปยัง htdocs ของ Windows
แต่คิดว่าคงไม่สามารถใช้งานได้ เนื่องจากตัวระบบไฟล์ต่างกัน อาจจะทำให้มีปัญหาได้ รวมถึงเรื่องของการใช้ Database ด้วยครับ ที่ยังไงก็ต้องแยกกันอยู่ดี
Add new comment