Cài Đặt SSL Let’s Encrypt trên DirectAdmin
Giới Thiệu
Trong thời đại số hóa ngày nay, việc bảo mật website là yếu tố cực kỳ quan trọng. Chứng chỉ SSL (Secure Sockets Layer) giúp mã hóa kết nối giữa trình duyệt của người dùng và máy chủ, đảm bảo dữ liệu truyền tải được an toàn và riêng tư. Let’s Encrypt là một tổ chức cung cấp chứng chỉ SSL miễn phí, dễ dàng cài đặt và tự động gia hạn, giúp mọi website đều có thể triển khai HTTPS.
Bài viết này sẽ hướng dẫn bạn cách cài đặt chứng chỉ SSL Let’s Encrypt trên bảng điều khiển DirectAdmin một cách đơn giản và hiệu quả.
📋 Thời gian: 10-15 phút | Độ khó: Cơ bản
Yêu Cầu
Để thực hiện cài đặt SSL Let’s Encrypt trên DirectAdmin, bạn cần đảm bảo các điều kiện sau:
- Bạn đã có quyền truy cập vào bảng điều khiển DirectAdmin với tài khoản quản trị (admin) hoặc tài khoản người dùng (user) có quyền quản lý domain.
- Domain của bạn đã được trỏ về địa chỉ IP của máy chủ DirectAdmin và đã phân giải DNS thành công.
- Dịch vụ DirectAdmin đã được cài đặt và đang hoạt động ổn định trên máy chủ của bạn.
- Cổng 80 và 443 trên máy chủ của bạn phải được mở để Let's Encrypt có thể xác minh domain.
Các Bước Thực Hiện
Bước 1: Đảm bảo DirectAdmin đã bật Let's Encrypt
Trước khi bắt đầu, bạn cần đảm bảo rằng tính năng Let's Encrypt đã được kích hoạt trên máy chủ DirectAdmin của bạn. Thông thường, tính năng này được bật theo mặc định trên các phiên bản DirectAdmin mới.
Bạn có thể kiểm tra bằng cách đăng nhập vào DirectAdmin với quyền admin và kiểm tra file cấu hình directadmin.conf.
# Đăng nhập SSH vào máy chủ của bạn
ssh root@your_server_ip
# Mở file cấu hình DirectAdmin
nano /usr/local/directadmin/conf/directadmin.conf
Tìm dòng có chứa letsencrypt=1. Nếu không có hoặc giá trị là 0, bạn cần thêm/sửa thành letsencrypt=1 và lưu lại.
Sau đó, khởi động lại DirectAdmin để áp dụng thay đổi:
# Khởi động lại DirectAdmin
systemctl restart directadmin
⚠️ Nếu bạn không có quyền root, hãy liên hệ nhà cung cung cấp dịch vụ hosting của bạn để xác nhận hoặc yêu cầu họ bật tính năng này.
Bước 2: Đăng nhập DirectAdmin và chọn domain
- Truy cập vào bảng điều khiển DirectAdmin của bạn thông qua trình duyệt (ví dụ:
https://your_domain:2222hoặchttps://your_server_ip:2222). - Đăng nhập bằng tên người dùng và mật khẩu của bạn.
- Nếu bạn đang ở cấp độ
Admin LevelhoặcReseller Level, hãy chuyển sangUser Levelbằng cách chọnAccount Manager->List Usersvà click vào tên người dùng của domain bạn muốn cài đặt SSL. Hoặc đn giản hơn, ở góc trên bên phải, bạn có thể chọnSwitch to User Level. - Trong giao diện
User Level, tìm đến mụcAccount Managervà chọnDomain Setup. - Chọn domain mà bạn muốn cài đặt SSL Let's Encrypt.
Bước 3: Kích hoạt Let's Encrypt SSL
- Sau khi chọn domain, bạn sẽ thấy các tùy chọn quản lý domain. Tìm đến mục
SSL Certificates(thường nằm trong phầnAdvanced FeatureshoặcAccount Manager). - Trong trang
SSL Certificates, bạn sẽ thấy 3 tùy chọn:- Paste a pre-generated certificate and key
- Create a Certificate Request
- Get automatic certificate from ACME Provider (Let's Encrypt)
- Chọn tùy chọn thứ ba: "Get automatic certificate from ACME Provider (Let's Encrypt)".
- Một form sẽ xuất hiện cho phép bạn cấu hình chứng chỉ Let's Encrypt:
- Common Name: Đảm bảo tên miền chính của bạn (ví dụ:
your_domain.com) đã được chọn. - Certificate Type: Chọn
Let's Encrypt. - Key Size: Mặc định là
2048. Bạn có thể giữ nguyên hoặc chọn4096để bảo mật cao hơn (nhưng có thể làm chậm quá trình một chút). - Alternative Names (SAN): Đây là các tên miền phụ hoặc alias mà bn muốn chứng chỉ này bảo vệ.
- ✅ Luôn chọn
www.your_domain.comđể chứng chỉ bảo vệ cả phiên bản có và không cówww. - ✅ Chọn
mail.your_domain.comnếu bạn sử dụng dịch vụ email trên domain này. - ✅ Chọn
ftp.your_domain.comnếu bạn sử dụng FTP. - 💡 Bạn có thể chọn các subdomain khác nếu cần (ví dụ:
blog.your_domain.com).
- ✅ Luôn chọn
- Common Name: Đảm bảo tên miền chính của bạn (ví dụ:
- Sau khi đã cấu hình xong, nhấn nút "Save" hoặc "Save Certificate".
- Hệ thống DirectAdmin sẽ tiến hành kết nối với Let's Encrypt để xác minh domain và cấp phát chứng chỉ. Quá trình này thường mất vài giây đến vài phút.
- Nếu thành công, bạn sẽ nhận được thông báo
Certificate and Key have been saved.và chứng chỉ Let's Encrypt đã được cài đặt cho domain của bạn. DirectAdmin cũng sẽ tự động cấu hình lại web server (Apache/Nginx) để sử dụng chứng chỉ mới.
✅ Sau khi cài đặt xong, hãy truy cập website của bạn bằng https://your_domain.com để kiểm tra. Bạn sẽ thấy biểu tượng ổ khóa xanh trên trình duyệt, xác nhận website đã được bảo mật bằng SSL.
Bước 4: Buộc sử dụng HTTPS (Tùy chọn nhưng được khuyến nghị)
Mặc dù SSL đã được cài đặt, người dùng vẫn có thể truy cập website của bạn qua HTTP. Để đảm bảo mọi kết nối đều được mã hóa, bạn nên cấu hình để tự động chuyển hướng (redirect) tất cả lưu lượng truy cập HTTP sang HTTPS.
Bạn có thể thực hiện điều này bằng cách chỉnh sửa file .htaccess trong thư mục public_html của domain:
- Trong DirectAdmin, đi tới
System Info & Files->File Manager. - Điều hướng đến thư mục
domains/your_domain.com/public_html. - Tìm file
.htaccess. Nếu không có, bạn có thể tạo mới. - Chỉnh sửa file
.htaccessvà thêm đoạn code sau vào đầu file:RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] - Lưu lại file. Bây giờ, mọi truy cập HTTP sẽ tự động chuyển hướng sang HTTPS.
Bước 5: Tự động gia hạn SSL
Một trong những ưu điểm lớn nhất của Let's Encrypt là khả năng tự động gia hạn. DirectAdmin đã tích hợp sẵn cơ chế này. Chứng chỉ Let's Encrypt có thời hạn 90 ngày, và DirectAdmin sẽ tự động gia hạn chứng chỉ của bạn trước khi hết hạn (thưng là 30 ngày trước ngày hết hạn) mà không cần bạn phải thao tác gì thêm.
Bạn có thể kiểm tra lịch trình gia hạn tự động của DirectAdmin bằng cách truy cập Admin Level -> Admin Tools -> System Information -> Cronjobs hoặc kiểm tra các log liên quan đến certbot hoặc directadmin trong /var/log.
Troubleshooting
Dưới đây là một số lỗi thường gặp khi cài đặt Let's Encrypt và cách xử lý:
- Lỗi "Could not connect to Let's Encrypt" hoặc "Domain validation failed":
- Nguyên nhân: Thường do lỗi phân giải DNS hoặc cổng 80/443 bị chặn. Let's Encrypt cần truy cập domain của bạn qua cổng 80 (HTTP) hoặc 443 (HTTPS) để xác minh quyền sở hữu domain.
- Cách xử lý:
- Kiểm tra lại DNS của domain, đảm bảo nó đã trỏ đúng IP máy chủ và đã phân giải thành công (có thể dùng
ping your_domain.comhoặc các công cụ kiểm tra DNS online). - Đảm bảo cổng 80 và 443 không bị tường lửa (firewall) chặn. Bạn có thể kiểm tra bằng cách dùng
telnet your_domain.com 80hoặctelnet your_domain.com 443từ một máy khác. Nếu sử dụng CSF/LFD, hãy đảm bảo các cổng này được mở. - Kiểm tra xem web server (Apache/Nginx) có đang chạy và phục vụ nội dung trên cổng 80 không.
- Kiểm tra lại DNS của domain, đảm bảo nó đã trỏ đúng IP máy chủ và đã phân giải thành công (có thể dùng
- Lỗi "Maximum number of certificates for this domain":
- Nguyên nhân: Let's Encrypt có giới hạn về số lượng chứng chỉ bạn có thể cấp cho một domain trong một khoảng thời gian nhất định (thường là 50 chứng chỉ mỗi tuần).
- Cách xử lý: Đợi một thời gian (vài giờ hoặc một ngày) rồi thử lại. Hoặc kiểm tra xem có quá nhiều lần thử cấp phát chứng chỉ thất bại liên tục không.
- Lỗi sau khi cài đặt SSL, website hiển thị lỗi "Your connection is not private":
- Nguyên nhân: Chứng chỉ có thể không được cài đặt đúng cách, hoặc web server chưa được cấu hình để sử dụng nó. Đôi khi là do bộ nhớ cache của trình duyệt.
- Cách xử lý:
- Xóa bộ nhớ cache của trình duyệt và thử lại.
- Kiểm tra lại các bước cài đặt. Đảm bảo bạn đã chọn đúng domain và nhấn "Save".
- Khởi động lại dịch vụ web server (Apache/Nginx) thông qua DirectAdmin hoặc SSH nếu bạn có quyền root.
# Đối với Apache
systemctl restart httpd
# Đối với Nginx (nếu sử dụng Nginx Proxy)
systemctl restart nginx
- Lỗi "Mixed Content Warnings" (nội dung hỗn hợp):
- Nguyên nhân: Sau khi chuyển sang HTTPS, một số tài nguyên trên trang web (hình ảnh, CSS, JavaScript) vẫn được tải qua HTTP thay vì HTTPS.
- Cách xử lý:
- Sử dụng công cụ như Why No Padlock để tìm các tài nguyên gây lỗi.
- Chỉnh sửa mã nguồn website để đảm bảo tất cả các URL tài nguyên đều sử dụng
https://hoặc sử dụng URL tương đối (//example.com/image.jpg). - Nếu bạn dùng WordPress, có nhiều plugin như "Really Simple SSL" có thể giúp tự động sửa lỗi này.
Kết Luận
Việc cài đặt chứng chỉ SSL Let's Encrypt trên DirectAdmin là một quy trình đơn giản và nhanh chóng, mang lại lợi ích lớn về bảo mật và SEO cho website của bạn. Với khả năng tự động gia hạn, bạn không cần phải lo lắng về việc chứng chỉ hết hạn.
Best practices:
- 💡 Luôn đảm bảo DNS của domain đã được trỏ chính xác trước khi cài đặt SSL.
- 💡 Kích hoạt tính năng redirect HTTP sang HTTPS đ đảm bảo mọi truy cập đều an toàn.
- 💡 Thường xuyên kiểm tra tình trạng SSL của website (ví dụ: dùng các công cụ kiểm tra SSL online) để đảm bảo chứng chỉ luôn hợp lệ.
- 💡 Giữ cho phiên bản DirectAdmin của bạn luôn được cập nhật để tận dụng các tính năng mới nhất và vá lỗi bảo mật.
Chúc mừng bạn đã cài đặt thành công SSL Let's Encrypt cho website của mình! ✅
Xem thêm: