XAMPP là một môi trường phát triển web cục bộ vô cùng phổ biến, cho phép lập trình viên dễ dàng chạy Apache, PHP và MariaDB trên máy tính cá nhân. Tuy nhiên, một trong những thách thức thường gặp là thiết lập giao thức HTTPS để mô phỏng chính xác môi trường production, đặc biệt là khi các trình duyệt ngày càng yêu cầu kết nối an toàn. Bài viết này sẽ hướng dẫn bạn cách cài đặt chứng chỉ SSL miễn phí từ ZeroSSL vào máy chủ Apache của XAMPP một cách chi tiết, giúp bạn phát triển và kiểm thử website trên môi trường HTTPS an toàn ngay trên máy tính của mình.
Các bước thực hiện cài đặt ZeroSSL
Bước 1: Khởi tạo yêu cầu chứng chỉ trên ZeroSSL
1.1. Truy cập: Bạn mở trình duyệt web và đi đến trang chủ https://zerossl.com. Sau đó, bạn nhấn vào nút Get Free SSL để đăng nhập hoặc đăng ký một tài khoản mới.
1.2. Tạo chứng chỉ mới: Trong trang quản lý, bạn chọn New Certificate.

1.3. Nhập tên miền: Điền chính xác domain hoặc subdomain bạn muốn cài đặt SSL (ví dụ: example-02.vietnix.xyz).

1.4. Chọn Gói: Bạn lựa chọn gói 90-Day Certificate (miễn phí).

1.5. Cấu hình: Để mặc định các bước Add-Ons, CSR, Encryption Algorithm (nên chọn 2048) và nhấn Next Step cho đến khi đến bước xác thực.



Bước 2: Chuẩn bị file xác thực (File Challenge)
2.1. Chọn phương thức xác thực: Tại phần Verification, bạn tick chọn phương thức File Upload và HTTP..
2.2. Tải file xác thực: Nhấn vào nút Download Auth File để tải file chứa mã xác thực (Challenge File) về máy tính của bạn.

Bước 3: Tạo đường dẫn và upload file xác thực lên XAMPP Server
Bạn cần tạo cấu trúc thư mục ẩn .well-known\pki-validation trong thư mục gốc của website (DocumentRoot) trong XAMPP để ZeroSSL có thể xác thực.
3.1. Truy cập Webroot: Điều hướng đến thư mục DocumentRoot của website bạn đang cấu hình trong XAMPP (ví dụ: C:\xampp\htdocs\example-02.vietnix.xyz\public).
3.2. Tạo thư mục ẩn bằng CMD: Vì thư mục .well-known bắt đầu bằng một dấu chấm, việc tạo nó qua giao diện Windows Explorer có thể không thành công. Cách đơn giản nhất là dùng Command Prompt (CMD). Bạn mở CMD, điều hướng đến thư mục DocumentRoot và chạy lệnh sau để tạo cấu trúc thư mục cần thiết:
mkdir .well-known\pki-validation

3.3. Upload File: Sao chép file xác thực (Challenge File) đã download ở Bước 2 vào thư mục vừa tạo.

3.4. Kiểm tra: Mở trình duyệt và truy cập đường dẫn xác thực do ZeroSSL cung cấp. Nếu nội dung file challenge hiện ra, việc chuẩn bị đã thành công.

Bước 4: Xác thực và tải bộ SSL Key
4.1. Xác thực: Bạn quay lại ZeroSSL, nhấn Next Step và sau đó chọn Verify Domain.

4.2. Download: Sau khi hoàn tất, bạn nhấn nút Download Certificate (.zip). File nén này sẽ chứa 3 file quan trọng: certificate.crt, private.key và ca_bundle.crt.

Bước 5: Cấu hình SSL trên Apache XAMPP
5.1. Tạo thư mục SSL và upload Key:
- Tạo thư mục lưu trữ key (ví dụ:
C:\xampp\apache\conf\ssl\example-02.vietnix.xyz). - Upload 3 file
.crt,.key,.cavào thư mục này. - Đổi tên file thành dạng dễ quản lý (ví dụ:
example-02.vietnix.xyz.crt,example-02.vietnix.xyz.key,example-02.vietnix.xyz.ca).

5.2. Kích hoạt Virtual Host: Mở file cấu hình Virtual Host của Apache trong XAMPP. Thường là: C:\xampp\apache\conf\extra\httpd-vhosts.conf
Đảm bảo httpd-vhosts.conf được include trong httpd.conf chính.

