無料SSL(Let's Encrypt)をcPanelとZeroSSLで簡単設定して、Httpのアドレスを自動でHttpsにリダイレクトさせる方法


はじめに

SSLは、Let's EncryptのSSL証明を利用することで無料で行うことができます。
Let's EncryptのSSL証明は期限が90日です。
SSLを使い続けたい場合は、90日が切れる前に、更新をかけてください。

毎回この手順通りに進めれば、慣れれば5分で完了します。

ここでは、Godaddyなど、cPanelを利用できるホスティングサービスに、Let's Encryptを導入する方法をまとめています。

ここでは以下を説明します。

  • ZeroSSL」サービスを利用した、簡単にSSL化の手順。

  • Http://へのアクセスを自動的にHttps://リダイレクトする方法

ZeroSSLを利用してドメインをSSL化する

ZeroSSLにアクセスする

まずはZeroSSLにアクセスします
https://zerossl.com/

その後、TOPページから「ONLINE TOOLS」 => 「START」の順にクリックします。

SSL化するドメインを入力する

SSL化したいドメインを、コンマで区切って2パターン入力します。

  • ドメイン(例:sample.com

  • www.をつけたドメイン(例:www.sample.com

同じ画面の下部に2つのチェックボックスがあるので、2つともにチェックします。

入力できたら「NEXT」をクリックします。
すると、CSRが生成されます。

CSRをクリップボードにコピーする

CSRが生成されたら、入力ボックス右上のボタンを使って、クリップボードにコピーしましょう。
(もしくは、ダウンロードしても構いません)

コピーしたら、「NEXT」をクリックします。

プライベートキーをクリップボードにコピーする

今度は左側のボックスに、プライベートキーが生成されます。
入力ボックス右上のボタンを使って、クリップボードにコピーしましょう。
(もしくは、ダウンロードしても構いません)

コピーしたら、「NEXT」をクリックします。

認証に必要なファイルのダウンロード

認証に必要なファイルが表示されます。
2つともダウンロードしておいてください。

スクリーンショット 2019-11-04 21.04.35.png

cPanelにアクセス

お使いのホスティングサービスの管理画面からcPanelを開き、
ファイルマネージャーを開きます。

フォルダの作成と認証用ファイルのアップロード

  • public_html内に、.well-knownという名前のフォルダを作成します。

フォルダ名の先頭に.(ドット)がつくと、隠しフォルダになるため、フォルダが表示されないことがあります。
作ったフォルダが表示されない場合は、以下のとおり設定を変更してください。

  • 画面右上の「Setting」をクリック

  • 「Show Hidden Files」にチェックを入れる

  • さらに.well-knownフォルダの中にacme-challengeという名前のフォルダを作成します。

  • さらにさらに、acme-challengeフォルダのなかに、先ほどダウンロードした認証用ファイル2つをアップロードしてください

認証できたかどうか確認

認証用ファイルをアップロードしたら、ZeroSSLに戻ってください。

ダウンロードアイコンの横の文字列をクリックして、以下のような文字列(一語一句同じ文字列ではありません)がブラウザに表示されていれば、
認証用ファイルのアップロードが完了しています。

もし表示されない場合は、エラーの可能性があります。

問題なければ「NEXT」をクリックして次へ。

cPanelからSSLの管理ページへ

  • cPanelに戻って、今度は「SSL/TSL」のページを開いてください。

  • 「Install and Manage SSL for your site (HTTPS)」を開いてください。

認証コードとプライベートキーの貼り付け1

ページをスクロールすると、ドメインの選択フォームと、3つの大きめのインプットボックスがあるかと思います。
ZeroSSLに表示された2つのコードをこれから手順にしたがってインプットボックスにコピペしていきます。

  • まず、今回SSL化するドメインを選択します。

  • 一番上のインプットボックスには、ZeroSSLの上部のコード(以下参照)をコピペします。

しかし、このコードはエラーになってしまいます。

貼り付けたコードの真ん中あたりに、

i27FMvI7L5oYCeXTO4XFKh4jYAkgJiT58natAN4=
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
MIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/

となっている部分があるかと思います。

じつはこのコード、2つのコードが1つになっています。

-----BEGIN CERTIFICATE-----以下は、3つのインプットボックスの、一番下のボックスに貼り付けるべきものです。

-----BEGIN CERTIFICATE-----以下を切り取って3つのインプットボックスの、一番下のボックスに貼り付けます。

認証コードとプライベートキーの貼り付け2

最後に残った真ん中のインプットボックスは、「プライベートキー」を貼り付けます。

ZeroSSLに表示された、下のコード(プライベートキー)を貼り付けてください。

終わったら、「Install Certificate」をクリックして、SSL化は終了です。

HttpのURLから自動でHttpsにアクセスするように設定する

ここからは、
Http://へのアクセスを自動的にHttps://へリダイレクトする方法を説明します。

新しいファイルの作成とコードの貼り付け

  • public_html内に、.htaccessという名前のファイル(フォルダではなくファイルです)を作成します。(すでに存在していることもあるようです。その場合は新しく作る必要はありません)

  • ファイルを「Edit」します。

以下のコードを、ファイル内にコピペしてください。すでにファイルが存在していて、他にコードが書かれている場合は、他のコードは消したり触らないで、一番下に貼り付けてください。

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

貼り付けたら「Save Changes」してください。

これで完了です。

Http://へのアクセスを自動的にHttps://へリダイレクトしているかと思います。

まとめ

  • ZeroSSL」サービスを利用した、簡単にSSL化の手順

  • Http://へのアクセスを自動的にHttps://リダイレクトする方法

をまとめました。