ローカルドメインでも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の設定ファイルはシンボリックリンクの証明書を参照するようにしています。

したがって、証明書更新の際にはリンクを張り替えるだけで更新ができるという次第です。