วันเสาร์ที่ 17 มีนาคม พ.ศ. 2561

เรื่องวุ่น ๆ กับการอัพเดท php5.6 บนเครื่อง Ubuntu server 16.04.4 LTS


เรื่องราวดี ๆ ของการนำระบบGPS ติดตามรถไปประยุกต์ใช้งานในหลากหลายฟังก์ชั่นนั้น รวมถึงบริการระบบติดตามรถยนต์โดยทีมงานมืออาชีพ ด้วยความมุ่งมั่นที่จะพัฒนาระบบการขนส่งให้มีประสิทธิภาพมากขึ้น รวมถึงเป็นการส่งเสริมภาครัฐในการรณรงค์การใช้งานจีพีเอสติดรถบรรทุก เพื่อควบคุมพนักงานขับรถให้ทำงานไม่เกินพลกำลัง หรือป้องปรามไม่ให้เกิดอุบัติเหตุหนัก ๆ ในหลาย ๆ ปีที่ผ่านมา

เซิร์ฟเวอร์ที่ผู้เขียนให้บริการเวบไซต์อยู่นั้นยังคงใช้งานเวบไซต์สำเร็จรูปแบบโอเพ่นซอร์สชื่อดัง นั่นก็คือ Joomla นั่นเอง ครั้งจะอัพเกรดขึ้นไปเป็นเวอร์ชั่นใหม่บนเซิร์ฟเวอร์ลินุกส์เดิมกลับพบปัญหาใหญ่คือไม่สามารถติดตั้ง Joomla 3.xx เวอร์ชั่นล่าสุดได้ หรือมีความต้องการใช้งาน php5.6 เป็นอย่างน้อย ทำยังไงดีละทีนี้ การปรับแต่ง engine โดยเฉพาะ php นับว่าเป็นเรื่องใหญ่ ถึงโหญ่โตมาก เพราะหากลองผิดลองถูกอยู่ละก็ โอกาสเสียมากกว่าได้ จึงเป็นเหตุผลของเครื่องทดสอบ "เรื่องวุ่น ๆ กับการอัพเดท php5.6 บนเครื่อง Ubuntu Server 16.04.4 LTS"


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

ขั้นตอนที่ 1 ตรวจสอบเวอร์ชั่นเดิมที่ติดตั้งไปก่อนหน้านี้ว่าเป็นเวอร์ชั่นอะไรโดยใช้คำสั่ง php -v จากนั้นไปเริ่ม ติดตั้งโปรแกรม php5.6 กันดีกว่า


apt-get install python-software-properties
add-apt-repository ppa:ondrej/php
apt-get update
apt-get install php5.6

ขั้นตอนที่ 2 ปรบมือให้ตัวเองดัง ๆ ในขั้นตอนนี้หากเราเรียกใช้งานคำสั่งตรวจสอบเวอร์ชั่นของ php -v มันจะยังแสดงว่าเป็นเวอร์ชั่นเดิมอยู่ ให้ใช้คำสั่งต่อไปนี้เพื่อเปลี่ยนแปลงไปใช้ php5.6 แทน


#update-alternatives --set php /usr/bin/php5.6


PHP 5.6.34-1+ubuntu16.04.1+deb.sury.org+1 (cli)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies

ขั้นตอนที่ 3 เมื่อเวอร์ชั่นบนเทอร์มินอลถูกเปลี่ยนแปลงไปแล้ว แต่อย่าเพิ่งชะล่าใจเพราะเวอร์ชั่นที่ใช้งานบนเวบเซิร์ฟเวอร์ยังไม่เปลี่ยนแปลง เราสามารถทดสอบได้ด้วยการสร้างสคริป phpinfo(); เพื่อตรวจสอบเวอร์ชั่นของ php บนเวบเซิร์ฟเวอร์ก่อน เอาละสิยังเป็นเวอร์ชั่น php7.0 อยู่เลย


ขั้นตอนที่ 4 มาถึงขั้นตอนนี้แล้วไม่ยากเย็นอะไร เพียงแค่ไปบอกเวบเซิร์ฟเวอร์ให้รู้จัก php5.6 แทน php7.0 โดยใช้คำสั่งพื้นฐานง่าย ๆ

#a2dismod php7.0
#a2enmod php5.6
#/etc/init.d/apache2 restart

จากนั้นตรวจสอบดูว่า เวบเซิร์ฟเวอร์ทำงานร่วมกับ php5.6 ได้หรือยัง จากการทดสอบในครั้งนี้ถือว่าโชคดีมาก ผ่านไปอย่างง่ายดาย


ขั้นตอนที่ 5 เป็นการติดตั้งเวบท่าที่ชื่อว่า Joomla 3.5.1 จากนั้นอัพเกรดไปเป็นเวอร์ชั่นล่าสุด 3.8.6 โดยขั้นตอนนี้ให้ติดตั้งแพ็คเกจเพิ่มเติมสำหรับ php5.6 ตามขั้นตอนต่อไปนี้

#apt-get install php5.6-mysql php5.6-curl php5.6-xml


ขั้นตอนที่ 6 ผลการทดสอบ php5.6 กับการติดตั้ง Joomla 3.8.6 รุ่นล่าสุด ณ ปัจจุบัน 


เป็นไงกันบ้างสำหรับขั้นตอนทั้งหมดของการติดตั้ง php5.6 สำหรับรองรับการใช้งานระบบ Joomla 3.8.6 ซึ่งแต่ละขั้นตอนมีความละเอียดอ่อนมาก หากเราต้องทำงานโดยตรงกับเซิร์ฟเวอร์ที่กำลังทำงานอยู่หรือให้บริการอยู่ ความผิดพลาดย่อมไม่สามารถเกิดขึ้นได้เลย