• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 907
  • Last Modified:

so modules of apache 2.x for mac


Just a few questions on apache 2.x on Mac 10.4:

1) I installed apache 2..2.x at /usr/local/apache2. The modules folder at /usr/local/apache2/modules has files with  a  ".a" or ".la" extension.

i) What are these files?
ii) Why are there no .so modules in this location?

2) I have an error when I try and start apache2:
httpd: Syntax error on line 58 of /apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/mod_authn_file.so into server: cannot create object file image or add library

I have a file mod_authn_file.a and a file mod_authn_file.la but no .so module extensions. What is the problem and how can repair this? (fyi: I've created a symlink from /apache2/conf/httpd.conf to /usr/local/apache2/conf/httpd.conf)

3) When I execute "httpd -V" I get the
 -D HTTPD_ROOT="/apache2"

How do I change the root to "/usr/local/apache2"?

Victor Kimura
Victor Kimura
  • 2
1 Solution
Victor KimuraAuthor Commented:
I forgot to mention when I type in httpd -V: I receive

Server version: Apache/2.2.11 (Unix)
Server built:   Feb  8 2009 09:09:57
Server's Module Magic Number: 20051115:21
Server loaded:  APR 1.3.3, APR-Util 1.3.4
Compiled using: APR 1.3.3, APR-Util 1.3.4
Architecture:   32-bit
Server MPM:     Prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/prefork"
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D HTTPD_ROOT="/apache2"
 -D SUEXEC_BIN="/apache2/bin/suexec"
 -D DEFAULT_PIDLOG="logs/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="logs/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"

How do change the HTTPD ROOT to "/usr/local/apache2":
i) static libraries
ii) most likely cause no shared version was compiled

2) you only can load dynamic shared object, which are missing (see i) and ii))

> How do change the HTTPD ROOT
you need to set it at compile time, most likely with the configure script
Victor KimuraAuthor Commented:
Hi ahoffmann,

I have another affiliated posting here:

I tried this:
make clean
./configure --prefix=/usr/local/apache2 \
                    --enable-module=so \
                    --enable-module=rewrite \
            --enable-module=most \
sudo make install

In reference to:
> How do change the HTTPD ROOT
you need to set it at compile time, most likely with the configure script

I had the the prefix set to:
 --prefix=/usr/local/apache2 \
Question: is this how I change the HTTPD ROOT?

Everything went smoothly up until the make install.
See there error in the code section here:

Apparently, the make install is stating some files in the lib folder was moved:
library `/usr/local/apache2/lib/libaprutil-1.la' was moved.

libtool: link: cannot find the library `/apache2/lib/libexpat.la' or unhandled argument

Just fyi:
the libtool is currently in /usr/local/apache2/lib/.
How do I repair this?

These are two separate issues or I suppose related? However, please tell me if prefix is the way to change the HTTPD ROOT. I'll give you the full points and an A for the answer to this question. =)

If you can help me resolve the other posting regarding the the libtool problem at:
then it would be an "easy" reward. Of course, if successful it'll be an A reward. =)

Much thanks for your help in these matters.


Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now