Hướng dẫn sử dụng acme.sh

  • Thursday 16/03/2023

Hướng dẫn cài đặt

1. Cài đặt Online:

Dự án acme được phát triển tại link gibhub sau : https://github.com/acmesh-official/get.acme.sh.

Các bạn chạy lệnh curl sau để lấy file về :

  • curl https://get.acme.sh | sh -s email=my@example.com

hoặc là với lệnh wget sau :

  • wget -O – https://get.acme.sh | sh -s email=my@example.com

2. Cài đặt với thu viện git

Clone dự án này và chạy cài đặt:

  • git clone https://github.com/acmesh-official/acme.sh.git
  • cd ./acme.sh
  • ./acme.sh –install -m my@example.com

Bạn không cần phải chạy với quyền user root, mặc dù được khuyến khích chạy với quyền này để đảm bảo các lỗi ít xảy ra.

Cài đặt nâng cao: https://github.com/acmesh-official/acme.sh/wiki/How-to-install

Trình cài đặt sẽ thực hiện 3 hành động:

  • Tạo và sao chép acme.sh vào thư mục nhà của bạn ($HOME): ~/.acme.sh/. Tất cả các chứng chỉ cũng sẽ được đặt trong thư mục này.
  • Tạo bí danh cho: acme.sh=~/.acme.sh/acme.sh.
  • Tạo công việc định kỳ hàng ngày để kiểm tra và gia hạn chứng chỉ nếu cần.

Ví dụ nhập Cron:

  • 0 0 * * * “/home/user/.acme.sh”/acme.sh –cron –home “/home/user/.acme.sh” > /dev/null

Sau khi cài đặt, bạn phải đóng thiết bị đầu cuối hiện tại và mở lại để bí danh có hiệu lực.

Sau tắt cả , bạn đã sẵn sàng có thể cấp chứng chỉ ngay bây giờ.

Hiển thị thông báo trợ giúp:

root@v1:~# acme.sh -h

Cách để xin cấp phát certificate

acme

Ví dụ 1: Tên miền đơn.

  • acme.sh –issue -d example.com -w /home/wwwroot/example.com

hoặc:

  • acme.sh –issue -d example.com -w /home/username/public_html

hoặc:

  • acme.sh –issue -d example.com -w /var/www/html

Ví dụ 2: Nhiều miền trong cùng một chứng chỉ.

  • acme.sh –issue -d example.com -d www.example.com -d cp.example.com -w /home/wwwroot/example.com

Tham số /home/wwwroot/example.com hoặc /home/username/public_html hoặc /var/www/html là thư mục gốc của web nơi bạn lưu trữ các tệp trang web của mình. Bạn PHẢI có quyền ghi vào thư mục này.

Đối số thứ hai “example.com” là miền chính mà bạn muốn cấp chứng chỉ. Bạn phải có ít nhất một tên miền ở đó.

Bạn phải trỏ và liên kết tất cả các miền vào cùng một thư mục webroot: /home/wwwroot/example.com.

Các chứng chỉ sẽ được đặt trong ~/.acme.sh/example.com/

Chứng chỉ sẽ được tự động gia hạn sau mỗi 60 ngày.

Thêm ví dụ: https://github.com/acmesh-official/acme.sh/wiki/How-to-issue-a-cert

Cài đặt certificate vào webserivce apache hoặc nginx

Sau khi chứng chỉ được tạo, bạn có thể muốn cài đặt/sao chép chứng chỉ vào webservice Apache/Nginx hoặc các máy chủ khác. Bạn PHẢI sử dụng lệnh này để sao chép chứng chỉ vào tệp đích, KHÔNG sử dụng tệp chứng chỉ trong thư mục ~/.acme.sh/, chúng chỉ dành cho sử dụng nội bộ, cấu trúc thư mục có thể thay đổi trong tương lai.

Ví dụ về Apache:

acme.sh –install-cert -d example.com \
–cert-file /path/to/certfile/in/Apache/cert.pem \
–key-file /path/to/keyfile/in/Apache/key.pem \
–fullchain-file /path/to/fullchain/certfile/apache/fullchain.pem \
–reloadcmd “dịch vụ apache2 buộc tải lại”

Ví dụ Nginx:

acme.sh –install-cert -d example.com \
–key-file /path/to/keyfile/in/nginx/key.pem \
–fullchain-file /path/to/fullchain/nginx/cert.pem \
–reloadcmd “dịch vụ nginx bắt buộc tải lại”

Chỉ tên miền là bắt buộc, tất cả các tham số khác là tùy chọn.

Thông tin về quyền sở hữu và quyền của các tệp hiện có được giữ nguyên. Bạn có thể tạo trước các tệp để xác định quyền sở hữu và quyền.

Cài đặt/sao chép chứng chỉ/khóa vào đường dẫn Apache hoặc Nginx sản xuất.

Theo mặc định, chứng chỉ sẽ được gia hạn 60 ngày một lần (có thể định cấu hình). Sau khi chứng chỉ được gia hạn, dịch vụ Apache/Nginx sẽ được tải lại tự động bằng lệnh:

  • service apache2 force-reload

hoặc

  • service nginx force-reload.

Hãy cẩn thận: Loadcmd rất quan trọng. Chứng chỉ có thể được gia hạn tự động, nhưng nếu không có ‘reloadcmd’ chính xác, chứng chỉ có thể không được chuyển đến máy chủ của bạn (như nginx hoặc apache), khi đó trang web của bạn sẽ không thể hiển thị chứng chỉ được gia hạn sau 60 ngày.

Sử dụng máy chủ độc lập để cấp chứng chỉ

 

(yêu cầu bạn phải dùng tài khoản root/sudoer hoặc có quyền listener trên cổng 80 (TCP))

Cổng 80 (TCP) PHẢI được rảnh để nghe, nếu không bạn sẽ được nhắc giải phóng cổng và thử lại.

acme.sh –issue –standalone -d example.com -d www.example.com -d cp.example.com

Thêm ví dụ: https://github.com/acmesh-official/acme.sh/wiki/How-to-issue-a-cert

Sử dụng chế độ thủ công DNS:

Trước tiên hãy xem: https://github.com/acmesh-official/acme.sh/wiki/dns-manual-mode.

Nếu nhà cung cấp dns của bạn không hỗ trợ bất kỳ quyền truy cập api nào, thì bạn có thể thêm bản ghi txt bằng tay.

acme.sh –issue –dns -d example.com -d www.example.com -d cp.example.com

Bạn sẽ nhận được một đầu ra như dưới đây:

Thêm bản ghi txt sau:
Miền:_acme-challenge.example.com
Giá trị txt:9ihDbjYfTExAYeDs4DBUeuTo18KBzwvTEjUnSwd32-c

Thêm bản ghi txt sau:
Miền:_acme-challenge.www.example.com
Giá trị txt:9ihDbjxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Vui lòng thêm các bản ghi txt đó vào miền. Đang đợi dns có hiệu lực.

Sau đó, chỉ cần chạy lại với đối số gia hạn:

acme.sh –renew -d example.com

Nó đã được hoàn thành.

Hãy cẩn thận, đây là chế độ thủ công dns, nó không thể tự động gia hạn. bạn sẽ phải tự tay thêm một bản ghi txt mới vào miền của mình khi gia hạn chứng chỉ.

Ví dụ mẫu cho 1 domain thực tế : tiengvang.com

Chúng ta chạy lệnh sau để lấy thông tin txt xác thực trước

/root/.acme.sh/acme.sh –issue -d tiengvang.com -d *.tiengvang.com –dns -k ec-384 –yes-I-know-dns-manual-mode-enough-go-ahead-please

Két quả sẽ có 2 record txt để dành xác thực , chúng ta cấu hình vào domain. Sau đó chạy tiếp lệnh renew :

[root@vps15164 ~]# /root/.acme.sh/acme.sh –renew -d tiengvang.com –yes-I-know-dns-manual-mode-enough-go-ahead-please


 

—————-

P.A Việt Nam cung cấp đa dạng các Plan Hosting WordPress đáp ứng yêu cầu của khách hàng
WordPress Hosting phổ thông
WordPress Hosting chất lượng cao
WordPress VIP

Tham khảo các ưu đã https://www.pavietnam.vn/vn/tin-khuyen-mai/

Xem thêm nhiều kiến thức về dịch vụ  tại đây