GuidesApache Guide: Configuring Your Apache Server Installation Page 2

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

        cd /var/log
        ln -s /usr/local/apache/logs httpd

This 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=userdir

If 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=rewrite

To 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.c

Manually Tweaking Your

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 called Configure (big C), which uses a file called
Configuration to configure your build. A sample
Configuration file, called Configuation.tmpl, comes
with Apache. And when you run configure (small c), a configuration
file called Configuration.apaci is generated, and is then used by
Configure (big C) to configure the build.

Latest Posts

Related Stories