วิธีเปิดใช้งาน  PHP 7 บน Vesta CP เพื่อใช้งานร่วมกับ Nginx + PHP-FPM
วิธีเปิดใช้งาน PHP 7 บน Vesta CP เพื่อใช้งานร่วมกับ Nginx + PHP-FPM

ทุกวันนี้จะเห็นว่ามีคนหันมาใช้ VPS (Virtual Private Server) กันเยอะขึ้น  และคงจะรู้จักตัวจัดการ Hosting อย่าง Vesta CP กันมาบ้างแล้ว  ซึ่งเจ้า Vesta CP มันก็คือ Web Hosting Control Panel (หรือจะว่า มันคือตัวจัดการ web Hosting ก็ได้) ทีสำคัญ มันเป็น open source  (ฟรี) ใช้งานค่อนข้างง่าย มี option เยอะแยะมากมาย ถ้าใครสนใจก็ลองไปอ่านรายละเอียดเพิ่มเติมได้ที่ https://vestacp.com/#documentation  (ปล. ผมเองก็พึ่งมีโอกาส ได้เล่น เมื่อไม่นานนี้เอง แหะๆ)

และบทความนี้ผมจะมาเล่าถึงวิธีติดตั้ง Vesta CP และวิธีการ Upgrade Vesta CP ให้รองรับ PHP 7 เพื่อใช้งานร่วมกับ Web Server อย่าง Nginx นั่นเอง  เหตุที่ผมเลือก Nginx ก็เพราะว่ามันใช้ memory ค่อนข้างน้อยกว่า Apache นั้นเอง แถมยังรองรับ concurrent ได้มากกว่าอีกด้วย และเจ้า Nginx มันยังรองรับ HTTP/2.0 ชึ่งจะเป็น Protocol มาตรฐานที่จะมาแทนที่ HTTP/1.X version เก่า ในวันข้างหน้า  แล้วเรามาลุยถึงขึ้นตอนการติดตั้งและ config เจ้า Nginx กับ VestaCP กันเลย

อันดับแรกเลยให้ทำการ download ไฟล์ vst-install.sh จากเว็บ https://vestacp.com/ มาก่อน (เราจะใช้ไฟล์นี้ในการติดตั้ง Vesta CP)

ทำการเลือก option ที่ต้องการ generate command ในการติดตั้ง
ในที่นี้ผมจะเลือก Nnigx + PHP-FPM   เพื่อใช้ในการทดสอบ ส่วน option อื่น เราสามารถกำหนดเองได้เลย ว่าจะใช้ service ตัวไหนบ้าง ถ้าไม่คิดไรมาก ก็เลือกหมดเลยก็ได้

หลังจากเราทำการ Generate command ในการติดตั้งแล้ว ให้ login เข้า server อีกรอบ ผ่าน SSH แล้วทำการติดตั้งด้วย Command line ได้เลย
ในการติดตั้งอาจจะใช้เวลา 3-5 นาที


หลังจากติดตั้งเสร็จ  มันจะส่ง Credential เข้า Email (รวมถึง link ในการ login เข้า Vesta CP)

ก็เป็นอันเสร็จในส่วนของการติดตั้ง Vesta CP
จากนั้นมาถึงขึ้นตอนการเปิดใหับริการ WebSite ละ  ให้ทำการเลือกหัวข้อ WEB
แล้วทำการ Add เพิ่ม Domain เข้าไป

ถ้าหากเราได้ตรวจสอบ PHP version ที่ติดมากับ Vesta CP จะพบว่า มันยังคง Default PHP 5.X อยู่เลย (ณ. วันที่เขียนบทความนี้)
ชึ่งมันยังไม่ใช่สิ่งที่เราต้องการ.. ^ ^”  ครวมนี้มาทำการติดตั้ง PHP 7 กันต่อเลยนะครับ
ทำการติดตั้ง package RMP

ทำการลบ php version เก่าออกก่อน  แล้วค่อย install php7 เข้าไปใหม่

ทำการยกเลิก php-fpm version เก่า แล้วสั่ง start php70-fpm ของ version 7 แทน

ทำการลบ symlink เดิมออก แล้ว map link php ใหม่

ทำการ restart service

เพื่อให้ชัวส์ ทำการตรวจสอบ version สะหน่อย

เปิดใช้ Service ให้มัน start ทุกครั้งเมือมีการ reboot เข้า OS

ทีนี้ ลองสร้าง php ไฟล์เพื่อทดสอบ

แล้วเข้าเว็บอีกครั้งเพื่อดูว่า ปรกติดีหรือป่าว
http://mydomain.com/

