How to become a mirror for the Apache Software Foundation

The Apache Software Foundation has mirror sites from all around the world, but we are always looking for more reliable and well connected sites that can help us distribute our software. We no longer encourage mirrors for the various Apache Software Foundation websites, since they have become too complicated to be easily replicated. Instead, we request mirrors that can aid in distributing the software itself by mirroring our main software distribution directory.

At the moment we have enough (50+) mirrors in the USA.

Requirements

We have a few requirements for those wishing to run a mirror:

  • At least 40 GB of available disk space. The current distribution directory is around 32 GB, but we wish to leave room for considerable expansion.
  • You must carry the complete site, with no local changes - particularly HEADER.html and README.html files must not be altered or removed ; see below for adding sponsor information.
  • Your mirror must not be shown "inside" another site using, for instance, frames.
  • You must do an update-check at least once a day and preferably between 2 and 4 times per day.
  • You must subscribe to the mailing list for mirror maintainers (see below ).

In addition, we require that you run the Apache HTTP Server version 1.3.26 or 2.0.43 or later and use the following configuration for your web mirror to allow all the features of our download site to function optimally:

Apache HTTP Server Configuration
<Directory /path/to/mirror>
  IndexOptions FancyIndexing NameWidth=* FoldersFirst ScanHTMLTitles DescriptionWidth=*
  HeaderName HEADER.html
  ReadmeName README.html
  AllowOverride FileInfo Indexes
  Options Indexes SymLinksIfOwnerMatch
  ErrorDocument 404 default
</Directory>

We do add ftp mirrors to our list, but we much prefer http mirrors and we select only http mirrors as "preferred" mirrors.

Mirroring Techniques

We only support rsync for updating mirrors.

You can find details on rsync at http://rsync.samba.org/. Update your mirror with :

rsync -avz --delete --safe-links rsync.apache.org::apache-dist /path/to/mirror

If your mirror is in or near Europe, please replace rsync.apache.org with rsync.eu.apache.org in the above line.

If your mirror is in or near North America, please replace rsync.apache.org with rsync.us.apache.org in the above line.

If there is a problem with file/directory permissions, make sure you use a proper umask in your cronjob :

umask 022 ; rsync ...

You can add sponsor information (only) as follows :

  • edit the file /local/path/to/mirror/README.html
  • add to your rsync options --exclude "/README.html"

The contents of README.html will appear near the bottom of your mirror's home page.

Please note that only the home-page (top-level) README.html may be customized in this way; all other README.html files must be mirrored unchanged. Don't omit the '/' in "/README.html".

It has been noted that certain sites redirect 404 pages as a form of extra advertising or traffic booster. We will remove mirrors that do this from our list and then send an email to the maintainers address. The top level /README.html file as mentioned above is the ONLY local alteration of any part of the mirror we accept for you to provide Sponsor Information.

Inform us!

Once the site is configured, tested, and updating consistently, you should subscribe to the mirror maintainers mailing list by sending mail to "mirrors-subscribe@apache.org".

Then you can provide us with details of your mirror by submitting them to our Issue Tracker. You'll need to sign up for an account, then create a new issue in project "Infrastructure" with component "Mirrors".

Please include the following information in the Description field:

  • URL of mirror
  • Country where the mirror is located
  • Contact email address
  • Update frequency
  • Rsync repository used
  • Approximate bandwidth
  • At the moment, I rsync from the IP address : (your ip address here)
  • I have configured my HTTP server as requested (yes/no)
  • I have subscribed to the mirror maintainers mailing list (yes/no)

We only use the IP to check the logs before we add the mirror to the list. If/when your mirror is in the list, you can change the IP of the mirror without notifying us.

Thanks!