This is a step-by-step guide that shows what I have done to make Ant's releases mirrorable. The process should be the same for other Jakarta and XML projects, but if I have missed something, please tell me (and maybe submit a patch to this page).
/www/www.apache.org/dist/jakarta/your-project as well as
/binaries. Maybe you need platform specific subdirectories under the
binariesdirectory as well.
/www/www.apache.org/dist/jakarta/your-project as described in http://www.apache.org/dev/mirrors.html
/www/www.apache.org/dist/jakarta/.htaccess. There may be more than one.
/as well as the subdirectories to ensure everything looks the way you want it to be.
.htaccessfile inside the "old" download directory for your-project. The contents are too dependent on your former release directory layout to give hard rules here. As an example, Ant's 1.5.1 release directory was
/builds/jakarta-ant/release/v1.5.1and had subdirectories
/www/jakarta.apache.org/builds/jakarta-ant/release/now looks like this:
Redirect Permanent /builds/jakarta-ant/release/KEYS http://www.apache.org/dist/ant/KEYS Redirect Permanent /builds/ant/release/KEYS http://www.apache.org/dist/ant/KEYS Redirect /builds/jakarta-ant/release/v1.5.1/src http://www.apache.org/dist/ant/source Redirect /builds/jakarta-ant/release/v1.5.1/bin http://www.apache.org/dist/ant/binaries Redirect /builds/jakarta-ant/release/v1.5.1/rpms http://www.apache.org/dist/ant/binaries/rpms Redirect /builds/jakarta-ant/release/v1.5.1 http://www.apache.org/dist/ant Redirect /builds/ant/release/v1.5.1/src http://www.apache.org/dist/ant/source Redirect /builds/ant/release/v1.5.1/bin http://www.apache.org/dist/ant/binaries Redirect /builds/ant/release/v1.5.1/rpms http://www.apache.org/dist/ant/binaries/rpms Redirect /builds/ant/release/v1.5.1 http://www.apache.org/dist/ant
log-analyzer-daily.pland send it to Vadim Gritsenko (vgritsenko at apache dot org) so that your project doesn't get dropped from his statistics pages http://www.apache.org/~vgritsenko/stats/daily.html.
If your-project is a Jakarta project and has no
download pages of its own, all you need to do is to add a link to
the "Using a mirror" list under "Release" on
/xdocs/site/sourceindex.xml in the jakarta-site2
module, regenerate the HTML pages and commit everything. For the
links you'd simply replace
[preferred] in your download URL.
If you want something more sophisticated (or simply have download pages of your own or are not under the Jakarta umbrella), read on.
The old way to send people to the mirrors has been a link to
where virtual-path would be replaced by your download URL
http://www.apache.org/dist. This still works
but has the drawbacks that you don't have control over the layout
of that page and that users may use the signatures found on the
mirrors to verify the releases instead of picking them up from
To solve the layout problem, Justin Erenkrantz (and others?)
parses a template and replaces certain
with something useful. To write and use a template of your own,
you currently need to do three things.
.cgi) to your site. This script must look like this:
#!/bin/sh # Wrapper script around mirrors.cgi script # (we must change to that directory in order for python to pick up the # python includes correctly) cd /www/www.apache.org/dyn/mirrors /www/www.apache.org/dyn/mirrors/mirrors.cgi $*Well, you could probably trim the comments. Ensure that the checked out file on minotaur is executable and has Unix line-ends. CVS will translate the line-ends for you while Subversion in general will not (unless you tell it).
mirrors.cgiwhere to find your template. To do so, you need to add a line to
/docs/dyn/mirrors/mirrors.confin the site module (in https://svn.apache.org/repos/asf/infrastructure/site/trunk/) This file is under SVN control, don't edit the checked out copy on minotaur directly. If there is no section for your virtual host, add it. Next add the virtual path to your CGI script from above (replacing
-) as key and the full physical path of your template as value. You will need commit access to the site module to do this (all ASF members have) - if you don't have karma for it, send a patch to
infrastructure at apache.
After updating both
/www/www.apache.org/dyn/mirrors/mirrors.conf and your
site, your new download page should show up, when you access your
Old releases should be copied to http://archive.apache.org/dist/
- simply follow the same directory layout that your distribution
under www.apache.org uses. You find the site in
/www/archive.apache.org on minotaur.
Once you start distributing via www.apache.org you can forget carying for your old releases as archive.apache.org will automatically archive everything that has been on www.apache.org.