※2017年10月 追記
さくらレンタルサーバーがLet's Encryptに標準で対応しました!
https://www.sakura.ne.jp/function/freessl.html
下記のようなことをしなくてもコントロールパネルから設定可能です。
(嬉しいけど少し切ない)
※追記終わり
無料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ログ取得に同意する
↓
するとこんな画面になる
一旦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が使えるのは嬉しい。
シェルとタスクスケジューラで途中まで自動化できるような…
詳しくないのでわからないが更新するときチャレンジしてみる。
#参考サイト