Page 1 of 1

update 1.7.0 -> 1.7.2 error

PostPosted: 21. August 2009 13:20
by t.peichl
I tried to upgrade from v1.7.0 to 1.7.2. Since I use a changed directory structure, I use my own update scripts.
The software is located under /srv/xampp-1.x.x and is symlinked to /opt/lampp to keep the server root and
default paths. Everything exported to the web resides in /srv/htp, the mysql db is placed under /srv/sql, etc.
I also moved the var, tmp, ... locations and rund apache / mysql in its own user account. To achieve this,
basically only configuration files were modified. But also minor changes occured in the lampp startup script.

When I update, I install the new version to /srv/xampp-1.y.y then move all web dirs to its changed locations.
After that I copy additional modules, configuration, etc. Now I manually diff the main configuration files to
see changes in settings and adapt them. After that I change the symlink and normally everything runs fine.

But this time I noticed that apache dies and there is no information left in apachestart.log or anywhere else.
This behavior is also described in to further threads:
viewtopic.php?f=17&t=36551
and
viewtopic.php?f=17&t=36420

Playing around with the configuration files again, I noticed, that this behavior only appears if I start apache
with SSL support. Further tests showed, that the problem comes from using multiple virtual host with one
wildcard SSL certificate on one IP address. While up to version 1.7.0 this was no problem and perfectly working
it seems broken starting with version 1.7.1.

In detail, I configure the SSL Engine and Certificate parameters on server level. When I just have one virtual
host for port 443 apache starts fine as usual. Adding a further virtual host apache dies during startup,
which was not the case with versions prior 1.7.1. Further interesting thing to note is, that if I start apache
with just one virtual host, change the configuration and just reload the config, apache stays alive and
works in its usal way serving all SSL virtual hosts with one wildcard SSL certificate.

So a workaround would be to have two vhost configuration files beeing exchanged for startup of xampp
and the reload apache with the actual settings.

Maybe serving multiple virtual hosts under one wildcard certificate is not recomended, but I love it to separate
projects and stuff into different subdomains. So it would be interesting if someone knows what changed
between these versions of xampp/apache that could be responsible for this behavior.

Sincerely yours

P.S.: keep up the good work, I really enjoy to have xampp and do not need to take care about distribution
specific configuration files but just have a working lampp environmen in every place ;-)

Re: update 1.7.0 -> 1.7.2 error

PostPosted: 14. April 2010 09:02
by t.peichl
Some time ago I accidentally noticed what caused the problem I discussed above. Against my speculation it is not caused by the pure presence of multiple SSL vhosts. In fact it was caused by special redirect vhost entries like:
<VirtualHost *:80>
ServerName ssl.sub.xyz.tl
Redirect / https://ssl.sub.xyz.tl/
</VirtualHost>
<VirtualHost *:443>
ServerName www.sub.xyz.tl
Redirect / http://www.sub.xyz.tl/
SSLEngine off
</VirtualHost>
The basic idea was to set up www.sub.xyz.tl as well as ssl.sub.xyz.tl and allow to enter those subdomains without http(s) protocol specifier in the browser and ensuring that www.* is always redirected to use http only while ssl.* is always redirected to https. For the SSL redirect I used SSLEngine off to prevent the browser to complain about my self-signed certificate additionally for the ww.* subdomains. This combination worked well up to version 1.7.0 both for configuring and starting apache as well as the expected redirects using all possible combinations like https://www.sub.xyz.tl/ etc. Starting with the apache contained in XAMPP 1.7.1 this configuration kills apache on startup. The solution ist to change SSLEngine off into SSLEngine on for ALL vhost under the same IP:port combination. This means that if SSLEngine is used for IP:port it is now assumed that this IP:port uses always SSL no matter which vhost applies. The only drawback is that before redirecting the browser additionally complains about my self-signed certificates for all www.* subdomains with which I can live.

Anyways I guess that with upcoming openSSL 1.0.0 things will once again change and become more convenient.

Sincerely