ローカルドメインでもSSL通信を可能にするmkcerts。それだけに有効期限は3ヶ月程度。
それを更新した時の手順です。
前提
こちらのようにSSL化しています。
また、mkcertsは以下の手順でインストールしています。
手順
mkcertsでの証明書更新
mkcert -key-file corn.wall.key.202208 -cert-file corn.wall.crt.202208 corn.wall penzance.corn.wall "*.corn.wall"
openssl x509 -text -noout -in ./corn.wall.crt.202208 |grep DNS
# DNS:corn.wall, DNS:penzance.corn.wall, DNS:*.corn.wall と、入力したDNS名があることを確認します
こうしてできた証明書と秘密鍵を任意の方法でredmineサーバに転送します。
転送先:
- 証明書: /etc/certs
- 秘密鍵:/etc/private
redmineサーバでの更新
証明書の入れ替え
cd /etc/certs/
# apacheの設定ファイルで証明書を格納した場所
unlink corn.wall.crt
ln -s corn.wall.crt.202208 corn.wall.crt
秘密鍵の入れ替え
cd /etc/private/
# apacheの設定ファイルで秘密鍵を格納した場所
unlink corn.wall.key
ln -s corn.wall.key.202208 corn.wall.key
設定反映
apache2ctl configtest
# SyntaxOKを確認
systemctl restart apache2
前提で設定したとおり、apacheの設定ファイルはシンボリックリンクの証明書を参照するようにしています。
したがって、証明書更新の際にはリンクを張り替えるだけで更新ができるという次第です。