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. Reproducible: Always 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. Actual Results: Once deleted apache can be started and it will use the user specified ssl information for the main/default site. Expected Results: 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 /etc/conf.d/apache2. The fixes are in CVS as apache-2.0.54-r13. Thanks for the report!