Hướng dẫn cài WordPress trên CentOS7

WordPress là hệ quản trị nội dung mã nguồn mở (CMS –  content management system) được viết bằng ngôn ngữ PHP. WordPress sử dụng hệ quản trị cơ sở dữ liệu MySQL hoặc MariaDB. Với WordPress ta có thể tự tạo, biên tập nội dung trang web mà không cần có quá nhiều kiến thức về lập trình.

1. Chuẩn bị

  • – Máy chủ cài hệ điều hành CentOS 7 với cấu hình phần cứng cơ bản.
  • – Phiên bản PHP từ 7.3 trở lên.
  • – Phiên bản MySQL từ 5.6 trở lên hoặc MariaDB từ 10.1.
  • – Hỗ trợ HTTPS.
  • – Trong phần cài đặt sử dụng một máy ảo tại server test của Viettelco với cấu hình 4GB RAM, 2 Core CPU, hệ điều hành CentOS 7.
  • – Cài đặt trong local và NAT ra ngoài Internet theo cổng 80, 443.
  • – Sử dụng domain miễn phí .tk từ freenom.com sangpn.tk
  • – Trỏ các bản ghi về IP tĩnh đã thực hiện NAT.

2. Cài đặt LAMP (Linux, Apache, MySQL, PHP)

Cài đặt web server Apache:

#yum install httpd

Restart và bật Apache khi khởi động máy chủ:

# systemctl start httpd.service

# systemctl enable httpd.service

Nếu không tắt firewall ta có thể mở các cổng 80, 443 cho web server Apache:

# firewall-cmd –zone=public –add-port=80/tcp –permanent

# firewall-cmd –zone=public –add-port=443/tcp –permanent

# firewall-cmd –reload

Thêm Virtual host vào cuối file cấu hình /etc/httpd/conf/httpd.conf  của Apache:

<VirtualHost *:80>

    ServerAdmin admin@sangpn.tk

    DocumentRoot “/var/www/html”

    ServerName sangpn.tk

    ServerAlias www. sangpn.tk

    ErrorLog “/var/log/httpd/test.error_log”

    CustomLog “/var/log/httpd/test.access_log” common

</VirtualHost>

Cài SSL Let’s Encrypt cho tên miền:

# yum -y install mod_ssl

# yum -y install yum-utils

# yum -y install certbot-apache

# certbot –apache

Quá trình cài đặt, cần nhập email, lựa chọn tên miền cần cài SSL Let’s Encrypt. Sau khi cài đặt thành công, kiểm tra kết quả:

Cài đặt SSL Let’s Encrypt thành công.

Cài MariaDB:

# yum install mariadb-server mariadb

Chạy dịch vụ MariaDB và khởi động khi boot máy chủ:

# systemctl start mariadb

# systemctl enable mariadb.service

Đặt mật khẩu cho root user, thiết lập một số tùy chỉnh bảo mật:

# mysql_secure_installation

Cài PHP 7.3:

# yum install epel-release

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

# yum install yum-utils

# yum-config-manager –enable remi-php73

# yum install php73 php-mysql

# yum install php-fpm

Sau đó kiểm tra xem đã cài đặt PHP 7.3 chưa:

# php -v

Kiểm tra phiên bản PHP.

3. Cấu hình MySQL

Truy cập vào MariaDB bằng tài khoản root:

# mysql -u root -p

Tạo database cho WordPress, với wordpress là tên database:

CREATE DATABASE wordpress;

Tạo user và password cho việc truy cập database vừa tạo, với wordpressuser là tên tài khoản, password là mật khẩu cần tạo:

CREATE USER wordpressuser@localhost IDENTIFIED BY ‘password’;

Cấp quyền truy cập cho user vừa tạo:

GRANT ALL PRIVILEGES ON wordpress.* TO wordpressuser@localhost IDENTIFIED BY ‘password’;

Cập nhật thay đổi và thoát:

FLUSH PRIVILEGES;

exit

4. Cài WordPress trên CentOS 7

Cài đặt WordPress

Cài thêm gói php-gd (thư viện xử lý ảnh của PHP) để tránh các lỗi không mong muốn khi sửa ảnh với WordPress:

# yum install php-gd

Khởi động lại Apache:

# service httpd restart

Về thư mục home (root) và tải bản WordPress mới nhất, sau đó giải nén:

# cd ~

# wget http://wordpress.org/latest.tar.gz

# tar xzvf latest.tar.gz

Chuyển thư mục WordPress đã giải nén về thư mục mặc định của web bằng rsync (nếu chưa có rsync thì cài với lệnh yum install rsync):

# rsync -avP ~/wordpress/ /var/www/html/

Tạo thư mục để WordPress lưu trữ các file upload lên:

# mkdir /var/www/html/wp-content/uploads

Cấp quyền cho nhóm người dùng Apache:

# sudo chown -R apache:apache /var/www/html/*

Cấu hình WordPress

Di chuyển đến thư mục html và chỉnh sửa file cấu hình của WordPress:

# cd /var/www/html

# cp wp-config-sample.php wp-config.php

# vi wp-config.php

Chỉnh sửa tên, user, password database phù hợp và nhập 😡 để thoát:

// ** MySQL settings – You can get this info from your web host ** //

/** The name of the database for WordPress */

define( ‘DB_NAME’, ‘database_name_here’ );

/** MySQL database username */

define( ‘DB_USER’, ‘username_here’ );

/** MySQL database password */

define( ‘DB_PASSWORD’, ‘password_here’ );

Truy cập vào IP (hoặc domain nếu đã trỏ trước đó) để cấu hình ban đầu WordPress:

Chọn ngôn ngữ.

Tạo tài khoản đăng nhập WordPress.

Cài đặt thành công.

Dashboard khi đăng nhập.

Truy cập trang web.

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