Ngày đăng: July 17, 2025
Để hoàn thành hướng dẫn này, bạn cần có quyền truy cập vào một máy chủ Ubuntu. Để cài đặt WordPress với LEMP trên máy chủ của bạn, bạn cũng cần thực hiện các bước sau trước khi bắt đầu:
Tạo một người dùng sudo trên máy chủ: Các bước trong hướng dẫn này sử dụng người dùng không phải root có quyền sudo.
Cài đặt LEMP stack: WordPress cần một máy chủ web, một cơ sở dữ liệu và PHP để hoạt động đúng cách. Việc thiết lập LEMP stack (Linux, Nginx, MySQL, PHP) đáp ứng tất cả các yêu cầu này.
Bảo mật trang web của bạn bằng SSL: WordPress phục vụ nội dung động và xử lý xác thực người dùng. TLS/SSL là công nghệ mã hóa lưu lượng từ trang web của bạn để kết nối an toàn.
WordPress sử dụng MySQL để quản lý và lưu trữ thông tin trang web và người dùng. Mặc dù bạn đã có MySQL, hãy tạo cơ sở dữ liệu và người dùng riêng cho WordPress.
Để bắt đầu, đăng nhập vào tài khoản root MySQL. Nếu MySQL dùng plugin chứng thực auth_socket
(mặc định), bạn có thể đăng nhập bằng sudo:
sudo mysql
Nếu đã đổi sang chứng thực mật khẩu cho root, dùng:
mysql -u root -p
Bạn sẽ được yêu cầu nhập mật khẩu cho root.
Sau khi đăng nhập, tạo một cơ sở dữ liệu riêng cho WordPress. Bạn có thể đặt tên theo ý muốn, ở đây ta dùng wordpress
:
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
Lưu ý: Mỗi câu lệnh MySQL phải kết thúc bằng dấu chấm phẩy (
;
).
Tiếp theo, tạo một tài khoản người dùng MySQL riêng dùng cho WordPress, ví dụ wordpressuser
. Tài khoản này có mật khẩu và được cấp quyền trên cơ sở dữ liệu vừa tạo:
CREATE USER 'wordpressuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost';
Bạn đã có cơ sở dữ liệu và tài khoản riêng cho WordPress.
Thoát MySQL:
EXIT;
LEMP chỉ yêu cầu một số tiện ích mở rộng PHP tối thiểu để PHP giao tiếp với MySQL. WordPress và nhiều plugin của nó dùng các tiện ích mở rộng PHP khác nhau.
Cài một số tiện ích PHP phổ biến cho WordPress:
sudo apt update
sudo apt install php-curl php-gd php-intl php-mbstring php-soap php-xml php-xmlrpc php-zip
Lưu ý: Mỗi plugin WordPress có yêu cầu riêng về tiện ích mở rộng PHP. Kiểm tra tài liệu plugin để biết các yêu cầu có thể cài bằng
apt
.
Sau khi cài xong, khởi động lại dịch vụ PHP-FPM để áp dụng tiện ích mới:
sudo systemctl restart php7.4-fpm
Bạn đã cài đặt đầy đủ tiện ích PHP cần thiết trên máy chủ.
Tiếp theo, chỉnh sửa file khối máy chủ Nginx. Dựa trên các hướng dẫn trước đó, bạn có file cấu hình nằm ở /etc/nginx/sites-available/
được cấu hình cho tên miền hoặc IP máy chủ và được bảo vệ bởi chứng chỉ TLS/SSL. Ví dụ ta dùng /etc/nginx/sites-available/wordpress
.
Thư mục gốc của WordPress ta dùng là /var/www/wordpress
.
Lưu ý: Nếu bạn dùng cấu hình mặc định
/etc/nginx/sites-available/default
với thư mục web root là/var/www/html
, điều này ổn nếu chỉ hosting một website trên máy chủ.
Mở file cấu hình bằng sudo:
sudo nano /etc/nginx/sites-available/wordpress
Trong khối server
, thêm các khối location
:
/favicon.ico
và /robots.txt
.server {
...
location = /favicon.ico { log_not_found off; access_log off; }
location = /robots.txt { log_not_found off; access_log off; allow all; }
location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
expires max;
log_not_found off;
}
...
}
Trong khối location /
, hiệu chỉnh dòng try_files
:
location / {
#try_files $uri $uri/ =404;
try_files $uri $uri/ /index.php$is_args$args;
}
Lưu và đóng file.
Kiểm tra cấu hình:
sudo nginx -t
Nếu không có lỗi, tải lại Nginx:
sudo systemctl reload nginx
Tiếp theo, ta sẽ tải và cài đặt WordPress.
Sau khi phần mềm máy chủ đã cấu hình, tải và cài đặt WordPress. Luôn khuyên tải phiên bản WordPress mới nhất từ trang chính thức vì lý do bảo mật.
Chuyển vào thư mục có quyền ghi và tải:
cd /tmp
curl -LO https://wordpress.org/latest.tar.gz
Giải nén file:
tar xzvf latest.tar.gz
Sao chép file cấu hình mẫu sang file cấu hình thực tế:
cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php
Sao chép toàn bộ nội dung thư mục WordPress vào thư mục web root:
sudo cp -a /tmp/wordpress/. /var/www/wordpress
Gán quyền sở hữu cho www-data (người dùng và nhóm mà Nginx chạy dưới quyền):
sudo chown -R www-data:www-data /var/www/wordpress
File đã nằm đúng vị trí với quyền phù hợp, tiếp tục cấu hình.
Mở file cấu hình chính của WordPress để chỉnh sửa.
Điều chỉnh các khóa bí mật để tăng bảo mật cho cài đặt. WordPress cung cấp trình tạo khóa bảo mật tự động.
Tạo các giá trị khóa mới:
curl -s https://api.wordpress.org/secret-key/1.1/salt/
Cảnh báo: Luôn tạo các giá trị duy nhất mỗi lần, không sao chép ví dụ mẫu.
Bạn sẽ nhận được các dòng trong dạng:
define('AUTH_KEY', 'some unique phrase');
define('SECURE_AUTH_KEY', 'some unique phrase');
define('LOGGED_IN_KEY', 'some unique phrase');
define('NONCE_KEY', 'some unique phrase');
define('AUTH_SALT', 'some unique phrase');
define('SECURE_AUTH_SALT', 'some unique phrase');
define('LOGGED_IN_SALT', 'some unique phrase');
define('NONCE_SALT', 'some unique phrase');
Mở file cấu hình:
sudo nano /var/www/wordpress/wp-config.php
Tìm phần chứa các giá trị giả định và thay bằng các giá trị bạn lấy được.
Thay đổi tên cơ sở dữ liệu, tên người dùng và mật khẩu cho đúng cấu hình MySQL:
define( 'DB_NAME', 'wordpress' );
define( 'DB_USER', 'wordpressuser' );
define( 'DB_PASSWORD', 'password' );
Thêm dòng để WordPress có thể ghi trực tiếp lên filesystem (để tránh yêu cầu FTP khi cập nhật):
define( 'FS_METHOD', 'direct' );
Lưu và đóng file khi hoàn tất.
Khi máy chủ đã cấu hình xong, hoàn tất quá trình cài đặt qua giao diện web của WordPress.
Mở trình duyệt và truy cập địa chỉ:
http://server_domain_or_IP/wordpress
Chọn ngôn ngữ sử dụng.
Trên trang thiết lập chính, đặt tên cho trang WordPress, chọn tên đăng nhập (không nên dùng "admin" vì lý do bảo mật). Mật khẩu mạnh sẽ được tạo tự động, bạn có thể lưu lại hoặc thay đổi mật khẩu.
Nhập email và chọn có muốn ngăn các công cụ tìm kiếm lập chỉ mục trang web không.
Khi bấm tiếp tục, bạn sẽ được chuyển tới trang đăng nhập.
Đăng nhập và truy cập vào bảng quản trị WordPress.
WordPress đã được cài đặt và sẵn sàng sử dụng! Một số bước tiếp theo thường làm là chọn cấu hình permalinks cho bài viết (tại Settings > Permalinks
) hoặc chọn giao diện mới (tại Appearance > Themes
). Nếu đây là lần đầu dùng WordPress, bạn nên khám phá giao diện để làm quen với CMS mới.