apache13-modperl problem: mod_dir, mod_mime

Matthew Seaman m.seaman at infracaninophile.co.uk
Sun Nov 11 01:10:16 PST 2007

Hash: SHA256

futuristick wrote:

> I have installed apache13-modperl from ports because I want to run a
> simple photoblog. However, there was no 'make config' option for
> modules, and here is the output of httpd -l:
> Compiled-in modules:
>   http_core.c
>   mod_so.c
>   mod_perl.c
> suexec: disabled; invalid wrapper /usr/local/sbin/suexec
> I don't understand why mod_dir and mod_mime aren't installed by default.
> How can I serve pages without these? How can I get these modules
> installed? (I don't know where, if any, the .so files might be).

Not having an OPTIONS dialog is just a symptom of the age of the
port and that the possibility of implementing such a thing has not
yet risen to the top of the maintainer's TODO list.  OPTIONS are not
mandatory in the ports system -- you can still use the original and
in some circumstances superior method of defining compilation flags
on the command line or (more usefully) in /etc/make.conf

However, the only way to find out what flags are available is by
looking at what the Makefile provides.  In the case of apache13-modssl
the Makefile is really rather complex, but the maintainer has
provided some handy documentation of what can be tweaked:

   % cd /usr/ports/www/apache13-modssl
   % make pre-fetch

As it transpires, the apache13-modssl port doesn't give you a
huge amount of flexibility as to how the module load is configured.
There are about 4 -- 5 optional modules you can enable or disable 
completely, most of which I doubt you'll have any need for, although
suexec is possibly an exception that you may want.

Otherwise you get the default setup from the Apache configuration
system as invoked with the following flags:

                --enable-module=most \
                --enable-module=auth_db \
                --enable-module=mmap_static \
                --disable-module=auth_dbm \
                --enable-shared=max \
                --enable-module=ssl \
                --enable-module=define \

That is, everything standard except experimental modules and auth_dbm is
enabled, plus auth_db, mmap_static and ssl.  Modules are configured as loadable modules rather than compiled in.  That gives you maximum
flexibility and maximum control over how large your apache processes
will grow but adds a layer of indirection to various pointer lookups
which will add a few percent to the time it takes to serve a page.
Unless you're trying to run your server at the absolute max, that is
almost definitely the correct choice.

mod_dir and mod_mime are certainly installed and available as part of
the default package.  Look in /usr/local/etc/libexec/apache to find the
loadable modules themselves.  Look at the 'LoadModule' lines in
/usr/local/etc/apache/httpd.conf to see what is being loaded at runtime
- -- the default is to load everything available.



- -- 
Dr Matthew J Seaman MA, D.Phil.                   7 Priory Courtyard
                                                  Flat 3
PGP: http://www.infracaninophile.co.uk/pgpkey     Ramsgate
                                                  Kent, CT11 9PW
Version: GnuPG v2.0.4 (FreeBSD)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org


More information about the freebsd-questions mailing list