Trong bài viết này, sau khi CentOS 8 đã chính thức ra mắt, chúng ta sẽ được hướng dẫn cách cài đặt WordPress trên một máy chủ LEMP (Linux, Nginx, MariaDB, PHP 7.x) sử dụng CentOS 8. Phương pháp này cũng áp dụng được cho CentOS 7.x, RHEL 7.x, và RHEL 8.x.
Điều kiện tiền đề
- Một Linux Server ( Có thể cài trên máy ảo ) hoặc bạn có thể sử dụng VPS như Vultr chẳng hạn.
- Đã cài đặt HDH CentOS 7 hoặc 8
Kết nối tới Linux Server bằng SSH và thực hiện các cài đặt bên dưới.
Cài đặt LEMP Server
Nâng cấp các packages
Đầu tiên đảm bảo các packages được cập nhật mới nhất bằng command sau:
sudo yum -y update
Cài đặt Nginx Web Server
Để cài đặt Nginx Web Server sử dụng command sau:
sudo yum install -y nginx
Khởi động và cho phép Nginx Server khởi động cùng Server
sudo systemctl start nginx.service sudo systemctl enable nginx.service
Kiểm tra Nginx Service đã hoạt động chưa.
sudo systemctl status nginx.service
Trên CentOS 7/8 mặc định tường lửa sẽ chặn cổng 80 của Nginx, để mở cổng chúng ta sử dụng command sau:
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent sudo firewall-cmd --reload
Tham khảo bài viết hướng dẫn mở cổng trên CentOS để biết thêm chi tiết.
Mở trình duyệt và truy cập với đường dẫn http://<domain hoặc IP Address> mà hiển thị trang “Test Page” của Nginx thì chúng ta đã cài đặt Nginx thành công.
Cài đặt MariaDB Database
Trong repository của CentOS 8 có sẵn MariaDB Database 10.3
Chúng ta cài đặt MariaDB Database Server bằng command:
sudo yum -y install mariadb-server
Khởi động và cho phép MariaDB Database Server khởi động cùng Server
sudo systemctl start mariadb.service sudo systemctl enable mariadb.service
Kiểm tra MariaDB Service đã hoạt động chưa.
sudo systemctl status mariadb.service
Sau khi cài đặt MariaDB xong, chạy command “sudo mysql_secure_installation” để thay đổi password cho tài khoản root.
Enter current password for root (enter for none): Nhập password trống trong trường hợp cài lần đầu tiên.
Các mục khác chọn “Y” hết.
Tạo thông tin kết nối tới database cho WordPress
Đầu tiên chúng ta kết nối tới CSDL bằng user root
mysql -u root -p
Tạo 1 database mới
SQL> CREATE DATABASE <database_name> CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Tạo 1 user mới và gán quyền cho database
SQL> GRANT ALL PRIVILEGES ON `<database_name>`.* To `<username>`@`localhost` IDENTIFIED BY '<password>';
VD: tạo MariaDB Database có tên là “vinasupport” và tạo MariaDB User là “vinasupport” với password là “12345678”
Cài đặt PHP 7
Trên CentOS 8, phiên bản PHP mặc định là 7.2
Để cài đặt PHP 7.2 chúng ta sử dụng command sau:
sudo yum install -y php php-fpm php-mysqlnd
Sửa file: /etc/php-fpm.d/www.conf sửa user và group từ apache => nginx
; Unix user/group of processes ; Note: The user is mandatory. If the group is not set, the default user's group ; will be used. ; RPM: apache user chosen to provide access to the same directories as httpd user = nginx ; RPM: Keep a group allowed to write in log dir. group = nginx
Khởi động và cho phép PHP-FPM khởi động cùng Server
sudo systemctl start php-fpm.service sudo systemctl enable php-fpm.service
Cài đặt WordPress
Download và giải nén phiên bản WordPress mới nhất và copy mã nguồn WordPress tới thư mục DocumentRoot của Nginx Server. Thư mục DocumentRoot của Nginx là /usr/share/nginx/html/
cd /tmp wget https://wordpress.org/latest.tar.gz tar -xzvf latest.tar.gz sudo cp -R wordpress/* /usr/share/nginx/html/ sudo chmod -R nginx:nginx /usr/share/nginx/html/
Sửa file /etc/nginx/nginx.conf.default
Thêm index.php vào như bên dưới
location / { root html; index index.php index.html index.htm; try_files $uri $uri/ /index.php$is_args$args; }
Sau đó restart lại Nginx Server
Truy cập tới trang web của bạn với đường dẫn:http://<domain hoặc IP Address>
Kết quả chúng ta có giao diện cài đặt của WordPress như hình bên dưới: