Cài đặt https-SSL (NameCheap) cho WordPress chạy NGINX

Cài đặt https-SSL (NameCheap) cho WordPress chạy NGINX
4 (80%) 1 vote

Trong mấy ngày qua chắc các bạn cũng thấy Thích Viết mới chuyển qua dùng SSL đúng không nào? Cái chứng chỉ số này có nhiều tác dụng phết nên tôi cũng quyết định đầu tư cho con Blog này 1 chút.

Ở trong bài viết ngày hôm nay tôi sẽ hướng dẫn các bạn cách để cài đặt https-SSL trên WordPress dùng Server Nginx. Có lẽ nhiều bạn sẽ cần cài cái này, hướng dẫn của tôi rất đơn giản và sẽ giúp các bạn cài đặt thành công.

cai-dat-https-ssl-namecheap-cho-wordpress-chuan-seo-tren-nginx

Lý do tôi cần cài đặt cái SSL này.

  • Nó bảo mật hơn này, mặc dù cũng chẳng ai thèm làm gì cái blog ghẻ của tôi.
  • Theo lời anh google nói thì nó tốt hơn cho SEO, mặc dù con blog ghẻ này tôi cũng không SEO sốc gì cả.
  • Nhìn cái URL nó đẹp hơn, màu xanh xanh, tôi thích.
  • Giá gói SSL cơ bản cũng rẻ thôi, chỉ với 9$ = 209k việt nam đồng cho 1 năm tại NameCheap.
  • Tôi học cách để cài đặt nó trên Server nginx luôn, sắp tới còn cài nhiều mà.
  • Còn những lý do khác tạm thời chưa nghĩ ra, cơ bản là 5 lý do trên đủ để tôi cài đặt SSL rồi.

Vậy tôi gặp những khó khăn gì?

Có lẽ khó khăn duy nhất đó là phải tìm cách trỏ URL cũ sang URL có https, mà cái nginx server này tôi cũng không quá thạo, cũng may tôi đã khắc phục được nó.

Những thứ tôi cần chuẩn bị.

  • Một server chạy website config bằng nginx, ở đây tôi cài đặt LEMP server, các bạn có thể tự tìm hiểu LEMP server nó là cái gì nhé, khái niệm đầy ra trên google rồi.
  • Một chứng chỉ SSL giá 9$ tại NameCheap, giá rẻ ý mà, đủ dùng thôi mua cao hơn cũng không để làm gì. Các bạn có thể truy cập vào đây để mua với giá 9$.
  • Một Email domain có thể nhận được email. Nên sử dụng là admin@domain.com, webmaster@domain.com nhé các bạn. Mục đích là để nhận email kích hoạt SSL sau này, ở đây tôi dùng là admin@thichviet.net.

cai-dat-https-ssl-namecheap-cho-wordpress-chuan-seo-tren-nginx-1

cai-dat-https-ssl-namecheap-cho-wordpress-chuan-seo-tren-nginx-2

cai-dat-https-ssl-namecheap-cho-wordpress-chuan-seo-tren-nginx-3

Rồi, bên NameCheap thanh toán bằng Paypal nhé các bạn, sau khi mua xong tạm thời chúng ta để đó đã, bây giờ vào SSH của VPS đã nhé. Vào SSH các bạn có thể dùng Putty hoặc Bitvise 2 cái này dùng đều OK. Bạn nào chưa biết dùng thì có thể google tìm hiểu nhé, hoặc có thể inbox tôi sẽ hỗ trợ các bạn.

1, Cài đặt SSL trên máy chủ (VPS) trước.

  • Đầu tiên các bạn cần tạo thư mục chứa chứng chỉ của SSL, trong thư mục SSL sẽ tạo thêm 2 thư mục nữa là privatecsr.

Tạo thư mục SSL bằng cách gõ lệnh sau.

Như vậy trong thư mục /etc/nginx/ sẽ xuất hiện một thư mục là ssl. Thực ra các bạn có thể tạo nó ở chỗ khác miễn là dễ nhớ. Tuy nhiên ở trong bài này tôi sẽ tạo vào đó.

Tiếp theo trong thư mục ssl mới tạo, các bạn sẽ phải tạo thêm 2 thư mục nữa như ở trên tôi đã nói, tiếp tục lần lượt gõ thêm 2 lệnh sau.

cai-dat-https-ssl-namecheap-cho-wordpress-chuan-seo-tren-nginx-4

Như vậy chúng ta đã tạo xong các thư mục cần thiết, tiếp theo chúng ta cần tạo Server Private Key trong thư mục private mà chúng ta đã tạo trước đó. Mỗi VPS chỉ cần một Server Private Key là đủ, tức là sau này khi các bạn cài đặt thêm SSL cho một tên miền khác thì không cần làm lại bước này nữa.

Các bạn gõ lệnh sau.

Tên của Server Private Key là gì cũng được miễn là bạn có .key ở cuối cùng, ở đây tôi tạo là cuongpjh.com.key sau đó nhấn Enter để tạo.