จะพบว่ามันจะติด ERROR 502 (Bad Gatway) หรือ 500 (Internal Server Error)
จากนั้นลองทำการ check log อีกที จะพบ error ว่า มันมีปัญหากับ upstream/fastcgi ซึ่งมันชี้ port ไม่ถูกนั้นเอง

tail -f /var/log/nginx/domains/mydomain.com.error.log

/etc/opt/remi/php70/php-fpm.d/www.conf
จะเห็นวา่ เจ้า php-fpm นั้นมันรันบน port 9000  (ถ้ามีหลาย domain ก็จะมี ไฟล์ *.conf ที่ใช้ port ต่างกัน)

กรณีถ้าหากบน Vesta CP มีมากหลายๆ Domain เวลา add domain ใหม่เข้ามา ของเดิมมันจะไปสร้างไฟลฺ์ .conf ใน /etc/php-fpm.d/*.conf
ดังนั้น เราควรจะต้องย้ายให้มันไปอยู่ใน /etc/opt/remi/php70/php-fpm.d/ ด้วย

ทำการตรวจสอบ tcp-connection ด้วยคำสั่ง netstat -an  เพื่อให้แน่ใจ

จากนั้นให้ทำการแก้ไข nginx configuration เพื่อแก้ไข port เป็น 9000
vi /home/admin/conf/web/nginx.conf

ทำการ restart service อีกรอบ


ลองเข้าเว็บอีกรอบ  จะเห็นว่า ตอนนี้สามารถใช้งาน php + fpm/FastCGI ได้เรียบร้อยละ

แถมนะครับ
สำหรับ Vesta CP นั้น เราสามารถนำ cert จาก let’s encrypt มาใช้ได้เหมือนกัน
โดยทำการแก้ไข vesta cofig ดังนี้

มองหา tag : ssl_certificate แล้ว แปะ path ของ certificate ที่เราได้สร้างไว้ตั้งแต่ข้างต้น

จากนั้นทำการ restart vesta อีกรอบ

สำหรับท่านที่ใช้ Vesta CP อยู่ แล้วอยากลอง Upgrade  ไป PHP7 ก็ลองเอาวิธีนี้ไปใช้ดูนะครับ

อีกบทความที่อยากแนะนำ เป็นการเปิดใช้งาน HTTP/2 บน Nginx ถ้าใครสนใจก็สามารถติดตาม link ด้านล่างได้เลย
– วิธีเปิดใช้งาน Nginx ให้รองรับ HTTP/2 บน CentOS 7

หากมีข้อผิดพลาดประการใด ขออภัยมา ณ ที่นี้ด้วยนะครับ   ^ ^ 😉

Admin@Rockdevper.com

Facebook Comments
Share Button

Watchara Pongsri

Senior Software Developer, Network Engineer CEH, CHFI, ECSA, MCSA My hobby is - Blogger - Programming & Security Researcher

More Posts - Website

Follow Me:
TwitterFacebookLinkedInGoogle Plus

Related Post

วิธี Upgrade PHP บน MacOS Sierra ไปเป็น PHP versio...
views 1,582
บทความนี้จะมาแนะนำวิธีการ ติดตั้ง  PHP บน MacOS Sierra 10.12.1 ให้เป็น vesion ล่าสุด (ซึ่งตอนนี้ version ล่าสุดก็คือ PHP 7.1.X)  แต่หลังจากที่หลายๆ ท่...
มารู้จักวิธีการ Sync settings profile และ extensio...
views 2,531
หลายคนคงรู้จัก IDE ที่ชื่อ Visual studio code ของ Microsoft กันอยู่แล้ว  ชึ่งแน่นอนว่ามันเป็นที่ชื่นชอบคง developer หลายๆ คน รวมถึงผมด้วย  นอกจากมันจะ...
วิธีทำ Auto Mount Partition บน Linux หรือ Raspberr...
views 2,167
บทความนี้จะมาพูดถึงวิธีทำ auto mount สำหรับ Hard disk หรือ USB Drive บน Raspberry Pi หรือใช้กะ Linux ก็ได้เหมือนกัน โดยปรกติแล้วบน Raspberry เวลาเสีย...
วิธี Forward Port ร่วมกับ dynamic dns (No-ip) เพื่...
views 9,359
บทความนี้จะมาแนะนำวิธีการ Forward port เพื่อให้สามารถเข้าถึง Network ข้างในบ้าน ร่วมกับ dynamic dns อย่าง No-ip กัน โดยทั่วไปแล้ว ถ้ามีหากมี request ...
วิธีปรับแต่ง Terminal/Vim บน MacOS Sierra เพื่อให้...
views 1,573
หลังจากที่มาใช้ MacOS Sierra เหมือนผมจะมีปัญหากับปุ่ม Home/End สะเหลือเกิน  เนื่องจากบน Macbook มันจะไม่มีปุ่มดังกล่าวมาให้   ถ้าบน application อื่น เ...
มารู้จัก Sublist3r – Enumeration Tool เครื่อ...
views 1,481
Sublist3r เป็นเครืองมือในการค้นหารายละเอียดของ subdomains ที่เกี่ยวข้อง ภายใต้ เว็บไซต์เป้าหมาย  โดยการเก็บรายละเอียดนั้นจะอาศัย search engines อย่าง ...
วิธีเปิดใช้งาน Nginx ให้รองรับ HTTP/2 บน CentOS 7...
views 3,244
HTTP/2 หรือ (เดิมเรียกว่า HTTP/2.0) เป็นมาตรฐานใหม่ของ web protocol ซึ่งจะมาแทนที่ HTTP/1.1 ซึ่งออกมาตั้งแต่ 1997 (RFC 2068) และใช้อยู่จนถึงปัจจุบัน  ...
วิธีเปิดใช้งาน mod_deflate (Compress ) บน Apache เ...
views 2,361
mod_deflate เป็น Module ของ web server ที่ใช้ในการบีบอัดขข้อมูล (Compress ) ให้มีขนาดเล็กลง ก่อนที่จะส่งไปให้ Client หลังจากฝั่ง Client (Browser) ได้ร...
วิธีปิดการให้บริการ SSLv3 บน Apache เพื่อป้องกันกา...
views 2,050
ที่ผ่านมาเราจะเคยได้ยินข่าว เกียวกับช่องโหว่ของ SSLv3 ซึ่งเป็น Protocol ที่ออกมาตั้งแต่ปี 1996 (เก่ามากๆ)  และเป็นช่องโหว่ที่ถือว่าร้ายแรงเหมือนกัน มี...
วิธีติดตั้ง Let’s encrypt SSL (Free SSL) บน CentOS...
views 5,937
SSL (Secure Sockets Layer) เป็นเครื่องหมายรับรองความปลอดภัยทางอิเล็กทรอนิกส์ ที่จะบอกว่าเว็บนั้นมีความปลอดภัยและน่าเชื่อถือ จะเห็นได้ว่าทุกวันนี้ หลาย...
มาเริ่มต้นเรียนรู้วิธีใช้งาน Raspberry Pi แบบ Step...
views 21,138
Raspberry Pi เป็น Single Bord หรือจะว่ามันเป็น Embedded pc ก็ได้  ในตอนนี้ ถือว่ามันเป็นบอร์ดที่ยอดฮิต ณ. ปัจจุบัน เนื่องจากมีขนาดเล็ก (เล็กเท่ากับ AT...
วิธีการ Debug : MySQL Query Profiling บน Linux...
views 2,422
วันนี้จะมาแนะนำวิธีการ Debug Query บน MySQL  หรือเรียกอีกอย่าง คือ Profiler นั่นเอง  ซึ่งการทำ Profiler นั้น มันมีประโยชน์อย่างมากเลยในการวิเคราะห็ Pr...
แก้ปัญหาเวลาเปิด Visual Studio แล้ว Error “A...
views 3,679
บทความนี้จะแนะนำวิธีแก้ปัญหาเวลาเปิด Project visual studio แล้ว Error ข้อความข้างบน ซึ่ง Error เกิดจากเครืองเรายังไม่ได้ทำการ register .NET Framew...
วิธีติดตั้ง PHP เพื่อใช้งานกับ IIS ผ่าน (FastCGI) ...
views 13,629
ภาษา PHP เป็นภาษาที่นิยมกันอย่างแพร่หลายในปัจจุบัน เนืองจากเป็น Open source (ฟรี), เขียนง่าย แล้วยังสามารถรันได้แทบทุกระบบปฏิบัติการ (Cross platform) ...
ถึงเวลาที่จะต้อง Upgrade PHP 5.X มาเป็น PHP 7 บน C...
views 4,184
บทความนี้จะขอกล่าวถึงขั้นตอนในการ upgrade PHP version เก่า ให้เป็น PHP v7 ซึ่งเป็น version ใหม่ ของปี 2015 ซึ่งเป็นของใหม่ อยู่ ณ. ตอนนี้ และตอนนี้ Se...
เปลี่ยนจาก Shared Hosting มาเป็น VPS – Digit...
views 3,628
ช่วงนี้มีเวลาว่างเหลือนิดหน่อย เลยจะกลับมาเขียนบทความอีกครั้ง หลังจากช่วงหลังๆที่ผ่านมา งานประจำก็ยุ่งๆ เหลือเกิน + ความขี้เกีขจของผมเอง ^ ^" เลยไม่ค่...