こんにちは、mi2yo4です。
GWも終わってしまってはや一週間が経とうとしていますが、皆さん心の復帰は出来ていますでしょうか?
先日、私のこのblogへの投稿が非公開のものを含めて100を超えたことに気づきました。
何か良いことがあるといいな~、と思ってエントリしています。
さて、今回はLet’s Encryptの紹介とインストールをした記録を書いてみようかと思います。
Let’s Encryptとは
Let’s Encryptとは何ぞや?という話ですが、かいつまんで言えば下のような事です。
Let’s Encrypt は、認証局(CA)として「SSL/TLSサーバ証明書」を無料で発行するとともに、証明書の発行・インストール・更新のプロセスを自動化することにより、TLS や HTTPS(TLSプロトコルによって提供されるセキュアな接続の上でのHTTP通信)を普及させることを目的としているプロジェクトです。
私達がWebブラウザで何かしらのサイトにアクセスする場合、通常は通信内容が暗号化されていないhttp通信と暗号化されているhttps通信のどちらかを使用しています。
以前はhttp通信が多かったのですが、現在では主要なサービス(google, facebook等)はデフォルトでhttps通信を使用しています。
やっぱり、通信内容が暗号化されている方がよりセキュリティ的に安心ですからね。
ところで、webサービス上でhttps通信を行うためにはサーバにSSL証明書(電子証明書)を設置する必要があります。これまで、SSL証明書は認証局(CA、シマンテックやジオトラストなど)から発行されるため、結構な金額が必要だったのです。
そこで、「Let’s Encrypt」ですよ!
上記の引用内容のように、ドメイン名を所持していれば、Let’s Encrypt を使うことで誰でも信頼された証明書を無料で取得できるようになります。今回のようにhttps通信を使いたい目的ですと、一番簡単&手軽に導入できると思います。
しかも運用も自動化されているので、これは試してみる価値がありますね!
CentOSへのLet’s Encryptのインストール
Let’s Encryptのインストール作業は簡単です…が、CentOS6の場合はちょっと追加で対応する事があります。
CentOS6ではPython2.6が標準で、Let’s Encryptが必要とするPython2.7はインストール出来ません。
下のように追加でインストール作業が必要です。
# yum update # yum install centos-release-SCL # yum install scl-utils python27 python27-python-tools # scl enable python27 bash
そして、Let’s Encryptのインストールと設定です。
# cd /usr/local # git clone https://github.com/letsencrypt/letsencrypt # letsencrypt/letsencrypt-auto certonly -a standalone -d hogehoge.hugahuga.jp
後は画面上の指示に従うだけでインストール完了です。
あ、インストール前にWebサービスを止めておく必要がありますね。
(設定が終わればWebサービスを再開してOK)
※最近ではcertbotという名前に変わったそうです。インストールはこちらを参考にしてみて下さい。
https://letsencrypt.jp/usage/install-certbot.html#OtherUNIX
apacheへの組み込み
Webサーバにはapacheを利用しているので、そこにSSL証明書類を設定します。
# vi /etc/httpd/conf.d/ssl.conf SSLCertificateFile /etc/letsencrypt/live/hogehoge.hugahuga.jp/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/hogehoge.hugahuga.jp/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/hogehoge.hugahuga.jp/chain.pem
設定が終わったらapacheを再起動させます。これでhttpsで繋いでみてください。
今回私がハマった点は、yum updateをせずにcentos-release-SCLなどをインストールした事ですね。
updateしておかないとpython27パッケージを見つけてくれませんでした。
もし、そのような状態に陥ったらyum update後にcentos-release-SCLを削除→再インストールをしてみて下さい。
ではまた!
今回の情報元
- Let’s Encrypt 総合ポータル
- Let’s Encrypt サーバー証明書の取得と自動更新設定メモ
- CentOS6でLet’s Encryptを使おうとするとpython2.7が入らずに詰まる