Wordpress

Hướng dẫn cài đặt WordPress với LEMP Stack trên Ubuntu

phongdhphongdh
5 phút đọc
Chia sẻ:
Zalo
Hướng dẫn cài đặt WordPress với LEMP Stack trên Ubuntu

Giới thiệu

Ở bài viết trước mình đã hướng dẫn các bạn xây dựng LEMP Stack trên máy chủ Ubuntu, bây giờ bạn có thể thực hiện cài đặt wordpress theo các bước sau.

Bước 1: SSH vào máy chủ VPS

Đầu tiên bạn hãy truy cập vào máy chủ bằng giao thức SSH. Nếu bạn chưa biết cách SSH bạn hãy tham khảo bài viết bên dưới.

Bước 2: Trỏ tên miền về IP máy chủ VPS

Ở bài viết này mình sử dụng tên miền phongdinh.id.vn, bạn có thể sử dụng trang web sau để kiểm tra tên miền đã phân giải về đúng IP máy chủ VPS hay chưa:

Kiểm tra tên miền phongdinh.id.vn đã phân giải về đúng IP máy chủ bằng Google Admin Toolbox

Bước 3: Tạo user và thư mục cho Website

  • Tạo USER cho mỗi website

Mỗi trang web cần chạy với tư cách người dùng khác nhau vì mục đích bảo mật và độc lập. Vì vậy bạn hãy tạo các tài khoản người dùng và chỉ định người dùng www-data cho các nhóm tương ứng.

Điều này cho phép máy chủ web tương tác với người dùng và ngược lại. Không cấp cho người dùng khác nhau những đặc quyền đăng nhập hoặc liên kết bất kỳ thông tin nào. Để tạo người dùng, hãy chạy lệnh sau:

useradd phonhdinh
usermod -a -G phonhdinh www-data
Tạo user phonhdinh bằng lệnh useradd và thêm user vào nhóm www-data bằng usermod
  • Chỉ định quyền cho thư mục

Tiếp theo bạn hãy tạo thư mục cho web riêng biệt và gán quyền như sau

Lưu ý: Nếu bạn muốn thêm website hãy tạo user và thư mục tương ứng là được.

Các quyền của Unix là 770. Mỗi người dùng và nhóm liên kết của người dùng có đầy đủ quyền (7) trên thư mục. Cài đặt này hạn chế người dùng phonhdinh

Phân quyền 770 cho thư mục website của user phonhdinh để giới hạn truy cập

Bước 4: Cấu hình PHP

  • Tạo file PHP-FPM Pools

Bạn hãy copy pools php mặc định ra ra sửa lại như sau:

cp /etc/php/7.4/fpm/pool.d/www.conf /etc/php/7.4/fpm/pool.d/fpm-phonhdinh.conf
Sao chép file pool mặc định www.conf thành fpm-phonhdinh.conf để tạo PHP-FPM pool riêng
  • Cấu hình Pools

Mỗi groups sẽ có user liên kết với Unix socket. Vì vậy bạn cần mở từng file và sửa lại tương ứng như sau.

vi /etc/php/7.4/fpm/pool.d/fpm-phonhdinh.conf

Thay đổi các dòng sau:

  • Thay đổi dòng trên cùng, bên trong dấu ngoặc từ [www] sang [phonhdinh] cho pool 1
  • Thay đổi dòng user = www-data thành user = phonhdinh
  • Thay đổi dòng group = www-data thành group = phonhdinh
  • Thay đổi dòng listen = /run/php/php7.4-fpm.sock thành /run/php/php7.4-fpm-phonhdinh.sock
Chỉnh sửa user, group và đường dẫn listen socket trong file PHP-FPM pool của phonhdinh

Sau khi hoàn tất bạn hãy khởi động lại php-fpm bằng lệnh sau

systemctl restart php7.4-fpm
Khởi động lại dịch vụ PHP-FPM 7.4 bằng lệnh systemctl restart php7.4-fpm

Bước 5: Tạo Database

Bạn hãy truy cập vào mysql và tạo database mới cho website.

mysql -u root -p
CREATE DATABASE DBname_phonhdinh;
CREATE USER 'DBuser_phonhdinh'@'localhost' IDENTIFIED BY 'my-passswd';
GRANT ALL PRIVILEGES ON DBname_phonhdinh.* TO 'DBuser_phonhdinh'@'localhost';
Tạo database và user MySQL cho WordPress bằng lệnh CREATE DATABASE, CREATE USER và GRANT

Bước 6: Tạo file vhost NGINX domain

vi /etc/nginx/sites-available/phonhdinh.conf

