Sakura VPSの CentOS6.x にSSL Let's Encrypt を導入する
Sakura VPSの CentOS6.x で稼働しているサービスに 無料のSSL Let's Encrypt を導入していきます。
[ 目次 ]
はじめに
こんばんは、香港に住んでいるWEBデベロッパーのなかむ(@nakanakamu0828)です。
今回は無料のSSL Let's Encryptを導入していきます。
導入する環境は以下の通りです。
■ 環境
- Sakura VPS
- CentOS6.x
- Apach2.2.15
- mod_sslが既に導入されている
今回は、業務委託先からの依頼になります。
既に他のSSLが導入されていたのですが、訳あって他のSSLに移行したいということになりました。
CentOS 6.x に無料SSL Let's Encrypt を導入する
こちらの記事を参考にさせてもらいました。ありがとうございます
それでは、sshでサーバーに接続し、rootユーザーとして作業をはじめていきます。
SSL導入
certbotのインストール
# cd /usr/local/src
git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt
Apache停止
# /etc/init.d/httpd stop
certbotを使って鍵を作成
ドメイン名はサブドメインなしを利用しています。今回は、sample.com
の場合で説明していきます。
# pwd
/usr/local/src/letsencrypt <-- ディレクトリはここです
# ./letsencrypt-auto certonly -a standalone -d sample.com
以下にのディレクトリに鍵が作成されます
# ls /etc/letsencrypt/live/sample.com/
README cert.pem chain.pem fullchain.pem privkey.pem
Apacheの設定変更
ssl.conf
のSSLCertificateFile
, SSLCertificateKeyFile
を作成した鍵に変更します
# cd /etc/httpd/conf.d
# cp -p ssl.conf ssl.conf.`date +'%Y%m%d'` <-- バックアップは取っておきましょう
# vi ssl.conf
SSLCertificateFile /etc/letsencrypt/live/sample.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/sample.com/privkey.pem
Apach起動
# httpd -t <-- コンフィグテストでエラーがないことを確認しましょう
# /etc/init.d/httpd start
証明書の更新について
Let's Encryptは3ヶ月しか有効期限がない
有効期限が3ヶ月しかないので都度更新していく必要があります。
以下のコマンドで更新することが可能です。
# /usr/local/src/letsencrypt/certbot-auto renew
試しに実行してみましょう。
自動で更新するようにしたいので、/etc/crontabで定期的に更新処理を実行するようにしました。
# vi /etc/crontab
00 04 01 * * root /etc/init.d/httpd stop && /usr/local/src/letsencrypt/certbot-auto renew && /etc/init.d/httpd start
毎月1日の4:00に更新処理が実行されます。
最後に
少し前ではSSLが無料なんて考えられませんでした。SSLは高いお金を出して購入しているイメージでした。
時代が変わりましたね!
さらに詳しく Let's Encrypt を学びたい方は、Let's Encrypt 総合ポータル をご確認ください。
他のSSLとの違いや仕組みの説明が載っています。