รัน PHP 5 บน Ubuntu 18.04 ด้วย Docker

PHP ที่อยู่ใน repository ดีฟอลต์ของ Ubuntu 18.04 พร้อมให้ใช้คำสั่ง apt install คือเวอร์ชัน 7.2

แต่บางครั้งเราจำเป็นต้องรันโปรแกรมที่พัฒนาด้วย PHP เวอร์ชันเก่า เช่น 5 เนื่องด้วยเหตุผลบางประการ เช่น โปรแกรมนั้นเรียกใช้ฟังก์ชันแบบเก่า ที่ถูกยกเลิก (deprecated) ไปแล้วใน PHP เวอร์ชันใหม่ๆ ที่พบบ่อยคือเรียกใช้ฟังก์ชัน mysql_query() เพื่อเชื่อมต่อกับ MySQL Database

วิธีการหนึ่งที่ทำได้คือใช้ docker รัน php image เวอร์ชันที่ต้องการ ลองมาดูวิธีการใช้ docker เพื่อรัน php เวอร์ขัน 5 กัน ทั้งแบบ Command Line และแบบ FPM

ในที่นี้จะใช้ Docker Official Repository ของ PHP ซึ่งมี image ให้เลือกหลายเวอร์ชัน เราสามารถเลือกรันได้ โดยการระบุ tag ต่อท้าย php: เช่น php:5 คือรัน image เวอร์ชัน 5

Continue reading “รัน PHP 5 บน Ubuntu 18.04 ด้วย Docker”

ติดตั้ง Docker CE บน Ubuntu 18.04

จริงๆ แล้ว ใน Ubuntu 18.04 ก็มีแพ็กเกจ Docker ที่สามารถใช้คำสั่ง apt install ได้เลย และค่อนข้างใหม่ด้วยคือเป็นเวอร์ชัน 17.12

แต่ถ้าเราต้องการติดตั้ง Docker เวอร์ชันใหม่ เช่น ตอนที่เขียนบทความนี้เป็นเวอร์ชัน 18.06 แล้ว เพื่อใช้คุณสมบัติล่าสุดของ Docker แนะนำให้ติดตั้งจาก Docker Repositories โดยตรง ซึ่งทางทีม Docker จัดเตรียมไว้สำหรับลีนุกซ์เวอร์ชันต่างๆ ติดตั้งใช้งานกันได้

ในที่นี้ลองมาดูวิธีการติดตั้ง Docker เวอร์ชัน CE (Community Edition) บน Ubuntu 18.04 โดยติดตั้งจาก Docker Repositories

Continue reading “ติดตั้ง Docker CE บน Ubuntu 18.04”

คอนฟิกดีฟอลต์ editor บน Ubuntu 18.04

การคอนฟิกลีนุกซ์โดยใช้บางคำสั่งเช่น crontab, visudo จะมีการเรียก editor ขึ้นมาเพื่อแก้ไขไฟล์คอนฟิก ซึ่งขึ้นอยู่กับเวอร์ชันลีนุกซ์ที่ใช้ว่าจะตั้ง editor ตัวไหนเป็นดีฟอลต์ เช่น Ubuntu 18.04 จะตั้ง nano เป็นดีฟอลต์

มาดูกันว่าถ้าเราต้องการเปลี่ยนดีฟอลต์ editor ให้เป็นตัวอื่น เช่น vim จะสามารถเปลี่ยนได้อย่างไร

Continue reading “คอนฟิกดีฟอลต์ editor บน Ubuntu 18.04”

เลือก Root File System ให้เป็นแบบ xfs ตอนติดตั้ง Ubuntu 18.04

จาก รีวิวการติดตั้ง​ Ubuntu Server 18.04 LTS เราเลือกแบบดีฟอลต์ในทุกขั้นตอน ซึ่งก็สามารถติดตั้งใช้งาน Ubuntu 18.04 ได้ แต่ในบางครั้งมีความจำเป็นต้องแก้ไขค่าคอนฟิกตอนติดตั้ง ก็สามารถเลือกคอนฟิกได้เหมือนกัน

ในที่นี้ลองมาเปลี่ยน File system ของ / ให้เป็น xfs

Continue reading “เลือก Root File System ให้เป็นแบบ xfs ตอนติดตั้ง Ubuntu 18.04”

รีวิวการติดตั้ง​ Ubuntu Server 18.04 LTS

ทุกเดือนเมษายนของปี คศ. ที่เป็นเลขคู่ ทางทีม Ubuntu จะออก Ubuntu เวอร์ชันใหม่ ทั้ง Desktop และ Server ที่เป็น LTS หรือ Long term support ซึ่งเป็นเวอร์ชันที่ทาง Ubuntu ให้การสนับสนุน อัพเดทซอฟต์แวร์เป็นระยะเวลา 5 ปี ทำให้เหมาะกับการนำไปใช้งานแบบระยะยาว

