Trang chủ Linux Webserver [Centminmod] – Thêm domain vào máy chủ và thiết lập SSL

[Centminmod] – Thêm domain vào máy chủ và thiết lập SSL

bởi Thạch Phạm
1 bình luận 4,3K views

Tham gia nhóm hỗ trợ WordPress

Tham gia nhóm Hỗ trợ Server - Hosting & WordPress để cùng nhau hỏi đáp và hỗ trợ các vấn đề về WordPress, tối ưu máy chủ/server.

Tham gia ngay
Bài này thuộc phần 3 của 5 phần trong serie Centminmod và WordPress

Sau khi cài đặt Centminmod mà mình đã trình bày ở phần 2, thì việc tiếp theo mà bạn cần sẽ làm đó chính là thêm domain cần chạy website vào máy chủ bởi các bước cài đặt Centminmod đã cấu hình tất cả cho bạn rồi nên chẳng cần làm thêm gì.

Thông thường khi thêm một domain vào máy chủ thì chúng ta sẽ cần làm khá mất thời gian, nhất là việc chỉnh sửa các file cấu hình (config) không phù hợp dành cho người mới tìm hiểu.

Rất may mắn rằng Centminmod đã có một tùy chọn hỗ trợ bạn thêm domain nhanh chóng mà không cần làm gì nhiều, chỉ việc nhập domain là xong.

Bước 1. Trỏ domain về IP của máy chủ

Để chạy domain được trên VPS thì dĩ nhiên bạn sẽ cần phải trỏ domain về IP của máy chủ. Cách trỏ là chúng ta sẽ sử dụng trang quản lý DNS của các nhà cung cấp domain thường có sẵn để thêm record.

Khuyến mãi Black Friday

Hãy tạo một record A với tên là @ hoặc * hoặc domaincuaban.com và giá trị là IP của máy chủ, xem hình dưới:

Sửa record A trỏ tới IP của VPS

Sửa record A trỏ tới IP của VPS

Xong và đợi đến khi nào gõ địa chỉ website mà nó dẫn tới trang chào mừng Centminmod của bạn trên VPS là đã cập nhật DNS hoàn tất.

Bước 2. Bật tính năng tự cài SSL miễn phí Let’s Encrypt khi thêm website

Centminmod bản 123.09beta01 trở đi có bổ sung thêm một tính năng đó là tự động cài đặt chứng chỉ SSL miễn phí của Let’s Encrypt trong quá trình thêm website trên Centminmod, và điều kiện là bạn phải trỏ tên miền thêm vào về VPS mà mình đã mô tả ở bước 1. Và để sử dụng nó thì phải bật nó lên, thao tác này chỉ làm một lần duy nhất.

Bạn tạo tập tin /etc/centminmod/custom_config.inc và chèn nội dung sau vào:

LETSENCRYPT_DETECT='y'

Và chạy 2 lệnh sau để cài đặt tính năng này:

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

Hoàn tất.

Bước 3. Thêm domain vào máy chủ bằng Centminmod

Tiến hành đăng nhập vào VPS thông qua SSH như thường lệ và cd tới thư mục chứa script Centminmod nhé.

[bash]
cd /usr/local/src/centminmod
[/bash]

Và chạy file centmin.sh

[bash]./centmin.sh[/bash]

Menu của Centminmod hiển thị ra, chọn tùy chọn số 2). Add nginx vhost domain. Tức là gõ số 2 rồi ấn Enter đó.

[Centminmod] - Thêm domain vào máy chủ và thiết lập SSL 18

Nó sẽ hỏi bạn một số thông tin và chỉ cần nhập y để đồng ý là được, mình sẽ giải nghĩa từng đoạn ở bên dưới nhé:

# Bạn có muốn tiếp tục tính năng thêm website vào NGINX?
Do you want to continue with Nginx vhost site creation ? [y/n] y

# Nhập tên miền cần thêm vào VPS (không có www)
Enter vhost domain name to add (without www. prefix): centmin.thachpham.com

