Cách cài đặt PHP trên CentOS 8

0

PHP 1
PHP là một trong những ngôn ngữ lập trình server-side được sử dụng rộng rãi nhất. Nhiều CMS và framework phổ biến được viết bằng PHP, trong đó có WordPress, Magento và Laravel.

Trong hướng dẫn này, chúng ta sẽ bàn về cách cài đặt PHP 7.2, 7.3 hoặc 7.4 trên CentOS 8. Trước khi chọn phiên bản PHP nào để cài đặt, hãy chắc chắn rằng các ứng dụng của bạn có hỗ trợ nó.

Chúng tôi cũng sẽ chỉ cho bạn cách tích hợp PHP với Nginx và Apache

Cài đặt PHP trên CentOS 8

CentOS 8 được phát hành bởi PHP 7.2. Phiên bản này hỗ trợ hầu hết các ứng dụng PHP hiện đại, nhưng sẽ chấm dứt kể từ tháng 11 năm 2019. Các phiên bản PHP mới hơn sẽ có trong repository Remi.

Kích hoạt Remi repository

Nếu bạn có ý định cài đặt phiên bản PHP 7.2, hãy bỏ qua bước này. Ngược lại, nếu bạn muốn cài đặt PHP 7.3 hoặc 7.4, hãy mở repository của Remi bằng dòng lệnh sau với quyền root hoặc user có đặc quyền sudo:

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm

Lệnh này cũng sẽ kích hoạt repository EPEL.

Khi cài đặt xong, hãy chạy lệnh sau để xem danh sách tất cả các phiên bản PHP hiện có:

sudo dnf module list php

Kết quả hiển thị bao gồm danh sách các module có sẵn, phiên bản và nhiều thông tin khác.

Last metadata expiration check: 0:02:11 ago on Fri 18 Oct 2019 08:31:43 PM UTC.
CentOS-8 – AppStream
Name Stream Profiles Summary
php 7.2 [d][e] common [d], devel, minimal PHP scripting language

Remi’s Modular repository for Enterprise Linux 8 – x86_64
Name Stream Profiles Summary
php remi-7.2 common [d], devel, minimal PHP scripting language
php remi-7.3 common [d], devel, minimal PHP scripting language
php remi-7.4 common [d], devel, minimal PHP scripting language

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

Module PHP mặc định là PHP 7.2. Để cài đặt phiên bản PHP mới hơn, hãy nhập những dòng lệnh sau tương ứng với mỗi bản:

PHP 7.3

sudo dnf module reset php
sudo dnf module enable php:remi-7.3

PHP 7.4

sudo dnf module reset php
sudo dnf module enable php:remi-7.4

Tiếp theo chúng ta sẽ đến bước cài đặt PHP trên CentOS

Cài đặt PHP

Lệnh này sẽ cài đặt PHP và một số module phổ biến nhất:

sudo dnf install php php-opcache php-gd php-curl php-mysqlnd

FPM là viết tắt cho chữ FastCGI Process Manager, là chương trình có chức năng phiên dịch PHP khi chạy trang web cho web server. Dùng dòng lệnh dưới đây để khởi động FPM đồng thời kích hoạt chế độ tự động ở những lần khởi động sau:

sudo systemctl enable –now php-fpm

Cấu hình PHP hoạt động với Apache

Nếu SELinux đang hoạt động, thì hãy tắt nó đi:

sudo chcon -Rt httpd_sys_rw_content_t /var/www

Nếu bạn đang dùng webserver Apache, hãy restart lại httpd và bước tới phần kế tiếp

sudo systemctl restart httpd

Cấu hình Nginx để chạy web PHP

Theo mặc định, PHP FPM sẽ gán user = apache. Để tránh vấn đề tranh chấp về quyền, ta sẽ đổi user thành nginx.

sudo nano /etc/php-fpm.d/www.conf

user = nginx

group = nginx

Đảm bảo rằng đã đặt quyền sở hữu đúng người cho đường dẫn /var/lib/php:

chown -R root:nginx /var/lib/php

Khi đã kiểm tra ổn rồi thì restart PHP FPM:

sudo systemctl restart php-fpm

Kế tiếp, ta điều chỉnh phần chỉ thị trong Virutal host của Nginx, và chèn thêm location block đây để Nginx xử lý các file PHP:

server {

# . . . other code

location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

Để những thay đổi trên có hiệu lực, restart lại Nginx:

sudo systemctl restart nginx

Cập nhật SELinux security context:

sudo chcon -Rt httpd_sys_rw_content_t /var/www

Tổng kết

PHP 7.2 có sẵn trong repository CentOS 8 mặc định. Nếu bạn muốn cài đặt phiên bản mới hơn thì cần kích hoạt repository Remi.

Nếu bạn có thắc mắc hoặc phản hồi nào, hãy để lại bình luận phía dưới.

Theo dõi
Notify of
guest
0 Comments
Inline Feedbacks
View all comments