Hướng dẫn cài đặt và cấu hình WordPress trên CentOS 8

Ở bài viết này, sau khi phiên bản CentOS 8 chính thức được phát hành. Hướng dẫn cài đặt WordPress với LEMP Server ( Linux, Nginx, MariaDB, PHP 7.x ) trên CentOS 8 (Áp dụng được cho cả 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:

cài đặt NGINX trên CentOS 7, đầu tiên chúng ta cần thêm EPEL vào CentOS với lệnh sau:

# yum install epel-release -y

  • 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

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 usergroup từ apache => nginx

  1. ; Unix user/group of processes
  2. ; Note: The user is mandatory. If the group is not set, the default user’s group
  3. ; will be used.
  4. ; RPM: apache user chosen to provide access to the same directories as httpd
  5. user = nginx
  6. ; RPM: Keep a group allowed to write in log dir.
  7. 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

  1. location / {
  2. root html;
  3. index index.php index.html index.htm;
  4. try_files $uri $uri/ /index.php$is_args$args;
  5. }

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:

Leave a Reply

Your email address will not be published.