# Bạn có muốn tạo một chứng chỉ SSL tự ký? 
Create a self-signed SSL certificate Nginx vhost? [y/n]: y

# Bạn có muốn cài đặt Let's Encrypt cho tên miền đang thêm?
Get Letsencrypt SSL certificate Nginx vhost? [y/n]: y

# Một vài ghi chú, đại loại là tên miền bạn phải được trỏ về VPS trước khi thực hiện thao tác này
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

# Kiểm tra thông tin IP của VPS đang thao tác và website có được trỏ về VPS chưa
centmin.thachpham.com is not a top level domain
your server IPv4 IP address: 45.252.251.43
current DNS A record IPv4 address for centmin.thachpham.com is: 45.252.251.43

Do you want to continue [y/n]: y

# Chọn cách thức cài chứng chỉ SSL Let's Encrypt, bạn nên chọn dòng số 3 nhé.
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

# Nhập username tài khoản FTP dành cho tên miền này
Create FTP username for vhost domain (enter username): thachpham

# Tự động tạo mật khẩu FTP ngẫu nhiên để bảo mật hơn
Auto generate FTP password (recommended) [y/n]: y

Bây giờ nó đã thêm domain cho bạn xong, bạn kéo lên trên để thấy các thông tin liên quan tới domain như sau:

-------------------------------------------------------------
FTP hostname : 45.252.251.43
FTP port : 21
FTP mode : FTP (explicit SSL)
FTP Passive (PASV) : ensure is checked/enabled
FTP username created for thachpham.com : thachpham
FTP password created for thachpham.com : wG\Z^k%'iaSpbQ1<[u,b_
-------------------------------------------------------------

-------------------------------------------------------------
vhost for centmin.thachpham.com created successfully

domain: http://centmin.thachpham.com
vhost conf file for centmin.thachpham.com created: /usr/local/nginx/conf/conf.d/centmin.thachpham.com.conf

vhost ssl for centmin.thachpham.com created successfully

domain: https://centmin.thachpham.com
vhost ssl conf file for centmin.thachpham.com created: /usr/local/nginx/conf/conf.d/centmin.thachpham.com.ssl.conf
/usr/local/nginx/conf/ssl_include.conf created
Self-signed SSL Certificate: /usr/local/nginx/conf/ssl/centmin.thachpham.com/centmin.thachpham.com.crt
SSL Private Key: /usr/local/nginx/conf/ssl/centmin.thachpham.com/centmin.thachpham.com.key
SSL CSR File: /usr/local/nginx/conf/ssl/centmin.thachpham.com/centmin.thachpham.com.csr
Backup SSL Private Key: /usr/local/nginx/conf/ssl/centmin.thachpham.com/centmin.thachpham.com-backup.key
Backup SSL CSR File: /usr/local/nginx/conf/ssl/centmin.thachpham.com/centmin.thachpham.com-backup.csr
letsdebug API check log: /root/centminlogs/letsdebug-centmin.thachpham.com-280720-142327.log

upload files to /home/nginx/domains/centmin.thachpham.com/public
vhost log files directory is /home/nginx/domains/centmin.thachpham.com/log

-------------------------------------------------------------
Current vhost listing at: /usr/local/nginx/conf/conf.d/


Jul 28  07:36   1.1K   demodomain.com.conf
Jul 28  07:45   1.4K   virtual.conf
Jul 28  08:06   2.4K   thachpham.com.conf
Jul 28  14:01   4.2K   thachpham.com.ssl.conf
Jul 28  14:36   2.5K   centmin.thachpham.com.conf
Jul 28  14:36   4.0K   centmin.thachpham.com.ssl.conf

-------------------------------------------------------------
Current vhost ssl files listing at: /usr/local/nginx/conf/ssl/centmin.thachpham.com


