Bài 3: Hướng dẫn thêm Domain và cài đặt SSL tự động

1. Bật tính năng tự động cài đặt SSL Let’s Encrrypt

Với bản Centmin Mod từ 123.09beta01  trở lên có bổ sung thêm tính năng hỗ trợ cài đặt SSL Let’s Encrypt khi bạn thêm website vào Centmin Mod. Điều kiện là tên miền của bạn phải được trỏ về IP máy chủ Centmin Mod trước đó thì việc cấp phát chứng chỉ SSL mới thành công. Sau khi tên miền đã được trỏ thành công bạn hãy bật tính năng tự động cài SSL lên, bạn chỉ thực hiện một lần duy nhất thôi thì các thao tác thêm lần sau sẽ sử dụng mãi mãi.

Bạn sử dụng lệnh nano để mở file: sudo nano /etc/centminmod/custom_config.inc và thêm vào đoạn sau.

LETSENCRYPT_DETECT='y'

Lưu lại ấn Ctrl+ O => Enter, sau đó Ctrl + X để thoát. Tiếp đến bạn chạy tiếp 2 lệnh này để cài đặt tính năng vừa thêm.

cd /usr/local/src/centminmod/addons
./acmetool.sh acmeinstall

2. Thêm domain vào máy chủ Centmin Mod

Hướng dẫn thêm Domain và cài đặt SSL tự động
Hướng dẫn thêm Domain và cài đặt SSL tự động

Tiếp theo bước này mình sẽ hướng dẫn bạn thực hiện thêm một tên miền vào trong Centmin Mod. Bạn nhập lệnh centmin để mở bảng menu lên nhé. Sau đó bạn chọn 2). Add Nginx vhost domain để thêm vào.

Khi bạn tùy chọn sẽ hiển thị một số thông tin để bạn nhập vào. Dưới đây là bảng chú thích để dễ thao tác.

 Do you want to continue with Nginx vhost site creation ? [y/n] y <= Chọn Y để tiếp tục
 Enter vhost domain name to add (without www. prefix): thinhseo.com <= Nhập vào tên domain
 Create a self-signed SSL certificate Nginx vhost? [y/n]: y <= Chọn Y để tạo chứng chỉ tự ký
 Get Letsencrypt SSL certificate Nginx vhost? [y/n]: y <= Chọn Y để tạo chứng chỉ Let's Encrypt
 
 To get Letsencrypt SSL certificate, you must already have updated intended
 domain vhost name's DNS A record to this server's IP addresss.
 If top level domain, DNS A record is needed also for www. version of domain
 otherwise, Letsencrypt domain name validation will fail.
 continue [y/n] ? y <= Chọn Y để tiếp tục
 thinhseo.com is not a top level domain
 your server IPv4 IP address: 55.252.949.100
 current DNS A record IPv4 address for thinhseo.com is: 55.252.949.100
 Do you want to continue [y/n]: y <= Chọn Y để tiếp tục
 
 You have 4 options:
 1. issue staging test cert with HTTP + HTTPS (untrusted)
 2. issue staging test cert with HTTPS default (untrusted)
 3. issue live cert with HTTP + HTTPS (trusted)
 4. issue live cert with HTTPS default (trusted)
 Enter option number 1-4: 3 <= Chọn số 3 để phát hành chứng chỉ trực tiếp (Tin cậy)
 Create FTP username for vhost domain (enter username): user FTP <= Nhập vào để tạo User FTP
 Auto generate FTP password (recommended) [y/n]: y <= Chọn Y để ngẫu nhiên mật khẩu
 FTP username you entered: user FTP
 FTP password auto generated: v!dshev/gfegq=xggn,
 Password:
 Enter it again:
 SSL Vhost Setup…

Trong quá trình cài đặt sẽ có thể báo lỗi !! Error: missing DNS A record for domain.com, tuy nhiên bạn chỉ cần chắc chắn đã trỏ đúng 2 bản ghi sau là được:

  • A @ → IP_máy_chủ

  • CNAME www → domain.com

Để chắc chắn hơn, bạn có thể kiểm tra bằng cách chạy lệnh dig domain.com A +short. Nếu ra IP đúng là bạn đã trỏ thành công. Hoặc tốt nhất bạn nên đợi thêm khoảng 30p nữa để record được cập nhật đầy đủ rồi bắt đầu cài lại.

Nếu đã trỏ đúng, khi được hỏi Abort this Nginx vhost domain setup to setup proper DNS A record(s) first? [y/n]: , bạn chọn “n” để tiếp tục cài bình thường.

Tiếp đến khi được hỏi các tùy chọn bạn chọn Y để đồng ý nhé. Sẽ mất ít phút để hoàn tất các bước thiết lập vhost và đường dẫn cấu hình chứng chỉ tên miền và ssl.

Sau khi hoàn tất bước thêm tên miền và SSL, bạn chọn số 24 tương ứng Exit để thoát bảng điều khiển. Ngay bây giờ bạn có thể truy cập vào tên miền để kiểm tra xem đã website đã hoạt động chưa rồi đó.

Bây giờ bạn có thể sử dụng filezilla đăng nhập bằng tài khoản FTP đã được tạo để upload mã nguồn lên rồi.

3. Sửa lỗi sau khi up website lên chỉ có trang chủ hiện còn các trang con báo 404

Đây là 1 lỗi khá phổ biến thường gặp, vì vậy mình sẽ hướng dẫn cách để khắc phục lỗi này.

Đầu tiên, chạy lệnh (thay domain.com bằng tên miền của bạn):

nano /usr/local/nginx/conf/conf.d/domain.com.ssl.conf

Tìm khối location / và thêm dòng try_files nếu chưa có:

location / {
include /usr/local/nginx/conf/503include-only.conf;
try_files $uri $uri/ /index.php?$args;

Lưu lại sau đó chạy lệnh:

nginx -t
systemctl reload nginx

Reset Permalinks trong WP-Admin

  • Vào Cài đặt → Đường dẫn tĩnh (Permalinks).
  • Nhấn Lưu thay đổi để WordPress cập nhật lại đường dẫn mới.

Rồi đó, bạn kiểm tra xem các trang con đã hiện đúng chưa nhé.

Bài viết tiếp theo chắc là nội dung nhiều bạn sẽ rất quan tâm: Bài 4: Hướng dẫn backup toàn bộ VPS lên Google Drive với Rclone

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *