I was stuck with a problem I encountered a few weeks ago when I got back from my holiday. I was trying to post my holiday snapshots on my webserver to show to my friends, when I noticed that the big pictures didn’t want to load completely in the browser. They only downloaded for about 1/3 in the browser and I had to refresh the page several times to get the full photo. I’ve been banging my head on this for some time until David W. pointed me to a bug in Apache 2.0.54 that caused the error. He also explained how I could upgrade to 2.0.55 and keep all the things I had configured with the package from Server Logistics in place. If you have the Apache package running from them you might as well follow these instructions as well.

First download Apache HTTP server version 2.0.55. Unpack it into a directory and open the file config.layout for editing and add the following code at the end of the file.


<layout ServLog>
prefix: /Library/Apache2
exec_prefix: ${prefix}
bindir: ${exec_prefix}/bin
sbindir: ${exec_prefix}/bin
libdir: ${exec_prefix}/lib
libexecdir: ${exec_prefix}/modules
mandir: ${prefix}/man
sysconfdir: ${prefix}/conf
datadir: ${prefix}
installbuilddir: ${datadir}/build
errordir: ${datadir}/error
iconsdir: ${datadir}/icons
htdocsdir: ${datadir}/htdocs
manualdir: ${datadir}/manual
cgidir: ${datadir}/cgi-bin
includedir: ${prefix}/include
localstatedir: ${prefix}
runtimedir: ${localstatedir}/logs
logfiledir: ${localstatedir}/logs
proxycachedir: ${localstatedir}/proxy
</Layout>

This configures the build and configuration process to mimic the configuration used by ServerLogistics and keeps everything in place as it is. If you’ve done that then open a Terminal session, change to the directory in which you unpacked the source code and edited the config.layout file and run the following command:

./configure --enable-layout=ServLog --enable-mods-shared=all --with-ssl=/usr --with-mpm=prefork --enable-ssl --enable-dav --enable-cache --enable-proxy --enable-shared --disable-static --disable-unique-id --disable-ipv6 --enable-logio --enable-deflate --with-ldap --with-ldap-include=/usr/include --with-ldap-lib=/usr/lib --enable-ldap --enable-auth-ldap --enable-cgi --enable-cgid --enable-suexec

This will create and configure the Makefile for actually building the Apache webserver like the package from Server Logistics. When it’s done just execute the next command:

make

When that’s finished and you are sure (made a backup of your system and all) you can issue:

sudo make install

Stop and start Apache and you are running the new 2.0.55 version. Don’t do a restart as that just reloads the configuration. Use the Apache preference pane you installed earlier to stop and start it or use the apachectl command in the Terminal as a root user.