When one goes to enable ssl in /etc/conf.d/apache2 via -D SSL they also get the
default-vhosts config with it. Which causes issuse for the main virtual site if
you have your own certificate else where in the file system. One then has to
either delete the 41_mod_ssl.default-vhost.conf in apache's modules.d/
directory. Or rename the file to some other suffix/file extension like .bak.
Anything instead of .conf.
Steps to Reproduce:
Upgrade apache, and the 41_mod_ssl.default-vhost.conf will be there again.
Causing one to have to delete or rename it every time apache is upgraded.
Once deleted apache can be started and it will use the user specified ssl
information for the main/default site.
If possible it would be nice to have a flag in /etc/env.d/apache2 to enable that
module if it's wanted in conjunction with SSL.
Now it's kind of a catch 22, since one has to also have the -D SSL flag. I
assume some condition would have to exist. So that if someone used the the
default host flag without the SSL flag. SSL will still be loaded and activated.
Otherwise specifying one without the other could cause issues.
However for most just having the -D SSL flag will be more than enough. Others
that run one site, do not have a signed cert or etc. Can use the secondary flag
to enable the default ssl host.
I have fixed this by adding the option SSL_DEFAULT_VHOST to the configuration
file. The file will still exist, it just won't have any effect unless
SSL_DEFAULT_VHOST is in APACHE2_OPTS in /etc/conf.d/apache2.
I have also added a similiar option called DEFAULT_VHOST that does the same
thing for the default virtual host. This one is however, enabled by default in
The fixes are in CVS as apache-2.0.54-r13.
Thanks for the report!