xemacsweb / Download / how-to-mirror-web.content

%title%
How to become a mirror of the XEmacs web site
%author%
the Apache group
Andrew J Cosgriff
%main%

  <h1>How to Become a Mirror of the XEmacs Web Site</h1>

  <p>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.</p>

  <h2>Requirements</h2>

  <p>We have a few requirements for those wishing to run a mirror:</p>

  <ul>
    <li><p>You must carry the complete site, with no "local"
        changes.</p></li>

    <li><p>You must do an update-check at least once per day.</p></li>

    <li><p>You must subscribe to the
        <a href="http://lists.xemacs.org/lists/listinfo/xemacs-mirrors">mailing
          list</a> for mirror maintainers.</p></li>

    <li><p>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 :</p>
      
      <p><code>DirectoryIndex index.html</code>.</p></li>

    <li><p>Please create an account on the <a
	  href="http://tracker.xemacs.org/">XEmacs issue
	  tracker</a>.  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.)</p></li>
  </ul>

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

  <p>Also note that :</p>

  <ul>
    <li><p>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 <a href="mailto:webmaster@xemacs.org">webmaster</a>.)</p></li>

    <li><p>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.</p></li>

    <li><p>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.</p></li>
  </ul>

  <h2>Mirroring Techniques</h2>

  <p>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:</p>

  <ol>

    <li><p>Use rsync.  You can find details on rsync at
        <a href="http://rsync.samba.org/">http://rsync.samba.org/</a>.
        To mirror the XEmacs website, you could use something like :</p>

      <pre xml:space="preserve">rsync -avz --delete rsync.xemacs.org::xemacsweb /local/path/to/mirror</pre>

      <p>You can also just do a <code>rsync rsync.xemacs.org::</code> to get a
        list of rsync modules available.</p></li>

    <li>
      <p>
        Use Mercurial to update your copy of the website from the repository
        at <a href="https://bitbucket.org/xemacs/xemacsweb/">https://bitbucket.org/xemacs/xemacsweb/</a>.
        See <strong>XEmacs Website Mercurial Repository</strong> in <a
        href="../About/Website.html#XWCR">XEmacs Website Mercurial
        Repository</a> 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.</p>

      <p>When you want to update the website :</p>

      <pre xml:space="preserve"><strong>cd /path/to/your/mirror</strong>
<strong>cvs -q update</strong>
<strong>make</strong></pre>

      <p>(this can be put in a cron job, for instance)</p>
    </li>


    <li><p>If you're running the Apache webserver, you could
        use the <a href="http://httpd.apache.org/docs/mod/mod_proxy.html"
          >proxy module</a>
        to "pass-through" requests to the central XEmacs web site.  Set up the
        following in the configuration for your mirror:</p>

      <pre xml:space="preserve">
ProxyPass / http://www.xemacs.org/
CacheDefaultExpire 24
      </pre>

      <p>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.</p></li>

  </ol>

  <p>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.</p>

  <p>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.</p>

  <h2>Inform us!</h2>

  <p>Once the site is set up, send mail to
    <a href="mailto:webmaster@xemacs.org">webmaster@xemacs.org</a>
    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.</p>

  <p>The mailing list for mirror maintainers can be joined by following
    <a href="http://lists.xemacs.org/lists/listinfo/xemacs-mirrors">these
      instructions</a>.</p>

  <p>Good luck!</p>

  <p><small>This document is a locally modified version of the one at the
      <a href="http://www.apache.org/info/how-to-mirror.html">Apache</a>
      web site.  We appreciate their work in writing such a document in the
      first place.</small></p>

  <!-- Keep this comment at the end of the file
  Local variables:
  mode: xml
  sgml-omittag:nil
  sgml-shorttag:nil
  sgml-namecase-general:nil
  sgml-general-insert-case:lower
  sgml-minimize-attributes:nil
  sgml-always-quote-attributes:t
  sgml-indent-step:2
  sgml-indent-data:t
  sgml-parent-document:("../template.html" "html" "body" "table" "tr" "td")
  sgml-exposed-tags:nil
  sgml-local-catalogs:nil
  sgml-local-ecat-files:nil
  End:
  -->
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.