I had a related problem.
Background: 10.4 server running fine for a few years. Migrated to 10.5.0 in November. At no point in time would it allow the Apache migration from 1.3 to 2.x. The 10.4 server had been used strictly via the GUI -- never a CLI alteration to the httpd or any other config. Yet Apple's scripting could not perform the upgrade for Apache versioning. 10.5.1 and 10.5.2 releases behaved the same way. Upon 10.5.3 update, the migration tool magically worked (this past weekend) and the server has been functional. But there are similar errors in my logs. I didn't find them until stumbling across a particularly nasty one today.
[Fri Jun 13 07:45:30 2008] [warn] No JkShmFile defined in httpd.conf. Using default /usr/logs/jk-runtime-status
[Fri Jun 13 07:45:31 2008] [warn] The Alias directive in /etc/apache2/sites/0020
any_80forums.domain1.com.conf at line 56 will probably never match because it overlaps an earlier Alias.
[Fri Jun 13 07:45:31 2008] [warn] The Alias directive in /etc/apache2/sites/0052
any_80domain2.com.conf at line 58 will probably never match because it overlaps an earlier Alias.
[Fri Jun 13 07:45:31 2008] [warn] worker
http://127.0.0.1:8087/groups already used by another worker
[Fri Jun 13 07:45:31 2008] [warn] The Alias directive in /etc/apache2/httpd
teamsrequired.conf at line 41 will probably never match because it overlaps an earlier Alias.
[Fri Jun 13 07:45:31 2008] [warn] worker
http://127.0.0.1:8086 already used by another worker
[Fri Jun 13 07:45:31 2008] [warn] worker
http://127.0.0.1:8087/collaboration-config already used by another worker
[Fri Jun 13 07:45:31 2008] [warn] worker
http://127.0.0.1:8087/wikihelp already used by another worker
[Fri Jun 13 07:45:31 2008] [warn] worker
http://127.0.0.1:8087/groups already used by another worker
[Fri Jun 13 07:45:31 2008] [warn] The Alias directive in /etc/apache2/httpd
teamsrequired.conf at line 41 will probably never match because it overlaps an earlier Alias.
[Fri Jun 13 07:45:31 2008] [warn] worker
http://127.0.0.1:8086 already used by another worker
[Fri Jun 13 07:45:31 2008] [warn] worker
http://127.0.0.1:8087/collaboration-config already used by another worker
[Fri Jun 13 07:45:31 2008] [warn] worker
http://127.0.0.1:8087/wikihelp already used by another worker
[Fri Jun 13 07:45:31 2008] [warn] The Alias directive in /etc/apache2/sites/0070
any_80x.domain3.com.conf at line 56 will probably never match because it overlaps an earlier Alias.
[Fri Jun 13 07:45:31 2008] [warn] The Alias directive in /etc/apache2/sites/0072
any_80y.domain4.comt.conf at line 56 will probably never match because it overlaps an earlier Alias.
[Fri Jun 13 07:45:32 2008] [warn] No JkShmFile defined in httpd.conf. Using default /usr/logs/jk-runtime-status
[Fri Jun 13 07:45:32 2008] [notice] mod
scgipubsub: generating secret for digest authentication ...
[Fri Jun 13 07:45:32 2008] [notice] mod
scgipubsub: done
[Fri Jun 13 07:45:32 2008] [notice] Apache/2.2.8 (Unix) PHP/5.2.5 mod_ssl/2.2.8 OpenSSL/0.9.7l DAV/2 mod_jk/1.2.23 mod
scgipubsub/1.11-pubsub configured -- resuming normal operations
[Fri Jun 13 07:45:32 2008] [crit] (24)Too many open files: mod_rewrite: could not init rewrite log lock in child
(and this last line is repeated five more times)
[Fri Jun 13 07:51:54 2008] [warn] (13)Permission denied: connect to listener on [::]:80
[Fri Jun 13 07:52:19 2008] [notice] caught SIGTERM, shutting down
Today, I had Apache totally quit on me -- completely go deaf, 'though the rest of the server (listserve, ftp) would function. Mine might be a special case. Here's some detail I've gleaned from the logs.
What is of interest here is that only a few of the domains (from the 80+) that migrated from 1.3 to 2.2.8 are listed above in the errors. In reviewing the logs and comparing them to the GUI settings, the differences between settings for domains that are not reported in error and those that are fall within these tab options:
Web:Sites:Logging
Web:Sites:Aliases section for URL Aliases and Redirects
Those also happen to be the four most recently generated Site entries. If the new site was enabled, the server would crash and fail. If the site was then disabled (enable checkbox cleared), the server would start and run, serving sites properly.
So something within those few default GUI settings (not matching the bulk of the sites that did work) may have been the cause -- or there are elements in the .conf files for each site that are not reflected in the GUI that differ. After some troubleshooting, I narrowed it down to the logging.
If one of the 'bad' sites was changed to disable the 'Enable Access Log' by unchecking it, saving this change, then enabling the site, the server would restart gracefully.
Next, if the 'bad' site adopted the same custom logging format string, was set to the same log roll (archiving) time frame as the others, and enabled, Apache2 would gracefully restart. Apache2 would only fail IF the logging for one site did not match the format for all of the others.
I'm sure there are other causes for concern, but this is how I solved my issue with Apache crashing when a new site is added to the server.