Lưu ý: Thay server_name phongdinh.id.vn; bằng server_name của bạn

Tạo file vhost NGINX tại /etc/nginx/sites-available/phonhdinh.conf cho tên miền

Dùng lệnh sau để symlink qua sites-enabled

ln -s /etc/nginx/sites-available/phonhdinh.conf /etc/nginx/sites-enabled/
Tạo symlink từ sites-available sang sites-enabled để kích hoạt vhost NGINX

Bước 7: Tải core mã nguồn WordPress và cài đặt

  • Cài wordpress thủ công

Bạn hãy di chuyển vào thư mục sau đó tải về mã nguồn từ trang chủ. Mình sẽ chủ thích từng lệnh sau.

cd /home/phonhdinh
wget https://wordpress.org/latest.zip
unzip latest.zip
mv /home/phonhdinh/wordpress/* /home/phonhdinh
chown -R phonhdinh:phonhdinh /home/phonhdinh
Tải mã nguồn WordPress mới nhất, giải nén và phân quyền thư mục cho user phonhdinh
Truy cập tên miền trên trình duyệt để bắt đầu trình cài đặt WordPress

Bây giờ bạn có thể truy cập tên miền trên trình duyệt, sử dụng DATABASE, USER, PASSWORD ở Bước 5 để thiết lập wordpress mặc định.

Giao diện thiết lập WordPress
  • Cài bằng lênh với wp-cli

Ở bài viết trước mình có cài đặt WP-CLI, với công cụ này bạn có thể cài đặt WordPress cho tên miền bằng 1 lệnh sau:

Bạn cần thây các mục thông tin sau thành thông tin của mình:

  • –dbname=: DATABASE tạo ở bước 5
  • –dbuser=: USER tạo ở bước 5
  • –dbpass=: Password tạo ở bước 5
  • –url=: Địa chỉ truy cập website
  • –admin_user và –admin_password=: Thông tin đăng nhập wp-admin website
wp core download --allow-root && wp core config --dbname='DBname_phonhdinh' --dbuser='DBuser_phonhdinh' --dbpass='Gn********7edr' --allow-root && wp core install --url="<phongdinh.id.vn>"  --title="My site" --admin_user="phongdh" --admin_password="*EW********536KVl" --admin_email="[email protected]" --allow-root

Bước 8: Cài đặt chứng chỉ SSL cho website

Ở bài Hướng dẫn cài đặt LEMP Stack trên Ubuntu trước đó mình đã hướng dẫn các bạn cài đặt Certbot, bây giờ bạn có thể cài đặt SSL cho website bằng Certbot với các lệnh sau:

certbot --nginx --agree-tos --redirect --hsts --staple-ocsp -d Tên-miền --email [email protected]
Cài đặt chứng chỉ SSL cho website bằng Certbot với tuỳ chọn --nginx và ép chuyển hướng HTTPS

Truy cập tên miền trên trình duyệt để kiểm tra chứng chỉ SSL.

Kiểm tra chứng chỉ SSL của website trên trình duyệt sau khi cài bằng Certbot

Bước 9: Cài đặt Redis Cache cho website WordPress

Để cài đặt redis trên wordpress, bạn hãy cài đặt một Pluginc ó tên là Redis Object Cache. Sau đó mở file wp-config.php và thêm vào đoạn sau.

define('WP_CACHE_KEY_SALT', 'phongdinh.id.vn');
Thêm dòng define WP_CACHE_KEY_SALT vào file wp-config.php để cấu hình Redis Cache

Tiếp đến bạn vào admin WordPPress, Settings => Redis và kích hoạt lên.

Redis cache trong WordPress

Như vậy chúng ta đã cài đặt xong wordpress trên LEMP Stack kèm theo chứng chỉ SSL và Redis cache.

Chia sẻ bài viết này:
Zalo
phongdh

phongdh

Tác giả bài viết • Content Creator

Chào mọi người, mình là Phong - hiện đang công tác tại Phòng Kỹ thuật AZDIGI. Trong quá trình làm việc mình có cơ hội được tiếp xúc với khá nhiều các vấn đề liên quan đến Website/Email/Hosting/VPS/Server, do đó mình viết lại các hướng dẫn này nhằm chia sẻ kiến thức, cũng như tạo một môi trường để chúng ta giao lưu và học hỏi lẫn nhau.

Kết nối:

Bài viết liên quan

Những bài viết bạn có thể quan tâm

Thảo luận 0 bình luận Viết bình luận

Email được bảo mật và không hiển thị công khai.

Chưa có bình luận. Hãy là người mở đầu cuộc trò chuyện.

Zalo