Kết quả như sau là thành công.

cai-dat-https-ssl-namecheap-cho-wordpress-chuan-seo-tren-nginx-5

  • Tạo CSR key, bước này khá quan trọng này.

Chúng ta cần một file .CRT để xác minh SSL sau này cho máy chủ, để có được file này chúng ta lại cần phải tạo một file .CSR trên máy chủ để xác minh trước rồi mới được cấp cái file .CRT của nợ kia.

Đối với cái file .CSR này mỗi tên miền lại cần một cái riêng, điều đó chứng tỏ nếu như bạn muốn cài đặt SSL trên một tên miền khác bạn sẽ phải làm lại bước này, và nếu bạn chuyển máy chủ bạn cũng phải làm lại.

Các bạn gõ lệnh sau, nhớ thay tên file .key cho phù hợp với file bạn đã tạo ở bước trên.

Bây giờ các bạn nhập thông tin sao cho cẩn thận, nhớ tắt Unikey đi để tránh sai.

Country Name (2 letter code) [XX]: Mã quốc gia, đối với Việt Nam là VN.
State or Province Name (full name) []: Tên tỉnh thành
Locality Name (eg, city) [Default City]: Tên thành phố/quận huyện
Organization Name (eg, company) [Default Company Ltd]: Tên công ty, doanh nghiệp
Organizational Unit Name (eg, section) []: Lĩnh vực hoạt động
Common Name (eg, your name or your server’s hostname) []: Domain của website cần chứng thực (vd: thichviet.net, không chứa www)
Email Address []: Địa chỉ Email có thể dùng để nhận email kích hoạt sau này. admin@thichviet.net chẳng hạn.

Với 2 cái còn lại yêu cầu mật khẩu bạn cứ Enter cho qua không cần điền phần này đâu nhé.

Please enter the following ‘extra’ attributes to be sent with your certificate request
A challenge password []:
An optional company name []:

Nếu bạn điền mọi thứ OK nó sẽ không có thông báo gì cả. Như tôi điền xong là sẽ như thế này.

cai-dat-https-ssl-namecheap-cho-wordpress-chuan-seo-tren-nginx-6

Tiếp theo các bạn gõ tiếp lệnh sau để tạo thành file .CSR chính thức.

Nhớ thay đổi thư mục và tên file sao cho đúng và đồng bộ như đã khai trước đó nhé. Thành công nó sẽ ra như hình.

cai-dat-https-ssl-namecheap-cho-wordpress-chuan-seo-tren-nginx-7

Khi nó hiện ra như hình rồi thì hãy sao chép đoạn mã đó lại, bình tĩnh và chúng ta chuyển sang bước kích hoạt SSL tại NameCheap mà chúng ta đã mua trước đó.

2, Kích hoạt SSL trên NameCheap.

cai-dat-https-ssl-namecheap-cho-wordpress-chuan-seo-tren-nginx-8

Chọn Active để bắt đầu kích họat SSL. Nó sẽ hiện ra một form để bạn nhập đoạn mã hóa đã sao chép ban nãy lên, nhớ chú ý mục Primary domain có đúng là domain bạn cần cài SSL không, và do đây là server chạy Nginx cho nên bạn sẽ phải chọn như trong hình.

cai-dat-https-ssl-namecheap-cho-wordpress-chuan-seo-tren-nginx-9

Sau khi nhấn Submit các bạn cần xác minh thông tin lại một lần nữa.

cai-dat-https-ssl-namecheap-cho-wordpress-chuan-seo-tren-nginx-10

Nhấn Next và chọn hình thức xác minh, bạn nhớ chọn hình thức là Email nhé, sau đó chọn email tương ứng như các bạn đã chuẩn bị. Ở đây tôi chuẩn bị email là admin@thichviet.net cho nên tôi sẽ chọn cái đó.

cai-dat-https-ssl-namecheap-cho-wordpress-chuan-seo-tren-nginx-11

Các bạn sẽ phải điền thông tin lại một lần nữa, điền vắn tắt thôi không cần quá kỹ càng, giống với những gì chúng ta đã khai báo lúc tạo file .CSR trên VPS là được, ở đây tôi điền như sau.

cai-dat-https-ssl-namecheap-cho-wordpress-chuan-seo-tren-nginx-12 cai-dat-https-ssl-namecheap-cho-wordpress-chuan-seo-tren-nginx-13

Và hiện ra như thế này là thành công rồi.

cai-dat-https-ssl-namecheap-cho-wordpress-chuan-seo-tren-nginx-14

3, Cài đặt để chạy ổn định, giữ lại được URL cũ.

  • Các bạn quay lại Email để check mã xác minh tiếp theo của SSL.

cai-dat-https-ssl-namecheap-cho-wordpress-chuan-seo-tren-nginx-15

cai-dat-https-ssl-namecheap-cho-wordpress-chuan-seo-tren-nginx-16

Kích hoạt thành công các bạn sẽ nhận được email chứa file .CRT

