Hướng dẫn chuyển WordPress từ HTTP sang HTTPS (SSL) ở cPanelX

Cách đây không lâu Google đã chính thức xác nhận sử dụng SSL sẽ tốt hơn cho SEO nhờ vào việc bảo đảm uy tín bảo mật dữ liệu người dùng, ngoài ra SSL cũng giúp cho các dữ liệu gửi đi của website bạn bảo mật tốt hơn. Nếu bạn đã quyết định sử dụng SSL mà chưa biết cách cài đặt thế nào thì mình xin hướng dẫn. Tuy nhiên tốt hơn hết, bạn nên làm với một website mới hoặc chưa hoạt động được lâu vì nó có thể gây ảnh hưởng ở thời gian đầu lúc mới chuyển sang.

Hướng dẫn chuyển WordPress từ HTTP sang HTTPS (SSL) ở cPanelX
Hướng dẫn chuyển WordPress từ HTTP sang HTTPS (SSL) ở cPanelX

Ở bài này mình sẽ chỉ bạn cách cài SSL thông qua cPanelX có hỗ trợ SSL, nếu bạn dùng VPS thì có thể tham khảo trên Google nhưng mình khuyến khích bạn nên thử qua cPanelX nếu lần đầu tiên cài.

Host để sử dụng SSL

Không phải host nào cũng có thể cài SSL vào được, vì thường tính năng SSL chỉ có ở các gói cao cấp. Ở bài này mình sẽ làm dựa trên gói Enterprise của StableHost, bạn cũng có thể sử dụng các gói sau có hỗ trợ SSL:

  • A2Hosting – Gói nào cũng có SSL. Nhưng bạn có thể liên hệ với kỹ thuật để họ giúp bạn cài SSL.
  • InmotionHosting – Giá hơi cao nhưng khi mua họ đã cài sẵn cho bạn.
  • LiquidWeb – Very good hosting – free SSL.

Hoặc bạn có thể sử dụng gói host nào đó mà khi vào cPanel bạn thấy có thêm mục SSL/TSL Manager (Security). Quan trọng nhất là gói host bạn đang sử dụng phải là IP riêng (dedicated IP), bạn có thể yêu cầu nhà cung cấp host cài cho IP riêng và thường giá chỉ dao động khoảng $2/tháng.

Mua SSL Certificates Key

Muốn cài được SSL thì bạn phải mua một key chứng thực SSL và áp dụng cho domain. Hiện nay hầu hết những nhà cung cấp domain/hosting đều cung cấp dịch vụ này nhưng tốt hơn hết bạn nên mua ở một nơi chuyên về nó để có gặp vấn đề gì thì dễ dàng được hỗ trợ.

Có 3 loại SSL mà bạn có thể mua như sau:

  • Domain-level validation – Đây là loại cơ bản nhất, nó chỉ bao gồm giao thức SSL để bảo mật dữ liệu gửi đi (bạn nên dùng loại này nếu mới bắt đầu).
  • Organization validated – Loại này dành cho tổ chức/doanh nghiệp vì nó hỗ trợ lưu thông tin của tổ chức vào mã chứng thực cũng như bảo mật tốt hơn, dành cho các website thương mại điện tử.
  • Extended validation – Đây là loại cao cấp nhất, tuy nhiên website nào muốn đăng ký loại này sẽ phải được cơ quan có thẩm quyền kiểm tra website kỹ lưỡng trước khi cấp chứng chỉ.

Ở bài này, mình sẽ sử dụng loại Domain level validation.

Có rất nhiều chỗ để bạn mua SSL, tuy nhiên mình khuyến khích các bạn mua ở các website như:

  1. Namecheap
  2. Godaddy
  3. Comodo
  4. SSLs

Và ở bài này mình sẽ mua SSL ở Namecheap vì nó rẻ. 

Để mua SSL ở Namecheap, bạn vào trang chủ và ấn chọn Security -> SSL. Sau đó chọn gói Domain Level Validation.

Và ở trong đây, bạn có thể mua loại PotisiveSSL (cho 1 domain) hoặc PositiveSSL Multi-Domain (cho nhiều domain).

2. Cài đặt SSL

Hãy truy cập vào cPanel của host bạn đang sử dụng và ấn vào phần SSL/TSL Manager ở mục Security.

Rồi nhấn vào link Generate, view, or delete SSL certificate signing requests để tạo key CSR.

Và nhập domain cần cài SSL cùng các thông tin bắt buộc như tên thành phố, quốc gia, tỉnh thành,…Các mục không có chữ Required bạn có thể bỏ trống, nhưng phần email tốt nhất cứ điền.

Điền xong ấn nút Generate ở cuối trang để lấy CSR key.

Trong đó có nhiều loại key nhưng bạn chỉ cần để ý tới Encoded CSR thôi nhé. Tạm thời đừng tắt nó đi.

Truy cập vào khu vực quản lý SSL của bạn vừa mua và chọn Activate Now (Namecheap).

Sau đó ở phần Select web server bạn chọn là cPanel và ở dưới bạn copy Encoded SCR key vào nhé.

Ấn Next để tiếp tục, nó sẽ lấy thông tin của key, bạn chọn email mà bạn đang dùng rồi tiếp tục ấn Next. Sau đó tiếp tục ấn Next và nhập thông tin cá nhân rồi Submit Order. Bây giờ bạn đã hoàn tất quá trình đăng ký, tuy nhiên bạn cần phải đợi bước cuối cùng đó là được xét duyệt và email thông báo sẽ gửi vào email mà bạn đã khai báo ở trên.

Đợi tầm 1 tiếng sau và mở email lên, bạn sẽ nhận được một email. Nhấp vào liên kết here trong email và điền mã kích hoạt ghi ở dưới vào.

Và đợi một xíu chờ email họ gửi cho bạn 1 file .zip bao gồm 2 files và một đoạn key ở cuối email. Bây giờ hãy quay trở lại cPanel -> SSL/TSL Manager -> Certificates (CRT) và upload file.crt mà bạn vừa tải về máy lên.

Tiếp tục vào lại cPanel -> SSL/TSL Manager -> Install and Manage SSL for your site (HTTPS) (chọn Manage SSL Sites). Sau đó chọn domain mà bạn đã xác thực SSL và bấm Autofill by Domain để nó tự điền CRT và Private Key.

Riêng phần Certificate Authority Bundle: (CABUNDLE), bạn hãy mở file ca-bundle bằng notepad mà bạn vừa tải về với file .crt và copy nội dung đó bỏ vào.

Bây giờ bạn đã cài SSL thành công và hãy thử truy cập vào địa chỉ https://domain.com là được. Tuy nhiên nếu bạn đang sử dụng CloudFlare miễn phí thì sẽ không truy cập được vì nó không hỗ trợ SSL cho gói miễn phí, bạn phải nâng cấp lên hoặc sử dụng DNS mặc định của nhà cung cấp host.

Cấu hình SSL cho WordPress

Ngay sau khi bạn làm các bước trên xong thì vẫn chưa hoàn tất vì hiện tại WordPress của bạn vẫn đang sử dụng giao thức HTTP thay vì HTTPS. Để bắt buộc nó sử dụng HTTPS, bạn cần phải làm thêm các bước tiếp theo.

Trước tiên là vào Settings -> General và đổi địa chỉ thành https://

Tiếp tục, mở file wp-config.php ra và chèn đoạn dưới đây vào:

1
define('FORCE_SSL_ADMIN', true);

Chèn thêm đoạn sau vào file .htaccess để nó tự động redirect đường dẫn cũ từ http sang https.

1
2
3
4
RewriteEngine on
RewriteCond %{HTTP_HOST} ^yoursite.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.yoursite.com [NC]
RewriteRule ^(.*)$ https://www.yoursite.com/$1 [L,R=301,NC]

Hoặc nếu bạn đang dùng plugin iThemes Security, hãy tìm tới phần SSL và bật tùy chọn như dưới mà không cần làm các bước trên.

Cuối cùng là chuyển toàn bộ liên kết trong database (hình ảnh trong bài chẳng hạn) sang https bằng cách sử dụng plugin WP HTTPS, chỉ cần cài vào và không cần tùy chỉnh gì thêm. Nhớ gõ địa chỉ của bạn chứ đừng có gõ thichviet.com của mình nhé.  Okay, bây giờ địa chỉ website của bạn đã có HTTPS rồi đó. 

Nguồn: Thach Pham blog

Chúc vui!

Bình luận

Loading Facebook Comments ...

Add Comment