Apacheを起動する際、SSL秘密鍵のパスフレーズを自動で読み込む
SSL対応のサイトでApacheを起動する際、パスフレーズの入力するよう訊かれます。
Apacheを自動起動するようなケースがあった場合、パスフレーズ入力をしない限り
先へ進めない。
そこでパスフレーズを自動で読み込む方法がありましたので、
簡単にまとめておきます。
まずは、Apacheのconfファイルを開きSSL使用時に鍵のパスフレーズ設定を
読み込ませるパスを設定します。
ssl.conf
SSLPassPhraseDialog exec:/usr/local/apache/sbin/pp-filter
証明書のパスフレーズを入力させるスクリプトを以下のように作成します。
/usr/local/apache/sbin/pp-filter
#!/bin/sh echo "ここにパスフレーズを入れる"
あとは、パーミッションの設定を環境に合わせて設定していくことですね。
このような感じで設定していけば、Apache起動する際、SSLを自動的に有効にすることが可能です。
また、バーチャルホストで構築してて、サーバーごとに違うパスフレーズを
設定する場合は、以下を参照すると良い。
apacheで複数のバーチャルホストでSSLキーのパスフレーズが異なる場合のSSLPassPhraseDialogの書き方 - 日記のような何か
#!/bin/sh case $1 in www1.example.jp:443) /bin/echo "server1.keyのパスフレーズ" ;; www2.example.jp:8443) /bin/echo "server2.keyのパスフレーズ" ;; esac exit 0
SSL秘密鍵のパスフレーズを自動で読み込むことはセキュリティ的にはあまり好ましくありませんが・・・
くれぐれも注意してください。