# apachectl configtest
httpd: Syntax error on line 353 of /etc/httpd/conf/httpd.conf: Syntax error on line 1 of /etc/httpd/conf.d/mod_dnssd.conf: Cannot load modules/mod_dnssd.so into server: /etc/httpd/modules/mod_dnssd.so: undefined symbol: unixd_setup_child
# cat /etc/httpd/conf.d/mod_dnssd.conf
LoadModule dnssd_module modules/mod_dnssd.so
DNSSDEnable on
#DNSSDAutoRegisterVHosts on
#DNSSDAutoRegisterUserDir on
# ls -l /etc/httpd/conf.d/modules
ls: cannot access /etc/httpd/conf.d/modules: No such file or directory
ls -l /etc/httpd/modules
lrwxrwxrwx. 1 root root 29 Mar 4 22:09 /etc/httpd/modules -> ../../usr/lib64/httpd/modules
所以我把 mod_dnssd.conf 的第一行改成了这样的绝对路径:
LoadModule dnssd_module /etc/httpd/modules/mod_dnssd.so
...但遗憾的是,我遇到了另一个错误:-
# apachectl configtest
httpd: Syntax error on line 353 of /etc/httpd/conf/httpd.conf: Syntax error on line 1 of /etc/httpd/conf.d/mod_dnssd.conf: Cannot load /etc/httpd/modules/mod_dnssd.so into server: /etc/httpd/modules/mod_dnssd.so: undefined symbol: unixd_setup_child
所以我不得不用这个命令完全卸载 dnssd 模块:
# yum remove mod_dnssd
这是在运行 Apache 2.4.6 的 RHEL 7 上,但我认为它也适用于 Fedora