My personal preference is to install all of Apache in one location
(/usr/local/apache
, to be specific) and then just make symlinks
from other locations. For example, system log files are located in
/var/log
, so it might make sense to have the Apache log files
there also. However, instead of using a
--logfiledir=/var/log/httpd
configuration option, I simply create
a symbolic link from /var/log/httpd
to
/usr/local/apache/logs
:
cd /var/log ln -s /usr/local/apache/logs httpdThis is also handy for your log rotate scripts, which expect log files to
be in/var/log
and subdirectories thereof.Module Configuration
You can tell Apache what modules to build and activate with configuration
options. In a default configuration, some modules are enabled, and others are
not. To change this default configuration, you can use the
--enable-module
and--disable-module
directives.The default configuration is as follows:
[access=yes actions=yes alias=yes ] [asis=yes auth=yes auth_anon=no ] [auth_db=no auth_dbm=no auth_digest=no ] [autoindex=yes cern_meta=no cgi=yes ] [digest=no dir=yes env=yes ] [example=no expires=no headers=no ] [imap=yes include=yes info=no ] [log_agent=no log_config=yes log_referer=no ] [mime=yes mime_magic=no mmap_static=no ] [negotiation=yes proxy=no rewrite=no ] [setenvif=yes so=no speling=no ] [status=yes unique_id=no userdir=yes ] [usertrack=no vhost_alias=no ]For example:
./configure --prefix=/home/httpd --enable-module=speling --disable-module=userdirIf you wish to build a particular module as a shared object you can use the
--enable-shared
option. For example:./configure --prefix=/usr/local/apache --enable-module=rewrite --enable-shared=rewriteTo compile and enable a module that is not part of the standard Apache
distribution, you can use the--add-module
and
--activate-module
options. For example:./configure --prefix=/usr/local/apache --add-module=/home/rbowen/mods/mod_mine.cManually Tweaking Your
ConfigurationAs I mentioned in my last column, there are two ways to configure your
Apache build. There's the method describe above, and then there's the
"old-fashioned" manual process. In thesrc/
subdirectory
is a script calledConfigure
(big C), which uses a file called
Configuration
to configure your build. A sample
Configuration
file, calledConfiguation.tmpl
, comes
with Apache. And when you runconfigure
(small c), a configuration
file calledConfiguration.apaci
is generated, and is then used by
Configure
(big C) to configure the build.