GuidesApache Guide: Configuring Your Apache Server Installation Page 2

Apache Guide: Configuring Your Apache Server Installation Page 2

ServerWatch content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More.

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.

Get the Free Newsletter!

Subscribe to Daily Tech Insider for top news, trends & analysis

Latest Posts

Related Stories