無料で、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