はじめに
2022年春に実施した証明書更新の手順を以下に示す。当日は2つのサーバ証明書を更新したが、この手順では1つの証明書を差し替える手順を示している。
また、これは証明書にフォーカスを当てた手順としている。そのため、linuxの基本的な操作(例:sshでのログイン手順やviの使い方など)は省略している。
現在の証明書の確認
ブラウザでアクセスし、更新前の証明書の確認をする。
秘密鍵の準備
CSRと合わせて作成される秘密鍵を用意する。秘密鍵はCSRを作成した担当からファイルを引き継ぐ。
当手順において、秘密鍵のファイル名は「private.key」とする。
証明書のダウンロード
提示されたURLにアクセスし、証明書をダウンロードする。
サーバー証明書と中間CA証明書の統合
証明書ファイルおよび中間CA証明書ファイルを開き、以下のようにサーバー証明書ファイルに中間CA証明書の文字列を追記する。
このようにするのは、Apache 2.4.8から中間CA証明書を指定するSSLCertificateChainFileディレクティブが廃止されたためである。このディレクティブが廃止されたため、中間CA証明書を証明書ファイルに含める必要がある。
以下の書き方には違和感があるかもしれないが、中間CA証明書はサーバー証明書の下にそのまま追記すること。
-----BEGIN CERTIFICATE-----
MIIG6zCCBdOgAwIBAgIQC0W8dEj8CCfPB9LH/kroQjANBgkqhkiG9w0BAQsFADBP
〜〜 省略 サーバー証明書〜〜
gqpLaG/+64JlGy7iLWbPrhXt6iSy7g30dVcexN9FdkgR5p4QvbCDMMkI3kccsAo=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEvjCCA6agAwIBAgIQBtjZBNVYQ0b2ii+nVCJ+xDANBgkqhkiG9w0BAQsFADBh
〜〜 省略 中間CA証明書〜〜
A7sKPPcw7+uvTPyLNhBzPvOk
-----END CERTIFICATE-----
証明書関連ファイルの配置
サーバー証明書(中間CA証明書を追記したもの)、秘密鍵をサーバーに格納する。今回の手順では以下の場所に配置した。
/opt/bitnami/apache/conf/bitnami/20220424/
bitnami-ssl.confの編集
以下を編集する。
/opt/bitnami/apache/conf/bitnami/bitnami-ssl.conf
既存の定義を削除し、以下を記述する。
SSLCertificateFile "/opt/bitnami/apache/conf/bitnami/cert20220424/FQDN.pem"
SSLCertificateKeyFile "/opt/bitnami/apache/conf/bitnami/cert20220424/private.key"
wordpress-https-vhost.confの編集
以下を編集する。
/opt/bitnami/apache/conf/vhosts/wordpress-https-vhost.conf
bitnami-ssl.confと同様に既存の定義を削除し、以下を追加する。
SSLCertificateFile "/opt/bitnami/apache/conf/bitnami/cert20220424/FQDN.pem"
SSLCertificateKeyFile "/opt/bitnami/apache/conf/bitnami/cert20220424/private.key"
文法チェック
以下のコマンドで文法誤りがないかをチェックする。エラーがないことを確認すること。意外と間違っているので、自分は信じないこと。
sudo httpd -t
apachの再起動
以下のコマンドでapachを再起動する。このコマンドを使用することで、既存セッションを切断することなくapacheの再起動が可能となる。
sudo httpd -k graceful
証明書の確認
ブラウザを使用してサイトにアクセスする。
証明書が変更されていることを確認する。
参考文献
参考にした文献は以下。