mod_unique_id: unable to find IPv4 address of FQDN despite setting etc/hosts and Apache ServerName
The problem was SELinux
#less /var/log/audit/audit.log
type=AVC msg=audit(1311546944.235:1040): avc: denied { read } for pid=1396 comm="httpd"
name="hosts" dev=dm-0 ino=262931
scontext=user_u:system_r:httpd_t:s0
tcontext=system_u:object_r:initrc_tmp_t:s0 tclass=file
In my case the following solved it:
# ls -lZ /etc/hosts
-rw-r--r-- root root system_u:object_r:initrc_tmp_t /etc/hosts
# setenforce 0
# restorecon -R -F -v /etc/hosts
# setenforce 1
# ls -lZ /etc/hosts
-rw-r--r-- root root system_u:object_r:etc_t /etc/hosts
I'd be looking for typos and other "stupidly simple" mistakes we all make from time to time (I use my wife as a proof-reader), but if that doesn't work I'd just fire up strace to see what mod_security
is trying to do. It might not be reading /etc/hosts
-- perhaps it's taking a failure to resolve the name via DNS as some sort of hard failure instead, or something else.
At any rate, I'd be putting the machine's name in DNS anyway. It just saves so many hassles.