วิธีทำ upgrade php-fpm version vestacp ubuntu

admin

Administrator
Staff Member
test server อับเกรด php-fpm กับ ubuntu 16.04 ที่ติดตั้ง vestacp ปกติจะได้ php 7.0
ผมจึงทดสอบอับเกรดไป php 7.2 อับผ่านครับตาม guide ใน google เลย แต่ๆๆๆๆ
php ใน ระบบของ vesta ไม่เปลี่ยนครับ :p

จึงเป็นที่มาของบทความนี้

1.ทำการ backup ก่อนเลยครับ
2.ทำการ check version ก่อนครับ
Bash:
php -v
ผลที่ได้นะปัจจุบัน 10/06/2020 คือ
Code:
root@vesta:~# php -v
PHP 7.0.33-0ubuntu0.16.04.15 (cli) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.0.33-0ubuntu0.16.04.15, Copyright (c) 1999-2017, by Zend Technologies
2020-06-10_18-41-27.png

3.ติดตั้งตัวเสริมและ repository เพิ่มเข้าไป
เพิ่มตัวเสิม
Bash:
sudo apt-get update
sudo apt-get install python-software-properties
เพิ่ม repository
Bash:
sudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
หลังจากนั้นก็อับเดทแพกแกตก่อน
Bash:
sudo apt-get update
4.ทำการติดตั้ง php7.2
Bash:
apt-get install php7.2 php7.2-bcmath php7.2-bz2 php7.2-cgi php7.2-cli php7.2-common php7.2-curl php7.2-dbaphp7.2-dev php7.2-enchant php7.2-fpm php7.2-gd php7.2-gmp php7.2-imap php7.2-interbase php7.2-intl php7.2-json php7.2-ldap php7.2-mbstring php7.2-mysql php7.2-odbc php7.2-opcache php7.2-pgsql php7.2-phpdbg php7.2-pspell php7.2-readline php7.2-recodephp7.2-snmp php7.2-soap php7.2-sqlite3 php7.2-sybase php7.2-tidy php7.2-xml php7.2-xmlrpc php7.2-xsl php7.2-zip
เมื่อติดตั้งแล้วเชค version php ได้
Code:
root@localhost:~# php -v
PHP 7.2.31-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: May 14 2020 08:27:14) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.31-1+ubuntu16.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies
2020-06-10_19-25-16.png

5.ทำการแก้ไขค่าคอนฟิกของ vesta ตามนี้
เพิ่ม link file service
Bash:
ln -s /lib/systemd/system/php7.2-fpm.service /lib/systemd/system/php-fpm.service
แล้วทำการ copy pool ของ vesta ไปที่ php7.2
Bash:
cp /etc/php/7.0/fpm/pool.d/* /etc/php/7.2/fpm/pool.d/
ทำการลบ file ของ php7.0 ทิ้ง (คงไม่มีใครย้อนกลับไปใช้แล้วนะครับ)
Bash:
rm -rf /etc/php/7.0
rm -rf /etc/init.d/php7.0-fpm
rm -rf /etc/init.d/php-fpm
ทำการสร้าง link file service php7.2
Bash:
ln -s /etc/init.d/php7.2-fpm /etc/init.d/php-fpm
จากนั้น copy file php vesta อันเก่าไปเป็น php7.2
Bash:
cp -r /usr/local/vesta/web/edit/server/php7.0-fpm /usr/local/vesta/web/edit/server/php7.2-fpm
cp -r /usr/local/vesta/web/edit/server/php-fpm /usr/local/vesta/web/edit/server/php7.2-fpm
cp -r /usr/local/vesta/data/templates/web/php-fpm /usr/local/vesta/data/templates/web/php7.2-fpm
cp -r /usr/local/vesta/data/templates/web/nginx/php-fpm /usr/local/vesta/data/templates/web/nginx/php7.2-fpm
แก้ไขค่าคอนฟิก vesta ค่าเดิมของ /usr/local/vesta/conf/vesta.conf คือ
Code:
root@localhost:~# cat /usr/local/vesta/conf/vesta.conf
WEB_SYSTEM='nginx'
WEB_PORT='80'
WEB_SSL_PORT='443'
WEB_SSL='openssl'
WEB_BACKEND='php-fpm'
STATS_SYSTEM='webalizer,awstats'
CRON_SYSTEM='cron'
BACKUP_SYSTEM='local'
LANGUAGE='en'
VERSION='0.9.8'
DB_SYSTEM='mysql'
ทำการแก้ไข
Bash:
perl -pi -e 's/php-/php7.2-/g' /usr/local/vesta/conf/vesta.conf
และเมื่อลอง cat ดูจะได้
Code:
root@localhost:~# cat /usr/local/vesta/conf/vesta.conf
WEB_SYSTEM='nginx'
WEB_PORT='80'
WEB_SSL_PORT='443'
WEB_SSL='openssl'
WEB_BACKEND='php7.2-fpm'
STATS_SYSTEM='webalizer,awstats'
CRON_SYSTEM='cron'
BACKUP_SYSTEM='local'
LANGUAGE='en'
VERSION='0.9.8'
DB_SYSTEM='mysql'
6.ทำการรีบูทระบบใหม่
Bash:
root@localhost:~# reboot
เมื่อบูทขึ้นมาแล้วทดลองแอดโดเมนและเชค version php
2020-06-10_19-34-18.png


2020-06-10_19-33-28.png


เรียบร้อยครับ

ปล. อ่านจากหลายๆแหล่งแล้วนำมาทดลองจนสำเร็จ แล้วทำการเรียบเรียงใหม่ตามความเข้าใจผมนะครับ

:p(y)
 
แก้ไขล่าสุดเมื่อ:


ด้านบน