You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by Hasanuddin Tamir <sa...@trabas.com> on 2002/01/21 12:36:46 UTC

Re: Load Module info.

On Mon, 21 Jan 2002, Justin Pywell <py...@telusplanet.net> wrote,

> /usr/local/apache/bin/httpd -l
> gets me:   
> 
>   http_core.c
>   mod_env.c
>   mod_log_config.c
>   mod_mime.c
>   mod_negotiation.c
>   mod_status.c
>   mod_include.c
>   mod_autoindex.c
>   mod_dir.c
>   mod_cgi.c
>   mod_asis.c
>   mod_imap.c
>   mod_actions.c
>   mod_userdir.c
>   mod_alias.c
>   mod_access.c
>   mod_auth.c
>   mod_setenvif.c
> 
> So it seems its loaded statically...

Yes, the modules are linked statically to your apache.  I guess you just
followed the standard scheme.

> is there a way that I should be doing this differently?

You mean make it dynamic?  Sure.  You can even mix them, some are dynamic
and some are static.  The key is you have to compile mod_so into apache to
give modules oppurtunity to be linked dynamically, or even, to give some
modules (that support this dynamic loading) to be linked later, long after
apache is installed.  You have to enable this when configuring apache,
that's when running ./configure in apache source directory.

The --enable-module=cgi option will enable a particular module named
mod_cgi.c to be compiled with apache.  The --enable-shared=cgi will cause
mod_cgi.c to be linked dynamically.  Both --enable-module and
--enable-shared can be repeated as many as you need, as well as their
counterparts (--disable-module and --disable-shared).  Once you put
--enable-shared option, you also enable the compilation of mod_so, the
module that makes the dynamic loading possible.  So you don't have to
explicitly say --enable-module=so.

    ./configure \
        --enable-module=cgi \
        --enable-module=rewrite \
        --enable-shared=cgi

This, for example, will enable both mod_cgi and mod_rewrite but only
mod_cgi will be linked dynamically which also imply the compilation for
mod_so.  If you can't choose, you can enable and link them all dynamically
(by 'all' I mean all modules in standard apache distribution including
those are not installed by default) by saying,

    ./configure --enable-module=all --enable-shared=max

Of course you can just install mod_so.c without using it for the current
modules you want to be included.  You still can compile it while keep the
other modules compiled and linked statically.  This way, you can compiled
additional modules later and link them dynamically.  But you need to
specify them in httpd.conf to be loaded at the right time using the
LoadModule and AddModule directives.

The file INSTALL in the apache source distribution contains complete
instruction.


> Also just so Im not wasting anyone's time is there an order I should be
> installing these servers. httpd, php, mysql, dns, ftp.

Try Apache ToolBox.


hth
san
-- 
Trabas - http://www.trabas.com



---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org