Apache Guide: Configuring Your Apache Server Installation Page 2
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/logand 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-moduleand--disable-moduledirectives.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-sharedoption. 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-moduleand--activate-moduleoptions. For example:./configure --prefix=/usr/local/apache --add-module=/home/rbowen/mods/mod_mine.cManually Tweaking Your Configuration
As 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 the
src/subdirectory is a script calledConfigure(big C), which uses a file calledConfigurationto configure your build. A sampleConfigurationfile, calledConfiguation.tmpl, comes with Apache. And when you runconfigure(small c), a configuration file calledConfiguration.apaciis generated, and is then used byConfigure(big C) to configure the build.

