从startSSL申请了证书并成功加载到apache,这些都是通用步骤,具体可以直接参考startSSL的说明文档:http://www.startssl.com/?app=21
然而由于密钥文件是采用访问密码保护,因此重启apache时,读取密钥文件会要求手工输入密码,例如以下提示信息:
Some of your private key files are encrypted for security reasons.
In order to read them you have to provide the pass phrases.
Enter pass phrase:
这样非常不方便,因此需要将密钥的访问密码告诉apache,并自动输入该密码。
以下步骤都是以root身份进行,系统为Debian 7。
创建shell文件:vi /etc/ssl/apache_pass.sh,并输入以下内容,用于输出访问密码:
#!/bin/sh
echo "1234" <-- 这个是密钥文件的访问密码
出于安全的考虑,将这个文件设置为可执行,并且只能由root访问:
chmod 400 apache_pass.sh
chmod +x apache_pass.sh
接下来就是修改/etc/apache2/mods-available/ssl.conf文件,将SSLPassPhraseDialog由默认的builtin修改为以下值(其实就是执行上述shell文件):
SSLPassPhraseDialog exec:/etc/ssl/apache_pass.sh
完成上述步骤后,重启apache2,将自动输入密钥文件的访问密码,不再需要手工操作。