XEmacs -- Emacs: The Next Generation
     Searching XEmacs
Quick Links About XEmacs Getting XEmacs Customizing XEmacs Troubleshooting XEmacs Developing XEmacs

How to Become a Mirror of the XEmacs Web Site

If you are in a part of the world which seems poorly served by our existing mirror sites, we would encourage you to set up a local mirror of the www.xemacs.org web site for you and others in your part of the world to use. So that others may find it, we'll list it on the left-hand sidebar of our web pages.


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

  • You must carry the complete site, with no "local" changes.

  • You must do an update-check at least once per day.

  • You must subscribe to the mailing list for mirror maintainers.

  • Make sure your webserver looks for "index.html" as the default document in a directory - If you're running the Apache webserver, this means using the configuration directive :

    DirectoryIndex index.html.

  • Please create an account on the XEmacs issue tracker. Use the contact address you supplied when you registered your mirror. Then set up and save a personal search for Module: "website" and All text: YOUR_SITE_ADDRESS, which will allow you to find any issues concerning your site quickly. (The tracker may become our primary way to communicate with mirror administrators in the future.)

More requirements may be placed at some point in the future, but for now that's all there is.

Also note that :

  • The web site iself is approximately 50MB at the time of writing (May 2008), and perhaps 120MB with all CVS sources and build products. (If these estimates are wildly wrong for you, please inform the webmaster.)

  • We highly recommend that you run your mirroring software between midnight and 4am US Eastern Standard Time (4am-8am GMT), when traffic to www.xemacs.org is at its lowest.

  • If possible, we'd prefer that you're able to have the website in its own virtual host so that we can make a host alias for it, like www.au.xemacs.org or www.us.xemacs.org, for instance.

Mirroring Techniques

There are a couple different ways to mirror the XEmacs web site. Here is the list of ways we make available, in order of decreasing preference:

  1. Use rsync. You can find details on rsync at http://rsync.samba.org/. To mirror the XEmacs website, you could use something like :

    rsync -avz --delete rsync.xemacs.org::xemacsweb /local/path/to/mirror

    You can also just do a rsync rsync.xemacs.org:: to get a list of rsync modules available.

  2. Use Mercurial to update your copy of the website from the repository at https://bitbucket.org/xemacs/xemacsweb/. See XEmacs Website Mercurial Repository in XEmacs Website Mercurial Repository for details. You'll need Perl installed in order to generate the web pages. If you want to be able to validate the web pages, you'll also need to install XEmacs with the PSGML package.

    When you want to update the website :

    cd /path/to/your/mirror
    cvs -q update

    (this can be put in a cron job, for instance)

  3. If you're running the Apache webserver, you could use the proxy module to "pass-through" requests to the central XEmacs web site. Set up the following in the configuration for your mirror:

    ProxyPass / http://www.xemacs.org/
    CacheDefaultExpire 24

    Every request which then comes into this server will be passed along to www.xemacs.org, unless the object is already in your local cache and is less than 24 hours old.

We do not recommend the use of Web spiders, or HTTP equivalents to the "mirror.pl" package, as every object needs to get a HEAD request every time it is checked, which is a very inefficient mechanism for seeing what's been updated on an entire site.

It is not possible to mirror via ftp. The other methods are also far more efficient so you will be pleased after setting them up.

Inform us!

Once the site is set up, send mail to webmaster@xemacs.org to let us know it's been set up, and we'll add it to the list of mirrors. Please be patient if it takes a little while to respond.

The mailing list for mirror maintainers can be joined by following these instructions.

Good luck!

This document is a locally modified version of the one at the Apache web site. We appreciate their work in writing such a document in the first place.


Conform with <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Automatically validated by PSGML