<?xml version="1.0" encoding="UTF-8" standalone="yes"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-us"><id>https://blog.pgxn.org/tags/httpd/</id><title>HTTPD</title><updated>2010-08-13T23:45:00Z</updated><link rel="self" type="application/atom+xml" href="https://blog.pgxn.org/tags/httpd/feed.xml"/><link rel="alternate" type="text/html" href="https://blog.pgxn.org/tags/httpd/"/><author><name>The PGXN Maintainers</name></author><generator uri="https://gohugo.io/" version="0.167.0">Hugo</generator><entry><id>https://blog.pgxn.org/post/949562598</id><title type="html">Start Your Mirrors!</title><link rel="alternate" type="text/html" href="https://blog.pgxn.org/2010/start-your-mirrors/"/><updated>2026-10-07T16:13:48Z</updated><published>2010-08-13T23:45:00Z</published><author><name>David E. Wheeler</name></author><category scheme="https://blog.pgxn.org/tags" term="getting-started" label="Getting Started"/><category scheme="https://blog.pgxn.org/tags" term="jfdi" label="JFDI"/><category scheme="https://blog.pgxn.org/tags" term="mirror" label="Mirror"/><category scheme="https://blog.pgxn.org/tags" term="progress" label="Progress"/><category scheme="https://blog.pgxn.org/tags" term="rsync" label="rsync"/><category scheme="https://blog.pgxn.org/tags" term="httpd" label="HTTPD"/><summary type="html"><![CDATA[<p>Work has finally started. We now have <a href="https://pgxn.org/mirroring.html">mirroring</a>. This was the first task for
the project, and it&rsquo;s now checked off on the <a href="https://pgxn.org/status.html">status</a> page. Hurrah!</p>
<p>This turned out to be a pretty simple task, of course. For now I&rsquo;m using the
<a href="https://www.kineticode.com/">Kineticode</a> (my other employer) server to host both the <a href="https://www.pgxn.org/">PGXN site</a> and the
master mirror. This is temporary, just a way to get things up and going as
quickly as possible. The master mirror runs <code>rsyncd</code> with read-only access to
the <code>pgxn</code> path. So all you have to do to mirror it is set up a <code>cron</code> job
like:</p>]]></summary><content type="html" xml:base="https://blog.pgxn.org/" xml:space="preserve"><![CDATA[<p>Work has finally started. We now have <a href="https://pgxn.org/mirroring.html">mirroring</a>. This was the first task for
the project, and it&rsquo;s now checked off on the <a href="https://pgxn.org/status.html">status</a> page. Hurrah!</p>
<p>This turned out to be a pretty simple task, of course. For now I&rsquo;m using the
<a href="https://www.kineticode.com/">Kineticode</a> (my other employer) server to host both the <a href="https://www.pgxn.org/">PGXN site</a> and the
master mirror. This is temporary, just a way to get things up and going as
quickly as possible. The master mirror runs <code>rsyncd</code> with read-only access to
the <code>pgxn</code> path. So all you have to do to mirror it is set up a <code>cron</code> job
like:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sh" data-lang="sh"><span class="line"><span class="cl">rsync -az --delete rsync://master.pgxn.org/pgxn /path/to/pgxn
</span></span></code></pre></div><p>If the destination directory is under an HTTP root, you&rsquo;re done. Otherwise,
throw a web server over it and <em>then</em> you&rsquo;re done.</p>
<p>Of course, the web server isn&rsquo;t really necessary yet. Soon it will be the
interface for downloading distributions and metadata from the mirrors. Right
now, the mirrors just have two files in them (a <code>README</code> and an <code>index.html</code>).
This is just the start of things. The next step is to figure out the directory
structure for the mirrors. I&rsquo;m working on that right now and will soon be
asking for feedback. Watch this space for details!</p>
]]></content></entry></feed>