Jul 28  08:06   424    dhparam.pem
Jul 28  14:36   1.7K   centmin.thachpham.com.key
Jul 28  14:36   1.2K   centmin.thachpham.com.csr
Jul 28  14:36   1.7K   centmin.thachpham.com.crt
Jul 28  14:36   387    centmin.thachpham.com.crt.key.conf
Jul 28  14:36   387    acme-vhost-config.txt
Jul 28  14:36   3.5K   centmin.thachpham.com-acme.cer
Jul 28  14:36   1.7K   centmin.thachpham.com-acme.key
Jul 28  14:36   3.5K   centmin.thachpham.com-fullchain-acme.key

-------------------------------------------------------------
Commands to remove centmin.thachpham.com

pure-pw userdel thachpham
 rm -rf /usr/local/nginx/conf/conf.d/centmin.thachpham.com.conf
 rm -rf /usr/local/nginx/conf/conf.d/centmin.thachpham.com.ssl.conf
 rm -rf /usr/local/nginx/conf/ssl/centmin.thachpham.com/centmin.thachpham.com.crt
 rm -rf /usr/local/nginx/conf/ssl/centmin.thachpham.com/centmin.thachpham.com.key
 rm -rf /usr/local/nginx/conf/ssl/centmin.thachpham.com/centmin.thachpham.com.csr
 rm -rf /usr/local/nginx/conf/ssl/centmin.thachpham.com
 rm -rf /home/nginx/domains/centmin.thachpham.com
 rm -rf /root/.acme.sh/centmin.thachpham.com
 rm -rf /root/.acme.sh/centmin.thachpham.com_ecc
 rm -rf /usr/local/nginx/conf/pre-staticfiles-local-centmin.thachpham.com.conf
 service nginx restart
-------------------------------------------------------------
vhost for centmin.thachpham.com setup successfully
centmin.thachpham.com setup info log saved at:
/root/centminlogs/centminmod_123.09beta01.b548_280720-142327_nginx_addvhost.log

Cuối cùng là chọn tùy chọn số 24 để thoát ra.

Sau đó truy cập lại vào domain, nếu nó ra trang này thì đã thành công.

adddomaincentminmod

Và giờ đây, thư mục của domain bạn vừa add vào nằm ở /home/nginx/domains/. Hoặc bạn có thể đăng nhập vào bằng tài khoản FTP của domain đó hoặc sử dụng tài khoản root để quản trị.

 Sử dụng chứng chỉ SSL trả phí

Nếu trường hợp bạn không muốn dùng chứng chỉ SSL miễn phí hoặc chứng chỉ tự ký mà Centminmod cài sẵn, mà muốn dùng chứng chỉ SSL trả phí hoặc một chứng chỉ khác thì bạn mở tập tin cấu hình domain đó tại /usr/local/nginx/conf/conf.d/domain.ltd.ssl.conf (thay domain.ltd thành tên miền của bạn) và tìm đoạn sau:

  ssl_certificate      /usr/local/nginx/conf/ssl/thachpham.com/domain.ltd.crt;
  ssl_certificate_key  /usr/local/nginx/conf/ssl/thachpham.com/domain.ltd.key;

Thay hai tập tin domain.ltd.crt và domain.ltd.key thành đường dẫn của tập tin chứa chứng chỉ và private key, sau đó khởi động lại NGINX.

service nginx restart

Kết thúc phần 3

Ở phần này bạn đã đi qua cách add domain vào máy chủ bằng Centminmod, rất đơn giản và dễ hiểu lắm phải không nào. Ngay phần kế tiếp, mình sẽ hướng dẫn bạn cài mới một website WordPress trên máy chủ dùng Centminmod.

Nếu bạn đã có website rồi và cần chuyển host thì đừng lo lắng, mình sẽ hướng dẫn chi tiết ở các phần sau nữa.

Đánh giá nội dung này
1 bình luận

Có thể bạn quan tâm

Hiện tại blog tạm đóng bình luận vì mình cần tập trung thời gian vào cập nhật bài viết. Bình luận sẽ mở ra cho đến khi mình sẵn sàng.