SSLPassPhraseDialog in VirtualHost causes Apache to fail to start

When configuring an SSL site and using a static password to allow Apache to open the certificate key, VirtualMin writes the SSLPassPhraseDialog directive into the site's VirtualHost.

The server then fails to start, reporting:

* Starting web server apache2
Syntax error on line 134 of /etc/apache2/sites-enabled/domain.tld.conf:
SSLPassPhraseDialog cannot occur within section
...fail!

According to the Apache 2 documentation this directive is only allowed in a 'server config' section.

http://httpd.apache.org/docs/2.0/mod/mod_ssl.html#sslpassphrasedialog

To fix it I created /etc/apache2/conf.d/ssl and moved the directive from the site's VirtualHost to this file:

SSLPassPhraseDialog exec:/etc/apache2/passphrase.1205407137.sh

According to the documentation you can include multiple entries like this and apache will try all pass phrases until one is accepted - in other words it doesn't associate a pass phrase with a domain name directly.

Status: 
Closed (fixed)