I've tried other solutions I've found on StackExchange for this same problem, but must have a unique situation that is still causing problems. I have a hosts file setup as follows:
127.0.0.1 localhost.localdomain localhost host.ciaciagi.com 255.255.255.255 broadcasthost ::1 localhost.localdomain localhost host.ciaciagi.com fe80::1%lo0 localhost
I have httpd.conf setup and the line for LoadModule unique_id_module libexec/apache2/mod_unique_id.so commented out (as others have suggested).
I can ping 127.0.0.1 and get this:
$ ping 127.0.0.1 PING 127.0.0.1 (127.0.0.1): 56 data bytes 64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.082 ms
$ sudo apachectl configtest Syntax OK
I checked for a corrupt virtual hosts file. Everything was fine.
Restarting apache shows nothing significant (nothing at all):
$ sudo apachectl restart $
Opening a browser and attempting to connect to http://localhost/ (I've tried 3 browsers and their private/incognito windows), I still get "Unable to connect" or its equivalent for the browser.
ps aux | grep "httpd". Pinging 127.0.0.1 is unrewarding. You have to