The hardware needs are mediocre; MirrorBrain needs few resources.
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¶
- 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!
- The Apache in Lenny (or newer) is fine. The version in Etch was too old.
- Apache is new enough and known to work at least since 9.04.
- Arch Linux
- Has a new enough Apache.
- Has a new enough Apache.
Frontend (mod_mirrorbrain, the redirector)¶
- if geographical mirror selection is going to be used, mod_geoip and libGeoIP are required.
- If mod_geoip is used, it needs to be version 1.2.0 or newer. See http://mirrorbrain.org/issues/issue16
- if you want to compile with the optional memcache support (there should not be reason for it, though), you would need libapr_memcache, mod_memcache, memcache daemon
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.
Python and Perl modules¶
The toolset for database maintenance needs Python (an old 2.4.x is sufficient) and the following Python modules:
The following Perl modules are required:
(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.