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.
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:
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é.
cd /usr/local/src/centminmod
Và chạy file centmin.sh
./centmin.sh
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 đó.
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 # 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 # 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 # 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 # 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 # 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
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.
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.