4月くらいに、Let’s Encryptというプロジェクトが正式にリリース。
ドメイン認証なら無料でできるという素晴らしい、というか個人にはとっても強い味方のプロジェクトだった。
そんな感じのニュースは見ていた気がするけど、すっかり忘れて、気づいたら半年が経過。
今日、なんとなく、このサイトをSSL通信させてみようと思い、検索していたら、Let’s Encryptというキーワードを見つけ、
そういえば、ドメイン認証のオープンプロジェクトなんてあったなぁ!無料かー!よし、やろう!
と、なったなので、SSL通信させるまでの工程をメモ。
Let’s Encryptやそのメソッドについては、ここが丁寧に解説してくれてるので、参考にさせてもらいました。
http://knowledge.sakura.ad.jp/knowledge/5573/
おおざっぱな手順
1.サーバにCertbotクライアントをインストール
(Let’s Encrypt改め、Certbotと名前が変更になったらしい)
※インストール手順では、使用しているOSのディストリビューションによって、最適方法が違うみたいなので、下記参考。
https://letsencrypt.jp/usage/#GetClientSoftware
※CertBotは、Python2.6/2.7環境が必要なようなので、注意。
2.SSL/TLSサーバ証明書を取得。
3.Certbotの実行
4.サーバ側の設定およびCertbotの自動更新スクリプトを作成(←これ次回)
※サーバ側の設定は、httpで通信してきたものをhttpsにRewriteさせる処理を書くだけ。
※Certbotの自動更新スクリプトに関しては、この証明書が90日毎に更新が必要そうなので、Cronに登録したい(後日)。
では、実作業。
1.サーバへCertbotクライアントのインストール
まずは、Certbotクライアントをインストール。
インストールする際は、ここを参考に、自分の使っているOSの項目を参照。
。。。が、久しぶりにサーバにログインしたので(おい!)、自分の使っているサーバ名忘れちゃったw
ということで、下記コマンドでOSのディストリビューション名を取得。
CentOS6.6でした!
気を取り直して、Certbotクライアントをインストール!
1-1.EPELリポジトリ有効化
CentOS6.6では、Certbotインストール前にEPELリポジトリの有効化をするように言われているので、指示通り下記を実行。
sudo yum install peel-release
1-2.次にCertbotパッケージを取得
wget https://dl.eff.org/certbot-auto
1-3.パッケージのパーミッション変更
chmod a+x certbot-auto
1-4.パッケージの実行
./certbot-auto
ドメイン名を入力してとな。
emailを入力してとな。
(証明書の期限が切れそうなときにアラート送ってくれるみたい)
規約に同意してとな。
おや?ServerNameが見つからなかったっぽい?
でも「Select」できそうだからSelect選択。
。。。なんか怒られた。
あ、公式ドキュメントみてたら、ここで、「SSL/TLSサーバ証明書の取得」に進みますと書いてある。
そんなわけでサーバ証明書取得に進むとな。
2.SSL/TLSサーバ証明書
下記コマンドを実行。
(2ドメインを登録(iyken.me/www.iyken.me))
./certbot-auto certonly –standalone -d iyken.me -d www.iyken.me
実行すると、下記のような感じでなんか始まる。
これで、再度Certbotを起動させる
ドメイン入れて。
(お、さっきエラーになったところだけど、エラーなくなった!)
こんぷりーーーと!
ひとまず、
https://www.iyken.me
にアクセスしてみる。
おー!ちゃんとアクセスできました!
あとは、httpでのアクセス→httpsへのアクセスにRewriteしてあげたり、
httpsの設定をappachなり、Nginxなりのコンフィグに書いてあげれば終了。