Chuyển tới nội dung chính

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

  1. 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:2222 hoặc https://your_server_ip:2222).
  2. Đăng nhập bằng tên người dùng và mật khẩu của bạn.
  3. Nếu bạn đang ở cấp độ Admin Level hoặc Reseller Level, hãy chuyển sang User Level bằng cách chọn Account Manager -> List Users và 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ọn Switch to User Level.
  4. Trong giao diện User Level, tìm đến mục Account Manager và chọn Domain Setup.
  5. 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

  1. 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ần Advanced Features hoặc Account Manager).
  2. 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)
  3. Chọn tùy chọn thứ ba: "Get automatic certificate from ACME Provider (Let's Encrypt)".
  4. 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ọn 4096 để 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.com nếu bạn sử dụng dịch vụ email trên domain này.
      • ✅ Chọn ftp.your_domain.com nế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).
  5. Sau khi đã cấu hình xong, nhấn nút "Save" hoặc "Save Certificate".
  6. 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.
  7. 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:

  1. Trong DirectAdmin, đi tới System Info & Files -> File Manager.
  2. Điều hướng đến thư mục domains/your_domain.com/public_html.
  3. Tìm file .htaccess. Nếu không có, bạn có thể tạo mới.
  4. Chỉnh sửa file .htaccess và thêm đoạn code sau vào đầu file:
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
  5. 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.com hoặ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 80 hoặc telnet your_domain.com 443 từ 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.
  • 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: