Software Requirements

There are no special software requirements for deploying the Apache HTTP server as a CRL distribution point beyond installing the web server itself.

On Debian Squeeze this can be done with a simple:

? root
$ apt-get install apache2

Setting-up the Virtual Host for CRL's

While it may not be necessary, it's almost always useful (and really a very minimal hassle) to set-up sites served by the Apache HTTP server as virtual hosts, even if only a single site is being served.

The set-up is quite simple and straightforward. For the sake of this guide we'll be replacing the default virtual host provided by the Apache HTTP server package. Exchange the entire contents of the file with the following:

# /etc/apache2/sites-available/default
----BEGIN----
<VirtualHost *:80>
        # Basic server information
        ServerAdmin webmaster@example.com
        ServerName crl.example.com

        # Set-up serving directory
        DocumentRoot /var/www/crl.example.com
        <Directory /var/www/crl.example.com/>
                Options Indexes
                AllowOverride None
        </Directory>

        # Setup logs
        LogLevel warn
        ErrorLog /var/log/apache2/crl.example.com/error.log
        CustomLog /var/log/apache2/crl.example.com/access.log combined
</VirtualHost>
-----END-----

It's also necessary to create the directory which will be the root of installation:

? root
$ mkdir /var/www/crl.example.com/

Reloading the Apache Configuration

Before the configuration is applied, it is necessary to set-up the directory which will contain the log files for the virtual host:

? root
$ mkdir /var/log/apache2/crl.example.com/
$ chown root.adm /var/log/apache2/crl.example.com/
$ chmod 750 /var/log/apache2/crl.example.com/

Now reload the configuration:

? root
$ service apache2 reload

Verify that webserver is now up and running and serving content at:

@ http://crl.example.com/

You should see an empty listing at this time. What's left is to set-up the sending of CRL's to the web server.