無料で、SSL鍵を利用できる let's encrypt というソフトが Debian でも使えるようなので、
試してみました。まずは、必要なソフトのインストール。
# aptitude install letsencrypt.sh letsencrypt.sh-apache2
基本は /etc/letsencrypt.sh/config.sh を修正してもいいが、
/etc/letsencrypt.sh/conf.d の中に *.sh の拡張子で設定を保存すると
書いてあるので、
連絡用のメールアドレスなどの登録情報は、この中に保存。
(( /etc/letsencrypt.sh/conf.d/contact_mail.sh ))
CONTACT_EMAIL=連絡用メールアドレス
letsencrypt.sh のデータは、/var/lib/letsencrypt.sh/ に保存され、
取得するドメインは、以下のファイルに記載しておく。
(( /var/lib/letsencrypt.sh/domains.txt ))
ドメイン
# mkdir /var/lib/letsencrypt.sh/certs
# /usr/bin/letsencrypt.sh -c
(出力)
# INFO: Using main config file /etc/letsencrypt.sh/config.sh
# INFO: Using additional config file
/etc/letsencrypt.sh/conf.d/contact_mail.sh
+ Generating account key...
+ Registering account key with letsencrypt...
Processing ドメイン
+ Signing domains...
+ Creating new directory /var/lib/letsencrypt.sh/certs/ドメイン ...
+ Generating private key...
+ Generating signing request...
:
できあがった、SSL の情報を Apache に設定する。
(( /etc/apache2/sites-available/default-ssl.conf ))
SSLCertificateFile /var/lib/letsencrypt.sh/certs/ドメイン/cert.pem
SSLCertificateKeyFile /var/lib/letsencrypt.sh/certs/ドメイン/privkey.pem
SSLCertificateChainFile /var/lib/letsencrypt.sh/certs/ドメイン/chain.pem
# /etc/init.d/apache2 restart
SSL鍵は、流石に無償だし、有効期限が短い。
定期的に更新が必要。今回は一ヶ月毎に更新。
(( /etc/cron.d/update-letsencrypt ))
#m h D M W user command
0 3 1 * * root test -x /usr/bin/letsencrypt.sh && /usr/bin/letsencrypt.sh -c