FreeBSD: Cannot load /usr/local/libexec/apache22/mod_security2.so into server: /usr/local/libexec/apache22/mod_security2.so

by on September 17, 2008 · 3 comments· LAST UPDATED September 18, 2008

in , ,

Q. I've installed Apache2 and mod_security21 under FreeBSD. Whenever I try to restart apach22 process I get following error:

Performing sanity check on apache22 configuration:
httpd: Syntax error on line 106 of /usr/local/etc/apache22/httpd.conf: Cannot load /usr/local/libexec/apache22/mod_security2.so into server: /usr/local/libexec/apache22/mod_security2.so: Undefined symbol "xmlFree"

How do I fix this problem?

A. First make sure you are running updated version for both Apache and mod_security. Next open your httpd.conf file:
vi /usr/local/etc/apache22/httpd.conf
Find line that read as follows:

LoadModule security2_module   libexec/apache22/mod_security2.so

Add line before above directive, so that it should look like as follows:

LoadFile /usr/local/lib/libxml2.so
LoadModule security2_module   libexec/apache22/mod_security2.so

Save and close the file. Restart apache:
# /usr/local/etc/rc.d/apache22 restart

TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 3 comments… read them below or add one }

1 z September 18, 2008 at 3:45 pm

It would be useful if you explained what the problem is, and how you arrived at the solution.

Reply

2 nixCraft September 18, 2008 at 8:26 pm

a) Error itself indicated that it can not load xmlFree, which is part of libxml (used by many open source apps). So I needed to load libxml before mod_security. This is well known problem with apache.

b) Run strings command on mod_security2.so to get idea about functions and other sutff

c) Track syscall by running ktrace

d) Experience

HTH

Reply

3 z September 19, 2008 at 10:40 pm

Thanks.

Reply

Leave a Comment

Tagged as: , , , , , ,

Previous Faq:

Next Faq: