さくらレンタルサーバーに独自SSL「Let's Encrypt」導入(Windows10編)

  • 5
    いいね
  • 0
    コメント

無料SSL証明書のLet's Encryptをさくらレンタルサーバーに導入してみたのでメモ。

root権限がないため、自分のPCで証明書を取得しサーバーに登録するという作業。
Linux環境が必要だが、Windows10でBashが使えるようになったのでWindowsのみでできた。

環境

  • さくらのレンタルサーバ(スタンダードプラン以上)
  • Windows10 「Bash on Ubuntu on Windows」

Bash on Ubuntu on Windowsをインストール

この記事がわかりやすい。初期設定もこの通りに。
Bash on Ubuntu on Windowsをインストールしてみよう!

Let's Encryptクライアントをインストール

公式から使用OSの手順通りにクライアントをインストールする
https://letsencrypt.jp/usage/install-certbot.html

早速Bashを起動してOSを確認

lsb_release -d

Ubuntu 14.04だった。

公式にあるコマンドを打ってしばらく待つ

wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
./certbot-auto

apacheがない!というエラーが出たけどスルー。
使うのはレンタルサーバーだし。

SSL証明書取得

いよいよ証明書を取得する

./certbot-auto certonly --manual

以下流れ

メールアドレスを入力(色々な通知受信用)

規約に同意する

ドメイン名を入力

IPログ取得に同意する

するとこんな画面になる

キャプチャ.gif
①は、先ほど入力したドメイン名
②③はランダムな英数字

一旦Bashから離れる

サーバーにフォルダを作る

ドキュメントルート/.well-known/acme-challenge/

テキストファイルを作り「acme-challenge」フォルダに保存

ファイル名→②の英数字
ファイルの中身→③の英数字


Bashに戻り、エンターを押す。
無事に完了すると、その旨のメッセージとともに証明書の保存先が表示される。

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at
   /etc/letsencrypt/live/ドメイン名/fullchain.pem.

確認してみる

sudo su
ls /etc/letsencrypt/live/ドメイン名/

cert.pem chain.pem fullchain.pem privkey.pem
の4ファイルが確認できる。

※エクスプローラで確認する場合は下記の場所を見る

C:\Users\ユーザー名\AppData\Local\lxss\rootfs\etc\letsencrypt\live\ドメイン名

デフォルトで表示されないので、フォルダーオプションにて

  • 「隠しファイル、隠しフォルダー、および隠しドライブを表示する」にチェック
  • 「保護されたオペレーティングシステムファイルを表示しない(推奨)」のチェックを外す

さくらのレンタルサーバにSSL証明書を登録

さくらのコントロールパネルへ。

以下流れ

ドメイン設定

SSL証明書欄の登録を押す

「SNI SSL を使用する」の横にある「証明書インストール」

秘密鍵をアップロードする。
「参照」から「privkey.pem」を選択してアップロード

…と思ったら秘密鍵が間違っていますと。Windowsだからシンボリックリンクきかないのね…

ということで、元ファイルを直接選択。無事いけた。
C:\Users\ユーザー名\AppData\Local\lxss\rootfs\etc\letsencrypt\archive\ドメイン名\privkey1.pem


証明書のインストール
「cert.pem(cert1.pem)」の内容を全部コピペ。

中間証明書のインストール
「chain.pem(chain1.pem)」の内容を全部コピペ

これで登録は完了!

SSLを有効にする

ドメイン設定へ戻る

4. SSLの利用をお選びください
「SNI SSLを利用する」にチェック

完了!
https://〜でアクセスできるようになる。
ブラウザのURLバーに鍵マークが無事表示された。

証明書の更新

証明書の有効期限は90日。
期限が切れる前に更新する必要がある。
残念ながら自動更新ができない。(さくらが対応してくれたらなー。)
更新するときは、再度SSL証明書取得から登録(更新)まで手動でやる。少し面倒だが、無料で手軽に独自SSLが使えるのは嬉しい。

シェルとタスクスケジューラで途中まで自動化できるような…
詳しくないのでわからないが更新するときチャレンジしてみる。

参考サイト