cai-dat-https-ssl-namecheap-cho-wordpress-chuan-seo-tren-nginx-17 cai-dat-https-ssl-namecheap-cho-wordpress-chuan-seo-tren-nginx-18

Các bạn tải file .ZIP được đính kèm trong email này, giải nén ra sẽ có 2 file như hình ảnh bên trên, sử dụng một công cụ soạn thảo nào đó như Notepad ++ chẳng hạn, bật file .CRT và file bundle lên. Sao chép nội dung trong file bundle chèn vào bên dưới nội dung trong file .CRT lưu lại rồi tải cả 2 file lên thư mục CSR.

Để có thể chuyển hướng các URL cũ sang URL có https chúng ta sẽ config tên miền khác với cách config chính thống một chút. Các bạn mở file config domain lên ở thư mục sau.

Ở đây tôi dùng domain thichviet.net nên file config của tôi sẽ là.

Các bạn cần chỉnh lại hai biến server của nó như sau, nhớ thay đổi domain và thư mục đường dẫn sao cho hợp lý với vps của các bạn.

Sau đó hay lưu lại và khởi động lại Nginx với lệnh sau.

Nginx khởi động ổn không báo lỗi là được.

cai-dat-https-ssl-namecheap-cho-wordpress-chuan-seo-tren-nginx-19

  • Các bạn vào quản trị của WordPress và cài thêm plugin WordPress HTTPS (SSL) và cấu hình như hình dưới đây, lưu lại là xong, nhớ xóa cache nếu có.

cai-dat-https-ssl-namecheap-cho-wordpress-chuan-seo-tren-nginx-20

Giờ quay trở lại website của các bạn và vào thử các URL xem nào, https xanh chói lóa. Như vậy là đã xong rồi đấy. Nhưng nhớ là phải cập nhật lại website trong Webmaster tools nữa nhé.

Lưu ý: Nếu bạn sử dụng DNS trung gian là CloudFlare thì bạn phải chỉnh thêm một bước nữa như hình dưới đây để tránh gặp lỗi khi chạy https.

cai-dat-https-ssl-namecheap-cho-wordpress-chuan-seo-tren-nginx-21

Update – xác minh lại SSL nếu chuyển VPS.

Đây là phần bổ xung sau khi tôi quyết định chuyển thích viết sang một máy chủ mới. Nếu bạn muốn chuyển website đi thì chúng ta cần xin cấp lại chứng chỉ SSL (Lưu ý phải sử dụng Email đã dùng đăng ký SSL lúc trước, đáng tiếc là email không thể thay đổi). Các bạn làm như sau.

  • Đầu tiên hãy backup toàn bộ website như hướng dẫn tại bài viết này. Sau đó chuyển sang server mới cũng cấu hình Nginx tương tự như server cũ, làm lại Bước 1 trong bài hướng dẫn này để lấy được file xác minh từ server.
  • Sau khi làm xong các bạn truy cập vào quản lý SSL trong NameCheap chọn đúng tên miền các bạn cần chuyển và xin cấp lại như sau.

xin-cap-lai-ssl

xin-cap-lai-ssl-1

  • Các bạn lấy file mã hóa ở server mới, thứ mà chúng ta đã tạo lại giống như phần 1 của bài viết này và làm các bước như trong hình dưới đấy.

xin-cap-lai-ssl-2 xin-cap-lai-ssl-3 xin-cap-lai-ssl-4 xin-cap-lai-ssl-5 xin-cap-lai-ssl-6 xin-cap-lai-ssl-7 xin-cap-lai-ssl-8 xin-cap-lai-ssl-9

Chúng ta sẽ được cấp lại file .CRT và các bạn chỉ việc upload lên thư mục SSL ở server mới, trỏ tên miền về IP server mới sau đó cấu hình lại Nginx cho tên miền đó như ở bước 3 của bài viết, khởi động lại nginx vậy là xong.

Chúc các bạn thành công.

Có những lúc ta thèm đi Du lich Chau Au thế nhưng không thể săn nổi mấy chuyến Du lịch châu âu giá rẻ vậy là ta đành phải đi Tour Nhat Ban cho đỡ cuồng chân. Nhưng đi du lịch có một mình cũng chán lắm nên là tôi ngồi nhà làm SEO cái từ khóa Du lịch tết nguyên đán 2017 cho đỡ chán.
Ya Hallo! Tôi là CươngPjh đây, blog Thích Viết được xây dựng nhằm mục đích chia sẻ các kiến thức tôi có được trong quá trình làm SEO, MMO, Wordpress cũng như Hosting & VPS hoàn toàn miễn phí. Sẽ không có khóa học, không có bán Ebook, thi thoảng có vài cái liên kết giới thiệu cho nó hay ho thôi. Cảm ơn các bạn đã ghé qua và đọc Blog, hãy chia sẻ bài viết của tôi thay lời cảm ơn nếu như bạn cảm thấy nó có ích."
Giới thiệu tác giả
2016 Thích Viết. Sử dụng quản lí máy chủ HọcVPS Script. Máy chủ lưu trữ tại Digital Ocean.
Made with in Money