5.3. Cấu hình Virtual Host HTTPS (Port 443): Thêm hoặc chỉnh sửa block VirtualHost cho port 443 trong httpd-vhosts.conf:
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName example-02.vietnix.xyz
DocumentRoot "C:/xampp/htdocs/dashboard"
# Cấu hình SSL
SSLEngine on
SSLCertificateFile "C:/xampp/apache/conf/ssl/example-02.vietnix.xyz/example-02.vietnix.xyz.crt"
SSLCertificateKeyFile "C:/xampp/apache/conf/ssl/example-02.vietnix.xyz/example-02.vietnix.xyz.key"
SSLCertificateChainFile "C:/xampp/apache/conf/ssl/example-02.vietnix.xyz/example-02.vietnix.xyz.ca"
# Tùy chọn tăng bảo mật (khuyến khích)
# Tắt các giao thức lỗi thời và kém bảo mật
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
# Thiết lập bộ mã hóa mạnh
SSLCipherSuite HIGH:!aNULL:!MD5
# Kích hoạt HTTP Strict Transport Security (HSTS)
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
# Cấu hình Log
ErrorLog "logs/mysite-ssl-error.log"
CustomLog "logs/mysite-ssl-access.log" combined
</VirtualHost>
</IfModule>
Lưu ý
Luôn dùng dấu / thay vì \ trong đường dẫn cấu hình Apache.
5.4. Kiểm tra và khởi động lại Apache:
- Mở XAMPP Control Panel.
- Dừng (Stop) dịch vụ Apache.
- Khởi động lại (Start) dịch vụ Apache để áp dụng cấu hình SSL mới.

Kiểm tra kết quả và xử lý lỗi phổ biến
Kiểm tra kết quả
- Kiểm tra trực tiếp: Truy cập website của bạn bằng
https://(ví dụ:https://example-02.vietnix.xyz). Bạn sẽ thấy biểu tượng ổ khóa an toàn xuất hiện.

- Sử dụng công cụ online: Nếu XAMPP của bạn có thể truy cập từ internet, hãy dùng trang https://www.sslshopper.com/ssl-checker.html để kiểm tra chi tiết.

Xử lý lỗi phổ biến
| Lỗi | Nguyên nhân | Cách khắc phục |
|---|---|---|
| Apache không khởi động | Sai cú pháp trong httpd-vhosts.conf hoặc sai đường dẫn SSL. | Kiểm tra file cấu hình, đảm bảo dấu " bao quanh đường dẫn và dùng / cho các thư mục. |
| 404/Không xác thực được | Không thể truy cập từ ZeroSSL (Firewall, NAT). | Đảm bảo Port 80 được mở công khai trên Router/Firewall nếu XAMPP chạy trên máy local. |
| Lỗi SSL Handshake | Thiếu SSLCertificateChainFile. | Đảm bảo đã khai báo và file .ca tồn tại. |
| SSL không hiển thị ổ khóa | Mixed content. | Kiểm tra Source Code, chuyển tất cả tài nguyên (ảnh, CSS, JS) sang HTTPS. |
Lưu ý
Chứng chỉ SSL miễn phí của ZeroSSL có hiệu lực trong 90 ngày. Bạn hãy đặt lịch nhắc nhở để gia hạn chứng chỉ trước khi hết hạn, đảm bảo quá trình phát triển của bạn không bị gián đoạn.
Như vậy, bạn đã hoàn tất việc cài đặt chứng chỉ SSL miễn phí từ ZeroSSL, giúp môi trường phát triển XAMPP của bạn trở nên chuyên nghiệp và an toàn hơn. Việc thực hành trên một môi trường HTTPS cục bộ sẽ giúp bạn tránh được nhiều lỗi “Mixed Content” và các vấn đề liên quan đến bảo mật khi triển khai website lên máy chủ thật. Chúc bạn thành công!
VIETNIX – DỊCH VỤ HOSTING, VPS TỐC ĐỘ CAO, ỔN ĐỊNH, BẢO MẬT
- Địa chỉ: 265 Hồng Lạc, Phường Bảy Hiền, Thành Phố Hồ Chí Minh
- Điện thoại: 1800 1093
- Email liên hệ: sales@vietnix.com.vn
- Website: https://vietnix.vn/

