無料のSSL証明書Let’s EncryptをCentOS6.5に導入する方法

社内の開発サーバにSSLを導入したい

モールと連携する際に最近ではAPIを使って行うのがスタンダードになってきましたが、テスト環境であってもロールバックURLにSSLを求められることがたまにあります。社内の開発サーバにわざわざ有料のSSLを適用するのは少々もったいないので最近話題になっているフリーのSSL「Let’s Encrypt(レッツエンクリプト)」を社内の開発サーバに適用したのでその手順を記録しておきます。

723ed567886c2331c63a6f76aafe80e6_m

環境(弊社の開発サーバ)

  • アパッチです
  • DDDNSでドメインを付与しています
  • ポート80と443を開けています
  • ベーシック認証をしていません

やりかた

1.依存パッケージをYUMでインストールしておきます

# yum install -y httpd mod_ssl git openssl

2.任意のフォルダに移動します

# cd /opt

3.GITでファイルをクローンします

# git clone https://github.com/letsencrypt/letsencrypt

4.移動します

# cd letsencrypt

5.ヘルプファイルの確認

# ./certbot-auto --help

6.それでは鍵を発行します

# ./certbot-auto certonly --non-interactive --agree-tos --webroot -w /var/www/html -d [sample.com] --email [sample@sample.com]
オプション 説明
certonly と –webroot ウェブサーバを停止することなく SSL/TLS 証明書を発行したい場合には、Webroot プラグインを使用します
-w Webサーバのドキュメントルートディレクトリ(ウェブサーバで公開するコンテンツが入っているディレクトリ)を指定します、/var/www/htmlから変更している場合は適宜変更してください
-d ドメイン名です、DDDNSサービスなどで設定しているドメインを指定します
–email 期限が切れそうになったら告知したいメールアドレスを指定します

7.成功しているか確認

# cd /etc/letsencrypt/live/

指定したドメイン[sample.com]のフォルダが出来ていたら成功です。

超簡単ですね(感動)!

中にはpemファイルが入っているので興味があったら見てみましょう。

8.SSLを設定します

# vi /etc/httpd/conf.d/ssl.conf

の中を次のように書き換えます

ServerName [sample.com]:443
SSLCertificateFile /etc/letsencrypt/live/[sample.com]/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/[sample.com]/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/[sample.com]/chain.pem

9.再起動

service httpd restart

DDDNSのドメインでSSLに接続できると思います

無料!無料!ワッショイ!嬉しいですねー


10.自動更新

Let’s Encryptは3か月で有効期限が切れてしまうので最後にCRONで定期更新するようにしておきましょう

#crontab -e
50 3 * * * /opt/letsencrypt/certbot-auto renew --post-hook "/usr/sbin/apachectl graceful"




  • このエントリーをはてなブックマークに追加
  • Share on Tumblr