Installing PHP 8.2-FPM on CWP7 with CentOS 7

Cấu hình PHP-FPM 8.2 trên CentOS 7.9 với CWP 7

Trong bài viết này, chúng ta sẽ tìm hiểu cách cài đặt và cấu hình PHP-FPM 8.2 trên hệ thống CentOS 7.9 với CWP 7. Đây là hướng dẫn chi tiết từng bước giúp bạn nâng cấp hoặc thiết lập PHP mới cho website của mình.

Cài đặt PHP-FPM 8.2

Để cài đặt PHP 8.2 trên CentOS 7.9 với CWP 7, thực hiện các bước sau:

Bước 1: Cài đặt EPEL và Remi repository

yum install epel-release -y
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y

Bước 2: Cài đặt yum-utils để quản lý repo

yum install yum-utils -y

Bước 3: Kích hoạt repo PHP 8.2

yum-config-manager --enable remi-php82

Bước 4: Cài đặt PHP 8.2 và các module cần thiết

yum install php82 php82-php-fpm php82-php-common php82-php-cli php82-php-mysqlnd php82-php-gd php82-php-ldap php82-php-odbc php82-php-pdo php82-php-opcache php82-php-pear php82-php-xml php82-php-xmlrpc php82-php-mbstring php82-php-snmp php82-php-soap php82-php-zip php82-php-intl -y

Cấu hình PHP-FPM 8.2

Bước 1: Sao lưu file cấu hình gốc

cp /etc/opt/remi/php82/php-fpm.d/www.conf /etc/opt/remi/php82/php-fpm.d/www.conf.bak

Bước 2: Chỉnh sửa file cấu hình

nano /etc/opt/remi/php82/php-fpm.d/www.conf

Thay đổi các thông số sau trong file:

user = nobody
group = nobody
listen = /var/run/php82-fpm.sock
listen.owner = nobody
listen.group = nobody
listen.mode = 0660

Bước 4: Khởi động và kích hoạt PHP-FPM

systemctl start php82-php-fpm
systemctl enable php82-php-fpm

Cấu hình Apache

Cập nhật file cấu hình vhost của Apache:

nano /usr/local/apache/conf.d/vhosts/oangle.com.conf

Thay đổi cấu hình để sử dụng PHP-FPM 8.2:

<IfModule proxy_fcgi_module>
    <FilesMatch \.php$>
        SetHandler "proxy:unix:/var/run/php82-fpm.sock|fcgi://localhost"
    </FilesMatch>
</IfModule>

Khởi động lại Apache:

systemctl restart httpd

Kiểm tra cài đặt

Tạo file info.php để kiểm tra cài đặt:

echo '<?php phpinfo(); ?>' > /home/oangle/public_html/info.php

Sau đó truy cập https://yourdomain.com/info.php để xác nhận PHP 8.2 đã hoạt động.

Khắc phục sự cố: Vấn đề về quyền truy cập

Nếu bạn gặp vấn đề "Access denied" khi truy cập các file PHP trong thư mục cụ thể, đó có thể là vấn đề về quyền truy cập giữa người dùng PHP-FPM và chủ sở hữu của file/thư mục.

Ví dụ, nếu:

  • PHP-FPM chạy với người dùng nobody
  • Thư mục web có chủ sở hữu oangle:oangle

Giải pháp: Thay đổi người dùng PHP-FPM

Đây là cách tốt nhất để giải quyết vấn đề, đặc biệt với WordPress:

# Chỉnh sửa file cấu hình
nano /etc/opt/remi/php82/php-fpm.d/www.conf

# Thay đổi các dòng sau
user = oangle
group = oangle
listen.owner = oangle
listen.group = oangle

# Khởi động lại PHP-FPM và Apache
systemctl restart php82-php-fpm
systemctl restart httpd

hoặc:
chgrp -R nobody /home/oangle/public_html/wp
chmod o+r /home/oangle/public_html/wp/

Kết luận

Bằng cách làm theo hướng dẫn này, bạn đã thành công trong việc:

  1. Cài đặt PHP 8.2 FPM trên CentOS 7.9 với CWP 7
  2. Cấu hình PHP-FPM để tạo socket
  3. Cấu hình Apache để sử dụng PHP-FPM 8.2
  4. Khắc phục các vấn đề về quyền truy cập

PHP 8.2 mang đến nhiều cải tiến về hiệu suất và tính năng mới, giúp website của bạn chạy nhanh hơn và bảo mật hơn.

Chúc các bạn thành công!

Comments