手軽にHTTPSを使いたい人のための手順メモ
今年の3月ごろに無料レンタルサーバーを使ってHTTPSに対応したwebサイトを立てたときのメモ。
当時atwikiに画像を埋め込んで試したいことがあったのだが、httpsでなければ表示されないという仕様がいつの間にかできていたので急遽https化に対応したという経緯。
heliohostはcPanelのライセンスの問題でサービス自体が停止となってしまった。
環境
レンタルサーバーにはHelioHostを使用。(国内サーバーでは丁度いいものが見つからなかった)
証明書発行にはZeroSSL Certificate Wizard(Let's Encrypt)というサービスを利用。
両方とも無料で利用できるが、HelioHostはアカウント開設のために順番待ちの時間がかかるという欠点があり、Let's Encryptは3ヶ月で有効期限が切れるという欠点がある。
HelioHostアカウントを作成
HelioHostトップページにアクセスする。
https://www.heliohost.org/
右上のSign Upをクリック。
メールアドレスを入力してSubmit。
とりあえずPHPとMySQLを選択しておく。(後から変更することもできる模様)
Johnnyしか空いていないようなので、これにチェックを入れてNext。(最初からチェックされている)
なお今回は円滑に進められたが、前回やったときはここで全サーバー満員で10時間程度の待ち時間が発生した覚えがある。
ドメイン名を変えたければ変える。こだわりがなければそのままNextを押す。
そのまま進めるとAccount Statusのページに辿り着く。アカウントの作成に時間がかかるようなので、このページで待つ(5分程度)。Refreshを押すと最新の状態に更新される。
アカウントが作られるとこのような画面になる。パスワードを求められるので入力してSubmitを押す。
ログイン成功。
以後トップページからログインしたときはこのページに移る。
サイトのURLはhttp://howtouse.heliohost.org/となる。ただし、初期化まで24時間かかるらしいので、待つ間に他の設定を進める。
WinSCPからFTP接続
FTPクライアントから接続できるように設定しておくと便利。WinSCPでの設定例を記す。
FTP, 暗号化なし, ftp.howtouse.heliohost.org, 21, howtouse, パスワードを設定して接続。(howtouseのところは各々のユーザー名に合わせて変える)
public_htmlがルートディレクトリとなる。
例えばここにexample.htmlを置くと、http://howtouse.heliohost.org/example.htmlにアクセスできるようになる。
SSL証明書を取得・適用
ZeroSSL Certificate Wizardにアクセスする。
https://zerossl.com/free-ssl/#crt
Domainsに登録したドメイン名を入力。
Accept ZeroSSL TOS, Accept Let's Encrypt SA (pdf)にチェックを入れてNEXT。
Yesを押す。
Yesを選ぶことで、www.howtouse.heliohost.orgもSSLに対応するようになる。不要ならNoでも良い。
少し待つと、右側の欄にCSRが生成される。
もう一度NEXTを押す。
少し待つと、左側の欄にRSA秘密鍵が生成される。
それぞれダウンロードボタンを押してaccount-key.txt, domain-csr.txtをダウンロードする。
NEXTを押す。
認証用のファイルが2つ生成される。(www付きドメイン用と、wwwなしドメイン用)
それぞれダウンロードする。
ダウンロードした2つのファイルを/public_html/.well-known/acme-challengeにアップロードする。
(WinSCPなどのFTPクライアントを利用していなくても、cPanelのFileManagerからアップロードすることも可能。ただし.well-knownは隠しフォルダになってしまうので、FileManagerで隠しフォルダを表示するように設定を変更する必要がある。)
ZeroSSLのページに戻り、NEXTを押す。
少し待つと検証が完了してページが移動する。
ページ下部からdomain-crt.txt, domain-key.txtをダウンロードする。
ZeroSSLでの作業はもうないので、ページは閉じて良い。
HelioHostにログインし、cPanelを開く。
SECURITY > SSL/TLSを選択。
ページ下部までスクロール。
Domainに自分のドメインを選択。
Certificate: (CRT)に、domain-crt.txtの内容の前半を入力。
Private Key (KEY)に、domain-key.txtの内容を入力。
Certificate Authority Bundle: (CABUNDLE)に、domain-crt.txtの内容の後半を入力。
Install Certificateを押す。
確認
しばらくするとページにアクセスできるようになる。
SSL設定済みならhttpsでアクセスでき、ブラウザから証明書を確認することができる。