オフィシャルのLetsencryptクライアントだと、CentOS5でちゃんと動かなくて、それじゃあとgetssl使おうとしたら、sedの-Eオプションないじゃんってことで、le.shに行き着いたのでメモ。
インストール
$ git clone https://github.com/Neilpang/le.git
$ cd le
$ ./le.sh install
これで、自分のホームディレクトリ配下に.leディレクトリができて、alias切ったりしてくれる。
なんか、crontabも勝手に登録してくれるのでとりあえずコメントアウト。
issueしてみる
apacheが動いてる環境であれば、Webrootモードで実行する。
$ le issue /var/www/html example.com www.exapmle.com
/vaw/www/htmlはドキュメントルートのディレクトリ。ここにleがACME用のファイルとか置いてくれる(実行後は削除される)
ドキュメントルートに、.well-known/acme-challengeディレクトリを作成、応答ファイルをつくっているようだ。
何気にはまる
この、.well-known/acme-challengeディレクトリがなぜか
couldn't perform authentication. AuthType not set
とか言ってアクセスできなかった。
httpd.confでこのディレクトリを明示的にAllow from allしてあげた(apache 2.4未満の設定)
<Directory /var/www/html/.well-known/acme-challenge>
Allow from all
</Directory>
証明書配置
以下のようにして、証明書の置き場所を指定してあげる。
$ le installcert fujiba.net /etc/httpd/conf/ssl.crt/fujiba.net.crt /etc/httpd/conf/ssl.crt/fujiba.net.key /etc/httpd/conf/ssl.crt/cacert.cer
あとは、apacheでこの証明書ファイル群を指定してあげればオレオレ証明書を使わずにssl有効になる。
あとは、定期的なアップデートだな。