Let's Encryptのサーバ証明書でSSL対応

さくらVPSで、Let’s Encryptのサーバ証明書を使って、SSL対応のサイトを作る設定手順
を見てやってみようと思ったが、CentOS 5ではこの通りに行かないっぽい。
まずPythonが2.6以上必要と言われる。2.4しか入っていない。yumに2.6があるのでインストール("python26"になる)してスクリプトの中のpython27をpython26に変えても無理だった。

wget https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgz

からインストールして"python2.7"が通るようにしてもやっぱり駄目だった。

KeyError: 'webroot'

となって止まる。


Letsencrypt-auto certonly fails with KeyError: 'webroot' - Help - Let's Encrypt Community Support
を見て、pythonに依存しない
GitHub - Neilpang/acme.sh: A pure Unix shell script implementing ACME client protocol
を使うことにする。証明書の更新も自動でやってくれるらしい。むしろ便利じゃん。*1

git clone https://github.com/Neilpang/le.git
cd le
./le.sh install
sudo ./le issue /var/www/html/ www.example.com

して生成されたファイルを /etc/httpd/conf.d/ssl.conf に

SSLCertificateFile /home/hoge/.le/www.example.com/www.example.com.cer
SSLCertificateKeyFile /home/hoge/.le/www.example.com/www.example.com.key
SSLCertificateChainFile /home/hoge/.le/www.example.com/ca.cer

で指定。

sudo /etc/rc.d/init.d/httpd restart

で一応動いたっぽい。
ただしTLS1.0しか使えていないので「古い暗号スイート」と言われてしまう。CentOS 5ではOpenSSLが0.9.8のため。

$ cat /etc/redhat-release
CentOS release 5.11 (Final)

CentOS5のサポート期限である2017年3月31日までにはOSバージョンアップが必須。
2015年いっぱいでOpenSSL0.9.8のアップデートが無くなる? - Qiita

*1:有効期限が5月13日までになっているのがちゃんと更新されるか確認。