Setting up a web archive with Archiveopteryx

Note: This functionality was removed in Archiveopteryx 3.1.3, due to lack of maintenance and use. Contact if you want to use it.

The rest of this web page has been preserved, but we'll remove most links that point here.

This page explains how to use Archiveopteryx to make an existing mailing list archive accessible on the web, and keep it up-to-date with new list traffic.

Install Archiveopteryx

Download and install the latest release of Archiveopteryx, as explained in the installation guide. Start the servers with aox start.

Put mail into the database

Start by creating a mailbox to store the archived mail:

cd /usr/local/archiveopteryx bin/aox add mailbox /archives/example

Next, use aoximport to import existing archives into this mailbox (mbox, mh, cyrus, and maildir mailboxes are supported):

bin/aoximport -v /archives/example mbox example-*.mbox

To keep the database up to date with new mail, you can create an alias that delivers to the archive mailbox, and subscribe it to the list:

bin/aox add alias /archives/example

You will need to configure your MTA (e.g. Postfix or Exim) to deliver mail to to Archiveopteryx via LMTP.

You can also use a Sieve script to deliver some messages to the archive mailbox, or even use deliver(8) from a .forward or aliases file.

Enable public web access

First, you must create an anonymous user and grant them read-only access to your archive mailbox(es):

bin/aox add user anonymous anonymous bin/aox setacl /archives/example anonymous lr

Next, configure Archiveopteryx to allow web access by adding the following to archiveopteryx.conf and restarting the server:

use-http = true http-address = http-port = 8808 use-web-archive = true

If you want to enable HTTPS for access to the archive, set the use-https, https-address, and https-port configuration variables. If you want to always require HTTPS, you can set allow-plaintext-access to never.

Your archives in general will now be accessible at, and the /archives/example mailbox will be at

Cooperating with Apache

If you're already running Apache, you can use mod_proxy to integrate Archiveopteryx into your existing server's namespace using something like this in a VirtualHost section:

ProxyRequests Off ProxyPass / ProxyPassReverse /

In this case, you can leave http-address at its default value of, since Archiveopteryx will see requests only when they're proxied through Apache. (This is the configuration we recommend.)

The archive-prefix configuration parameter controls where in the URL namespace archive mailboxes may appear. It is empty by default, so interprets "/archives/example" as the name of a mailbox. If you set it to, say, "/foo", then your URLs will look like (You will need to adjust Apache's ProxyPass directives to suit.)


If you have any questions, please write to

Relevant links

About this page

Last modified: 2010-11-19