ล่าสุดทาง Ubuntu ก็ได้ออกเวอร์ชัน 18.04 ซึ่งมีชื่อรหัส (code name) ว่า Bionic Beaver ซึ่งมีการอัพเดทในหลายๆ ส่วน ในที่นี้เรามาทดลองติดตั้งเวอร์ชัน Server กัน โดยจะเลือกคอนฟิกแบบดีฟอลต์ทั้งหมด

Continue reading “รีวิวการติดตั้ง​ Ubuntu Server 18.04 LTS”

ติดตั้ง Docker Compose บนลีนุกซ์

ลองมาดูวิธีการติดตั้ง Docker Compose เพื่อช่วยในการคอนฟิกและรัน Docker หลาย container (multi-container) ได้ง่ายขึ้น

Continue reading “ติดตั้ง Docker Compose บนลีนุกซ์”

รัน docker ด้วย user ที่ไม่ใช่ root บนลีนุกซ์

หลังการติดตั้ง docker บนลีนุกซ์ หากเราล็อกอินด้วย user ธรรมดา ที่ไม่ใช่ root รันคำสั่ง docker จะไม่สามารถใช้งานได้ ขึ้นข้อความ permission denied ต้องรัน sudo หรือ su เป็น root ก่อนถึงจะรัน docker ได้

เพื่อความสะดวกหากเราต้องการจะรัน docker ด้วย user ธรรมดาที่ไม่ใช่ root หรือไม่ต้องพิมพ์ sudo นำหน้า สามารถทำได้โดยเพิ่ม user เข้าไปใน group ชื่อ docker

คำเตือน ระมัดระวังในการเพิ่ม user เข้า group ชื่อ docker เพราะจะทำให้ user ที่เพิ่มนั้นมีสิทธิ์ (grant privileges) เทียบเท่า root

Continue reading “รัน docker ด้วย user ที่ไม่ใช่ root บนลีนุกซ์”

ติดตั้ง Docker CE บน Ubuntu 16.04

docker มีการปรับปรุงอยู่เสมอ ทำให้แพ็กเกจใน Ubuntu 16.04 Repository ไม่สามารถใช้คำสั่ง apt-get ติดตั้ง docker เวอร์ชันใหม่ได้

ลองมาดูวิธีการติดตั้ง Docker Repository ซึ่งเป็นของทาง docker.com เอง เพื่อใช้ติดตั้ง docker เวอร์ชันล่าสุด สำหรับทดลองใช้งานคุณสมบัติใหม่ๆ ของ docker กัน

ในที่นี้จะติดตั้ง Docker CE หรือ Community Edition ที่เราสามารถใช้งานได้ฟรี

Continue reading “ติดตั้ง Docker CE บน Ubuntu 16.04”

ติดตั้ง Node.js 8.x บน Ubuntu 16.04

เพื่อรองรับการพัฒนาโปรแกรมด้วย JavaScript ให้รันบนเซิร์ฟเวอร์ ที่กำลังได้รับความนิยมอย่างแพร่หลาย ลองมาดูวิธีการติดตั้ง Node.js บน Ubuntu 16.04 กัน

ถ้ารันคำสั่ง apt install เพื่อติดตั้ง nodejs เลย จะเป็นการติดตั้งโปรแกรมเวอร์ชันเก่า เพราะ repository ที่มาพร้อมกับ Ubuntu 16.04 จะมีแค่ เวอร์ชัน 4.x เท่านั้น

Continue reading “ติดตั้ง Node.js 8.x บน Ubuntu 16.04”

แก้ไขปัญหา PHP อัปโหลดไฟล์ขนาดใหญ่ บนเว็บเซิร์ฟเวอร์ nginx

ค่าคอนฟิกในโปรแกรมที่ติดตั้งมาส่วนใหญ่ โดยดีฟอลต์จะถูกตั้งค่ามาให้สามารถรันและใช้งานบนเครื่องทั่วไปได้ ทำให้บางครั้งเมื่อมีปริมาณการใช้งานเพิ่มมากขึ้น อาจจะมีปัญหาในการใช้งาน

ลองมาดูวิธีการตรวจสอบ และแก้ไขปัญหาการอัปโหลดไฟล์ขนาดใหญ่ด้วย PHP ที่รันโหมด FPM ทำงานร่วมกับ nginx เป็นเว็บเซิร์ฟเวอร์กัน ว่าจะต้องแก้ไขคอนฟิกอะไรบ้าง เพื่อให้สามารถอัปโหดลไฟล์ขนาดใหญ่ตามที่เราต้องการได้

ในที่นี้จะใช้โปรแกรม WordPress 4.8.2 ทดสอบบน Ubuntu 16.04 ซึ่งถ้าไม่แก้ไขคอนฟิก จะติดปัญหาการอัปโหลดไฟล์ขนาดใหญ่ เพราะโปรแกรมนี้ถูกพัฒนาด้วยภาษา PHP

Continue reading “แก้ไขปัญหา PHP อัปโหลดไฟล์ขนาดใหญ่ บนเว็บเซิร์ฟเวอร์ nginx”