Prerequirements

General

The file tree to be served needs to be accessible locally by the Apache that runs mod_mirrorbrain. (See the FAQ as well as Creating a file tree.)

The hardware needs are mediocre; MirrorBrain needs few resources.

Apache

A recent enough version of the Apache HTTP server is required. 2.2.6 or later should be used. In addition, the apr-util library should be 1.3.0 or newer, or at least a not-too-old 1.2.x release. This is because the DBD database pool functionality was developed mainly around 2006 and 2007, and reached production quality at the time. This will mean that you have to upgrade Apache when installing on an oldish enterprise platform.

Status of Apache version on individual platforms

openSUSE/SLE
Sufficiently new, since openSUSE 11.0 and SLE11. SLE11 does not ship the required PostgreSQL database adapter. The one from openSUSE 11.1 would work. Current and stable Apache for openSUSE/SLE can always be found here: http://download.opensuse.org/repositories/Apache/
CentOS 5/RHEL
Ancient Apache. It might work or not – you might need to get a newer one. Feedback would be appreciated!
Debian
The Apache in Lenny (or newer) is fine. The version in Etch was too old.
Ubuntu
Apache is new enough and known to work at least since 9.04.
Arch Linux
Has a new enough Apache.
Gentoo
Has a new enough Apache.

Frontend (mod_mirrorbrain, the redirector)

Database

  • PostgreSQL

  • mod_mirrorbrain, the core of MirrorBrain, is not really bound to a particular database; you could use MySQL just as well, SQLite, or Oracle - everything that the Apache DBD API has a driver for. The admin framework and tool set however is currently provided for PostgreSQL only. Therefore, it doesn’t make sense to use a different database, unless you are prepared to extend MirrorBrain, or have a special setup in mind (like, integrating MirrorBrain with some existing database).

  • mod_asn is optional, and needed only for refined mirror selection and full exploitation of network locality. It works only with PostgreSQL as database. It needs a data type for PostgreSQL called “ip4r” that needs to be installed additionally.

    The question whether you should (or should not) extend MirrorBrain with mod_asn is discussed in the section Installing mod_asn.

    If you intend to install it, confer to its documentation and its prerequirements).

Python and Perl modules

The toolset for database maintenance needs Python (an old 2.4.x is sufficient) and the following Python modules:

  • cmdln
  • sqlobject
  • psycopg2

The following Perl modules are required:

  • Config::IniFiles
  • libwww::perl
  • DBD::Pg
  • Digest::MD4
  • Date::Parse

(If you install MirrorBrain in pre-packaged form, all these requirements should automatically be met.)

The following sections will guide you through installing the various components.