If you were using the excellent Complete Apache packages, you probably had a rude awakening when you realized that they have a serious bug that doesn't serve any files larger than about 50KB. This makes images, in particular, a problem.
Assuming you're running a stock installation, here are step-by-step instructions on how to upgrade apache to 2.0.54, apply a patch to fix the bug, and get your installation working again. I've simply collected the instructions from the people over in the Server Logistics forum, and the folks working on Apache. Credit for fixing this goes to them.
Here's what you need to do:
<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>
patch < sendrecv.c.patch
./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
Mac OS X Hints
http://hints.macworld.com/article.php?story=20050614021638679