Annotation of htdocs/docs/mirror.html, Revision 1.68
1.22 jym 1: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
1.1 dsieger 2: <html>
3: <head>
4: <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5: <meta name="generator" content="Website XSL Stylesheet V2.6.0">
6: <link rel="home" href="../." title="Welcome to The NetBSD Project: Of course it runs NetBSD.">
7: <link rel="up" href="../docs/." title="NetBSD Documentation">
8: <link rel="previous" href="../docs/kernel/." title="NetBSD Documentation: Kernel">
9: <link rel="next" href="../docs/misc/." title="NetBSD Documentation: Other FAQs and HOWTOs">
10: <link rel="first" href="../docs/Hardware/." title="Hardware Documentation">
11: <link rel="last" href="../docs/x/." title="NetBSD Documentation: The X Window System">
1.10 dsieger 12: <link rel="stylesheet" href="../global.css" type="text/css">
1.67 maya 13: <link rel="stylesheet" href="../donations/thermo/fundraiser.css" type="text/css">
1.1 dsieger 14:
15:
16:
17:
1.17 mbalmer 18:
1.1 dsieger 19: <title>NetBSD Mirror FAQ</title>
20: </head>
1.68 ! maya 21: <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">
1.1 dsieger 22: <body class="website"><div class="webpage">
1.59 maya 23: <a name="docs-mirror"></a><div id="top"><a href="#mainContent" id="skiplink" tabindex="1">Skip to main content.</a></div>
1.68 ! maya 24: <input id="hamburger" type="checkbox"><label class="menuicon" for="hamburger"><span></span><span></span><span></span></label><div id="navBar" role="navigation">
1.41 maya 25: <div id="centralHeader"><div id="logo">
1.68 ! maya 26: <a href="../"><img alt="[NetBSD Logo]" width="90px" height="90px" src="../images/NetBSD-smaller.png"></a><a href="/"><div id="fundraiser">
1.67 maya 27: <br><div id="fundraiser-amount"><div id="fundraiser-raised"></div></div>
28: </div></a>
1.41 maya 29: </div></div>
1.6 dsieger 30: <span class="doNotDisplay">
31: Navigation:
1.22 jym 32: </span><ul>
33: <li><a href="../">
34: Home</a></li>
35: <li>
36: <a href="../">
1.25 wiz 37: News & Media</a><ul>
1.22 jym 38: <li><a href="../changes/">
39: Recent changes</a></li>
1.44 maya 40: <li><a href="//blog.NetBSD.org/">
1.22 jym 41: NetBSD blog</a></li>
1.65 maya 42: <li><a href="../gallery/presentations/">
43: Presentations</a></li>
1.22 jym 44: </ul>
45: </li>
46: <li>
47: <a href="../about/">
48: About</a><ul>
49: <li><a href="../about/">
50: NetBSD</a></li>
1.53 maya 51: <li><a href="../people/developers.html">
52: NetBSD developers</a></li>
1.22 jym 53: <li><a href="../gallery/">
1.62 leot 54: Gallery</a></li>
1.22 jym 55: </ul>
56: </li>
57: <li>
58: <a href="../docs/">
59: Documentation</a><ul>
60: <li><a href="../docs/misc/index.html">
61: FAQ & HOWTOs</a></li>
62: <li><a href="../docs/guide/en/">
63: The Guide</a></li>
1.63 reed 64: <li><a href="https://man.NetBSD.org/">
1.22 jym 65: Manual pages</a></li>
1.44 maya 66: <li><a href="//wiki.NetBSD.org/">
1.22 jym 67: Wiki</a></li>
68: </ul>
69: </li>
70: <li>
71: <a href="../support/">
72: Support</a><ul>
73: <li><a href="../support/send-pr.html">
74: Problem report guide</a></li>
75: <li><a href="../cgi-bin/sendpr.cgi?gndb=netbsd">
76: Report a bug</a></li>
77: <li><a href="../support/query-pr.html">
78: Query bug database</a></li>
79: <li><a href="../support/security/">
80: Security</a></li>
81: </ul>
82: </li>
83: <li>
84: <a href="../community/">
85: Community</a><ul>
86: <li><a href="../mailinglists/">
87: Mailing lists</a></li>
1.44 maya 88: <li><a href="//mail-index.NetBSD.org/">
1.22 jym 89: List archives</a></li>
90: </ul>
91: </li>
92: <li>
93: <a href="../developers/">
94: Developers</a><ul>
1.47 maya 95: <li><a href="http://cvsweb.NetBSD.org/">
1.22 jym 96: Browse source</a></li>
1.44 maya 97: <li><a href="//nxr.NetBSD.org/">
1.22 jym 98: Cross-reference</a></li>
1.44 maya 99: <li><a href="//releng.NetBSD.org/">
1.22 jym 100: Release engineering</a></li>
1.44 maya 101: <li><a href="//wiki.NetBSD.org/projects/">
1.22 jym 102: Projects list</a></li>
103: </ul>
104: </li>
105: <li>
106: <a href="../ports/">
107: Ports</a><ul>
108: <li><a href="../ports/history.html">
109: History</a></li>
110: <li><a href="../ports/emulators.html">
111: Emulators</a></li>
112: </ul>
113: </li>
114: <li>
1.44 maya 115: <a href="//www.pkgsrc.org/">
1.22 jym 116: Packages</a><ul>
1.45 maya 117: <li><a href="http://www.pkgsrc.se/">
1.22 jym 118: Browse packages</a></li>
1.44 maya 119: <li><a href="//releng.NetBSD.org/index-pkgsrc.html">
1.22 jym 120: Release engineering</a></li>
121: </ul>
122: </li>
123: </ul>
1.3 dsieger 124: </div>
1.58 maya 125: <div id="content"><div id="mainContent" class="fullWidth"><div class="rowOfBoxes">
1.3 dsieger 126: <h1>NetBSD Mirror FAQ</h1>
1.1 dsieger 127: <h3 class="title"><a name="ftp-mirror">FTP and ISO Mirror FAQ</a></h3>
128: <ul>
129: <li><a href="#ftp-overview">Overview for setting up a NetBSD FTP/ISO Mirror</a></li>
130: <li><a href="#ftp-diskspace">How much disk space is needed for an FTP/ISO mirror?</a></li>
131: <li><a href="#ftp-bandwidth">How much bandwidth does offering an FTP/ISO mirror require?</a></li>
132: <li><a href="#ftp-retrieve-sync">Retrieving/Syncing a copy of the NetBSD FTP site
133: and ISO images area</a></li>
134: <li><a href="#ftp-notes">Notes about a NetBSD FTP/ISO mirror</a></li>
135: <li><a href="#ftp-outage">Where should an outage be announced</a></li>
136: <li><a href="#ftp-contactinfo">Contact information format for FTP/ISO mirrors</a></li>
137: <li><a href="#ftp-cname">How to get (ftp|iso).country-code.NetBSD.org</a></li>
138: <li><a href="#ftp-teardown">If you can no longer provide a FTP/ISO mirror</a></li>
139: </ul>
140: <h3 class="title"><a name="bitorrent">BitTorrent Mirror FAQ</a></h3>
141: <ul>
142: <li><a href="#bittorrent-what">Bit-what?</a></li>
143: <li><a href="#bittorrent-overview">Overview for setting up a NetBSD Bittorrent Mirror</a></li>
144: <li><a href="#bittorrent-contactinfo">Contact information format for BitTorrent mirrors</a></li>
145: </ul>
146: <h3 class="title"><a name="www">WWW Mirror FAQ</a></h3>
147: <ul>
148: <li><a href="#www-overview">Overview for setting up a NetBSD WWW Mirror</a></li>
149: <li><a href="#www-diskspace">How much disk space is needed for a WWW mirror?</a></li>
150: <li><a href="#www-retrieve">Retrieving a copy of the NetBSD WWW site</a></li>
151: <li><a href="#www-sync">Syncing the NetBSD WWW site contents</a></li>
152: <li><a href="#www-fetch">What is the purpose of htdocs/mirrors/fetch.html</a></li>
153: <li><a href="#www-http-1.0">Ensuring HTTP/1.0 clients get the right page</a></li>
154: <li><a href="#www-contactinfo">Contact information format for WWW mirrors</a></li>
155: <li><a href="#www-cname">How to get www.country-code.NetBSD.org</a></li>
156: <li><a href="#www-teardown">If you can no longer provide a WWW mirror</a></li>
157: </ul>
158: <h3 class="title"><a name="cvsweb">CVSweb Mirror FAQ</a></h3>
159: <ul>
160: <li><a href="#cvsweb-overview">Overview for setting up a NetBSD CVSweb Mirror</a></li>
161: <li><a href="#cvsweb-diskspace">How much disk space is needed for a CVSweb mirror?</a></li>
162: <li><a href="#cvsweb-retrieve">Retrieving a copy of the NetBSD CVS tree</a></li>
163: <li><a href="#cvsweb-sync">Syncing the NetBSD CVS tree contents</a></li>
164: <li><a href="#cvsweb-cgi">How to setup the cvsweb CGI script</a></li>
165: <li><a href="#cvsweb-http-1.0">Ensuring HTTP/1.0 clients get the right page</a></li>
166: <li><a href="#cvsweb-contactinfo">Contact information format for CVSweb mirrors</a></li>
167: <li><a href="#cvsweb-cname">How to get cvsweb.country-code.NetBSD.org</a></li>
168: <li><a href="#cvsweb-teardown">If you can no longer provide a CVSweb mirror</a></li>
169: </ul>
170: <hr>
171: <h3 class="title">FTP and ISO Mirror FAQ</h3>
172: <h4 class="title">
1.54 maya 173: <a name="ftp-overview"></a>Overview for setting up a NetBSD FTP/ISO Mirror</h4>
1.1 dsieger 174:
175: <p>The basic steps for setting up a NetBSD FTP or ISO Mirror
176: are:</p>
177:
1.17 mbalmer 178: <div class="orderedlist"><ol class="orderedlist" type="1">
179: <li class="listitem">Prepare disk space. See "<a class="ulink" href="#ftp-diskspace" target="_top">How much disk space is needed
180: for an FTP/ISO mirror</a>"
1.1 dsieger 181: entry below for information on amount of space
182: required.</li>
1.17 mbalmer 183: <li class="listitem">Retrieve a copy of the NetBSD FTP site
1.1 dsieger 184: contents</li>
1.17 mbalmer 185: <li class="listitem">Set things up to synchronize the contents of your
1.1 dsieger 186: mirror with <code class="code">ftp.NetBSD.org</code>.</li>
1.17 mbalmer 187: <li class="listitem">Send in the information about your mirror to
1.10 dsieger 188: <code class="email"><<a class="email" href="mailto:mirrors@NetBSD.org">mirrors@NetBSD.org</a>></code>. See "<a class="ulink" href="#ftp-contactinfo" target="_top">Contact information format for
1.17 mbalmer 189: FTP/ISO Mirrors</a>"
1.1 dsieger 190: for details on that.</li>
191: </ol></div>
192:
193: <h4 class="title">
1.54 maya 194: <a name="ftp-diskspace"></a>How much disk space is needed for an FTP/ISO mirror?</h4>
1.1 dsieger 195:
1.55 snj 196: <p>The amount of disk space needed fluctuates over time.
197: At this time (July 2018) a complete mirror of the supported
198: NetBSD releases needs approximately 250 GB (and an additional
199: 520 GB for unsupported historical releases). The daily builds of
200: NetBSD amount to 1.3 TB and the whole of pkgsrc (source and binary
201: packages for several branches) to 1.3 TB.</p>
1.1 dsieger 202:
203: <p>Space requirements for ISO files are dependent on
204: how many binary releases are supported at the time. The
1.12 heinz 205: size may be severely decreased when old branches become
1.55 snj 206: obsolete and will grow when new versions of NetBSD are
207: released. Each release takes from 20 to 30 GB, and
208: currently (July 2018) the complete iso area needs around
209: 225 GB space.</p>
1.1 dsieger 210:
211: <h4 class="title">
1.54 maya 212: <a name="ftp-bandwidth"></a>How much bandwidth does offering an FTP/ISO mirror require?</h4>
1.1 dsieger 213:
214: <p>At the moment, we do not have any detailed numbers on bandwidth
215: usage from our mirrors. The actual usage of any mirror depends too
216: heavily on a variety of factors such as already available bandwidth,
217: geographical location relative to other mirrors and amount of data
218: mirrored for us to provide you with accurate numbers.</p>
219:
220: <p>If you have been running a full mirror for a while and have
1.10 dsieger 221: collected bandwidth statistics, please <a class="ulink" href="http://www.NetBSD.org/cgi-bin/feedback.cgi" target="_top">let us
1.1 dsieger 222: know</a>.</p>
223:
224: <h4 class="title">
225: <a name="ftp-retrieve-sync"></a>Retrieving/Syncing a copy of the NetBSD FTP site
1.54 maya 226: and ISO images area</h4>
1.1 dsieger 227:
228: <p>There are several ways that you can retrieve and sync
229: the files. Depending on your personal preference, your
230: network connection, the packages installed on your systems
231: etc. you may choose one over the other. Either way, it's
232: probably a good idea to first run the relevant command by
233: hand and then, when you have confirmed that everything is
234: working as it should, create a script to be run by
1.66 martin 235: <a href="https://netbsd.gw.com/cgi-bin/man-cgi?cron+8.i386+NetBSD-9.0">cron(8)</a>.</p>
1.1 dsieger 236:
237: <p>All ISO images of the NetBSD distributions are stored on
1.33 snj 238: the FTP site inside <code class="filename">images/</code> subdirectory.
1.1 dsieger 239: Thus, mirroring of ISO images is very similar to mirroring
240: the entire FTP site.</p>
241:
242: <p>Below you can find some examples of how to keep your
243: local copy in sync. Simply replace "<FTPROOT>" with
244: the actual root of your ftp server.</p>
245:
1.28 tron 246: <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
1.17 mbalmer 247: <li class="listitem">
1.48 maya 248: <p>Using <a href="https://cdn.NetBSD.org/pub/pkgsrc/current/pkgsrc/net/rsync/README.html" target="_top"><code class="filename">net/rsync</code></a>:
1.1 dsieger 249: </p>
250: <pre class="programlisting">$ rsync -v -Wartz --delete rsync://rsync.NetBSD.org/NetBSD <FTPROOT>/pub/NetBSD/</pre>
251: <p>
252: For ISO files only:
253: </p>
1.33 snj 254: <pre class="programlisting">$ rsync -v -Wartz --delete rsync://rsync.NetBSD.org/NetBSD/images <FTPROOT>/pub/NetBSD/images</pre>
1.1 dsieger 255: </li>
1.17 mbalmer 256: <li class="listitem">
1.48 maya 257: <p>Using <a href="https://cdn.NetBSD.org/pub/pkgsrc/current/pkgsrc/net/wget/README.html" target="_top"><code class="filename">net/wget</code></a>:
1.1 dsieger 258: </p>
259: <pre class="programlisting">$ cd <FTPROOT>
260: $ wget -v -xnH -m ftp://ftp.NetBSD.org/pub/NetBSD/</pre>
261: <p>
262: For ISO files only:
263: </p>
264: <pre class="programlisting">$ cd <FTPROOT>
1.33 snj 265: $ wget -v -xnH -m ftp://ftp.NetBSD.org/pub/NetBSD/images/</pre>
1.1 dsieger 266: </li>
1.17 mbalmer 267: <li class="listitem">
1.48 maya 268: <p>Using <a href="https://cdn.NetBSD.org/pub/pkgsrc/current/pkgsrc/net/mirror/README.html" target="_top"><code class="filename">net/mirror</code></a>:
1.1 dsieger 269: </p>
270: <pre class="programlisting">$ cat > ftp.NetBSD.org <<EOF
271: package=netbsd
272: comment=NetBSD
273: site=ftp.NetBSD.org
274: remote_dir=/pub/NetBSD
275: local_dir=<FTPROOT>/pub/NetBSD
276: do_deletes=true
277: algorithm=1
278: EOF
279: $ mirror ftp.NetBSD.org</pre>
280: <p>
281: For ISO files only:
282: </p>
283: <pre class="programlisting">$ cat > iso.NetBSD.org <<EOF
284: package=netbsd
285: comment=NetBSD
286: site=iso.NetBSD.org
1.33 snj 287: remote_dir=/pub/NetBSD/mages
288: local_dir=<FTPROOT>/pub/NetBSD/images
1.1 dsieger 289: do_deletes=true
290: algorithm=1
291: EOF
292: $ mirror iso.NetBSD.org</pre>
293: </li>
294: </ul></div>
295:
296: <h4 class="title">
1.54 maya 297: <a name="ftp-notes"></a>Notes about a NetBSD FTP/ISO mirror</h4>
1.1 dsieger 298:
299: <p>As a NetBSD FTP/ISO mirror, it's important that you
300: synchronize your copy of the NetBSD FTP tree and ISO
301: images area regularly. Otherwise, old and/or obsolete
302: files may confuse users.</p>
303:
1.55 snj 304: <p>Also, it might happen that due to, e.g., a security
1.1 dsieger 305: issue, file removal (or another administrative task) may be
306: requested from the NetBSD Project.</p>
307:
308: <h4 class="title">
1.54 maya 309: <a name="ftp-outage"></a>Where should an outage be announced</h4>
1.17 mbalmer 310:
1.1 dsieger 311: <p>If your FTP/ISO mirror experiences any significant system
1.10 dsieger 312: outage, you should notify <code class="email"><<a class="email" href="mailto:mirrors@NetBSD.org">mirrors@NetBSD.org</a>></code>
1.1 dsieger 313: as soon as possible so that we can temporarily redirect your
314: CNAME (if there is one) to a nearby alternative. Also, you
1.10 dsieger 315: may wish to send a note about the outage to the <a class="ulink" href="../mailinglists/#netbsd-users" target="_top">netbsd-users mailing list</a>.</p>
1.1 dsieger 316:
317: <p>If the CNAME for your mirror has been redirected, be
318: sure to let us know when the situation is rectified, so we
319: can revert the change.</p>
320:
321: <h4 class="title">
1.54 maya 322: <a name="ftp-contactinfo"></a>Contact information format for FTP/ISO mirrors</h4>
1.1 dsieger 323:
324: <p>Contact information needs to be submitted to
1.10 dsieger 325: <code class="email"><<a class="email" href="mailto:mirrors@NetBSD.org">mirrors@NetBSD.org</a>></code>.</p>
1.1 dsieger 326:
327: <p>This information gets added to an internal mirrors
328: database, from which the mirror-related documentation gets
329: generated. The "<code class="code">contact*</code>" fields are never made
330: public. Contact information for NetBSD FTP/ISO mirrors should be
331: sent in the following format:</p>
332:
333: <pre class="programlisting">mirror *machine name*
1.11 reed 334: country *ISO 3166 country code of host, see /usr/share/zoneinfo/iso3166.tab*
1.1 dsieger 335: location *more specific location (e.g, ``University of Foo'')*
336: ftp *url to NetBSD ftp mirror area*
337: ftp-host *fqdn of the host providing ftp mirror service*
338: ftp-releng *url to NetBSD release engineering files, aka NetBSD-daily*
339: iso *url to NetBSD iso images area*
340: iso-host *fqdn of the host providing iso images mirror service*
341: organisation *organisation name*
342: contactperson *contact person's name*
343: contactemail *contact person's electronic mail address*
344: contactkeyid *contact person's pgp key id*
345: contactphone *contact person's telephone number*
346: contactaddress *contact person's postal address*</pre>
347:
348: <p>An example submission might look like this.</p>
349: <pre class="programlisting">mirror netbsd.foo.com
1.11 reed 350: country jp
1.1 dsieger 351: location Department of Computer Science, Foo University
352: ftp ftp://ftp.foo-univ.ac.jp/pub/NetBSD/
353: ftp-host ftp.foo-univ.ac.jp
1.33 snj 354: iso ftp://iso.foo-univ.ac.jp/pub/NetBSD/images/
1.1 dsieger 355: iso-host iso.foo-univ.ac.jp
356: organisation Foo University
357: contactperson Foo Bar
358: contactemail Bar@foo-univ.ac.jp
359: contactkeyid GA23FG12
360: contactphone +81 3 xxxx yyyy
361: contactaddress 9876 Foo City, Tokyo 1234567 Japan</pre>
362:
363: <p>Please use <code class="literal">ftp*</code> and
364: <code class="literal">iso*</code> fileds in case only if you
365: providing appropriate mirror services. For example, omit
366: <code class="literal">ftp-releng</code> field if there are no releng
367: files on your server, or don't use any of <code class="literal">ftp*</code>
368: fields if you running ISO mirror only.</p>
369:
370: <p>If the contact information for your mirror ever needs to
371: be changed, please feel free to let us know at
1.10 dsieger 372: <code class="email"><<a class="email" href="mailto:mirrors@NetBSD.org">mirrors@NetBSD.org</a>></code>.</p>
1.1 dsieger 373:
374: <h4 class="title">
1.54 maya 375: <a name="ftp-cname"></a>How to get (ftp|iso).country-code.NetBSD.org</h4>
1.1 dsieger 376:
377: <p>We have temporarily stopped assigning names in the
378: .NetBSD.org domain to mirrors as we are re-evaluating our
379: mirror policies.</p>
380:
381: <h4 class="title">
1.54 maya 382: <a name="ftp-teardown"></a>If you can no longer provide a FTP/ISO mirror</h4>
1.1 dsieger 383:
1.10 dsieger 384: <p>Please let us know at <code class="email"><<a class="email" href="mailto:mirrors@NetBSD.org">mirrors@NetBSD.org</a>></code>
1.1 dsieger 385: so that we can remove your site from our list and redirect
386: the DNS name to an alternative site.</p>
387: <hr>
388: <h3 class="title">BitTorrent Mirror FAQ</h3>
389: <h4 class="title">
1.54 maya 390: <a name="bittorrent-what"></a>Bit-what?</h4>
1.1 dsieger 391:
1.10 dsieger 392: <p><a class="ulink" href="http://bitconjurer.org/BitTorrent/" target="_top">BitTorrent</a>
1.1 dsieger 393: is a tool for distributing files. It's extremely easy to
394: use - downloads are started by clicking on hyperlinks.
395: Whenever more than one person is downloading at once
396: they send pieces of the file(s) to each other, thus
397: relieving the central server's bandwidth burden. Even with
398: many simultaneous downloads, the upload burden on the
399: central server remains quite small, since each new
400: downloader introduces new upload capacity.</p>
401:
402: <h4 class="title">
1.54 maya 403: <a name="bittorrent-overview"></a>Overview for setting up a NetBSD Bittorrent Mirror</h4>
1.1 dsieger 404:
405: <p>The basic steps for setting up a NetBSD BitTorrent
406: Mirror are:</p>
407:
1.17 mbalmer 408: <div class="orderedlist"><ol class="orderedlist" type="1">
1.48 maya 409: <li class="listitem">Install <a href="https://cdn.NetBSD.org/pub/pkgsrc/current/pkgsrc/net/bittorrent/README.html" target="_top"><code class="filename">net/bittorrent</code></a>
1.1 dsieger 410: </li>
1.17 mbalmer 411: <li class="listitem">Fetch the <code class="filename">.torrent</code> files from
1.1 dsieger 412: our FTP site. The files are in the
1.33 snj 413: <code class="filename">/pub/NetBSD/images/<release></code>
1.1 dsieger 414: subdirectory, so if you already are mirroring this
1.10 dsieger 415: directory, you're all set. For more information see <a class="ulink" href="../mirrors/torrents/" target="_top">this page</a>.</li>
1.17 mbalmer 416: <li class="listitem">
417: <p>Start BitTorrent:
1.1 dsieger 418: </p>
1.33 snj 419: <pre class="programlisting">cd /ftp/pub/NetBSD/images/<release>; (btlaunchmany.py .) >/dev/null 2>/dev/null &</pre>
1.1 dsieger 420: <p>
421: If you didn't download the ISO images already, they will be
1.17 mbalmer 422: downloaded now. You can use the
1.1 dsieger 423: <code class="code">--max_upload_rate arg</code>
424: and <code class="code">--max_download_rate arg</code>
425: options to limit the transfer rates.</p>
426: </li>
427: </ol></div>
428:
429: <h4 class="title">
1.54 maya 430: <a name="bittorrent-contactinfo"></a>Contact information format for BitTorrent mirrors</h4>
1.1 dsieger 431:
432: <p>Contact information needs to be submitted to
1.10 dsieger 433: <code class="email"><<a class="email" href="mailto:mirrors@NetBSD.org">mirrors@NetBSD.org</a>></code>.
1.1 dsieger 434: This information gets added to an internal mirrors database,
435: from which the mirror-related documentation gets generated.
436: The "<code class="code">contact*</code>" fields are never made public.
437: Contact information for NetBSD BitTorrent mirrors should be
438: sent in the following format:</p>
439:
440: <pre class="programlisting">mirror *machine name*
1.11 reed 441: country *ISO 3166 country code of host, see /usr/share/zoneinfo/iso3166.tab*
1.1 dsieger 442: location *more specific location (e.g, ``University of Foo'')*
443: bittorrent *BitTorrent URL / URL with additional Information*
444: ipv6 *yes or no, if your server supports IPv6*
445: organisation *organisation name*
446: contactperson *contact person's name*
447: contactemail *contact person's electronic mail address*
448: contactkeyid *contact person's pgp key id*
449: contactphone *contact person's telephone number*
450: contactaddress *contact person's postal address*</pre>
451:
452: <p>An example submission might look like this.</p>
453:
1.11 reed 454: <pre class="programlisting">mirror ftp.NetBSD.org
455: country us
1.1 dsieger 456: location Silicon Valley, California
457: bittorrent http://www.NetBSD.org/mirrors/torrents/
458: ipv6 yes
459: organisation The NetBSD Foundation, Inc.
460: contactperson Admins
461: contactemail <email-here>@NetBSD.org
462: contactkeyid AF226A4C
463: contactphone 555-123-1234
464: contactaddress Somwhere in Silicon Valley, California</pre>
465: <hr>
466: <h3 class="title">WWW Mirror FAQ</h3>
467: <h4 class="title">
1.54 maya 468: <a name="www-overview"></a>Overview for setting up a NetBSD WWW Mirror</h4>
1.1 dsieger 469:
470: <p>The following is an overview of the recommended
471: procedure for setting up a NetBSD WWW mirror:</p>
472:
1.17 mbalmer 473: <div class="orderedlist"><ol class="orderedlist" type="1">
474: <li class="listitem">For setting up a mirror with this procedure,
1.55 snj 475: you'll need cvs, ssh, and wget
476: (see <a href="https://cdn.NetBSD.org/pub/pkgsrc/current/pkgsrc/net/wget/README.html" target="_top"><code class="filename">net/wget</code></a>). Of course you'll
477: also need a web server, such as apache.</li>
1.17 mbalmer 478: <li class="listitem">Retrieve a copy of the NetBSD WWW site. See "<a class="ulink" href="#www-retrieve" target="_top">Retrieving a copy of the NetBSD WWW site</a>"
1.1 dsieger 479: for instructions on how to do so with anoncvs.</li>
1.17 mbalmer 480: <li class="listitem">Set things up to synchronize the contents of your
481: mirror with <code class="code">www.NetBSD.org</code>.
1.10 dsieger 482: See "<a class="ulink" href="#www-sync" target="_top">Syncing the NetBSD WWW site contents</a>"
1.1 dsieger 483: for an example of how to do so using a cron job.</li>
1.17 mbalmer 484: <li class="listitem">Send in the information about your mirror to
485: <code class="email"><<a class="email" href="mailto:mirrors@NetBSD.org">mirrors@NetBSD.org</a>></code>. See
1.10 dsieger 486: "<a class="ulink" href="#www-contactinfo" target="_top">Contact information format for WWW Mirrors</a>"
1.1 dsieger 487: for details on that.</li>
488: </ol></div>
489:
490: <h4 class="title">
1.54 maya 491: <a name="www-diskspace"></a>How much disk space is needed for a WWW mirror?</h4>
1.1 dsieger 492:
493: <p>The amount of diskspace needed for a complete copy of
1.55 snj 494: the htdocs repository is currently (July 2018) around 310 MB.
1.1 dsieger 495: The total amount should not vary too much, but will
496: obviously grow with time.</p>
497:
498: <h4 class="title">
1.54 maya 499: <a name="www-retrieve"></a>Retrieving a copy of the NetBSD WWW site</h4>
1.17 mbalmer 500:
1.1 dsieger 501: <p>To retrieve a copy of <code class="code">www.NetBSD.org</code> via
502: anoncvs, you should do:
503: </p>
504: <pre class="programlisting"># su - nbwww
505: # cd /path/to/htdocs
506: # env CVS_RSH=ssh CVSROOT=anoncvs@anoncvs.NetBSD.org:/cvsroot \
507: cvs checkout -P htdocs</pre>
508: <p>
509:
510: <span class="bold"><strong>Note:</strong></span>
511: "<code class="filename">/path/to/htdocs</code>"
512: should be where you want the mirror of
513: <code class="code">www.NetBSD.org</code> to reside. The directory
514: should be owned by an e.g. "nbwww" user.</p>
515:
516: <h4 class="title">
1.54 maya 517: <a name="www-sync"></a>Syncing the NetBSD WWW site contents</h4>
1.17 mbalmer 518:
1.1 dsieger 519: <p>The best way to do this is to set up a cron job for
520: your e.g. nbwww user to update the web site at a regular
521: interval using anoncvs and wget (more on the wget usage
522: below):
523: </p>
524: <pre class="programlisting"># crontab -u nbwww -e
525: SHELL=/bin/sh
526: PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/pkg/bin
527: MAILTO=whoever@gets.the.mirror.mail
528: CVS_RSH=ssh
529: CVSROOT=anoncvs@anoncvs.NetBSD.org:/cvsroot
1.20 spz 530: 0 1 * * * cd /path/to/htdocs && cvs update -dP && wget -B http://www.NetBSD.org/ -nv -xnH -N -Fi mirrors/fetch.html</pre>
1.1 dsieger 531: <p>
532: <span class="bold"><strong>Note:</strong></span> In the suggested
533: contents, you'll want to change "MAILTO" to reflect who
1.17 mbalmer 534: should get the mirror-related mail.
1.1 dsieger 535: Also, "<code class="filename">/path/to/htdocs</code>" should be
536: changed to where your <code class="code">www.NetBSD.org</code> mirror
537: resides.</p>
538:
539: <h4 class="title">
1.54 maya 540: <a name="www-fetch"></a>What is the purpose of <code class="filename">htdocs/mirrors/fetch.html</code>
541: </h4>
1.1 dsieger 542:
543: <p>The <code class="filename">fetch.html</code> file links to the
544: handful of documents on <code class="code">www.NetBSD.org</code> that
545: are generated <span class="emphasis"><em>by</em></span>
546: <code class="code">www.NetBSD.org</code>. These files get generated
547: daily from content in the <code class="code">doc</code> module of the
548: NetBSD CVS repository.</p>
1.17 mbalmer 549:
550: <p>In the example cron tab above, you'll see
1.1 dsieger 551: "<code class="code">wget -nv -xnH -NFi mirrors/fetch.html</code>".
552: This means that daily, through wget, these
1.17 mbalmer 553: <code class="code">www.NetBSD.org</code> created files
1.1 dsieger 554: will be updated in your copy of the web site
555: contents.</p>
556:
557: <h4 class="title">
1.54 maya 558: <a name="www-http-1.0"></a>Ensuring HTTP/1.0 clients get the right page</h4>
1.17 mbalmer 559:
1.1 dsieger 560: <p>It is much preferred that NetBSD WWW mirror sites run
561: a separate virtual web server for a
562: <code class="code">www.NetBSD.org</code> mirror on a separate IP
563: address. This is so that clients using HTTP/1.0 still
564: get to the correct web site.</p>
1.17 mbalmer 565:
1.1 dsieger 566: <p>If that's not possible in your set up, then the other
567: solution for HTTP/1.0 clients would be putting the NetBSD
568: mirror as the primary name-based virtual host.</p>
569:
570: <h4 class="title">
1.54 maya 571: <a name="www-contactinfo"></a>Contact information format for WWW mirrors</h4>
1.17 mbalmer 572:
1.1 dsieger 573: <p>Contact information needs to be submitted to
1.10 dsieger 574: <code class="email"><<a class="email" href="mailto:mirrors@NetBSD.org">mirrors@NetBSD.org</a>></code>.
1.1 dsieger 575: This information gets added to an internal mirrors
576: database, from which the mirror-related documentation gets
577: generated. The "<code class="code">contact*</code>" fields are never
578: made public. Contact information for NetBSD WWW mirrors
579: should be sent in the following format:</p>
580: <pre class="programlisting">mirror *machine name*
1.11 reed 581: country *ISO 3166 country code of host, see /usr/share/zoneinfo/iso3166.tab*
1.1 dsieger 582: location *more specific location (e.g, ``University of Foo'')*
583: www *WWW URL*
584: www-host *external WWW name*
585: organisation *organisation name*
586: contactperson *contact person's name*
587: contactemail *contact person's electronic mail address*
588: contactkeyid *contact person's pgp key id*
589: contactphone *contact person's telephone number*
590: contactaddress *contact person's postal address*</pre>
591:
592: <p>An example submission might look like this.</p>
593:
594: <pre class="programlisting">mirror netbsd.foo-univ.ac.jp
1.11 reed 595: country jp
1.1 dsieger 596: location Department of Computer Science, Foo University
597: www http://netbsd.foo-univ.ac.jp/
598: www-host netbsd.foo-univ.ac.jp
599: organisation Foo University
600: contactperson Foo Bar
601: contactemail Bar@foo-univ.ac.jp
602: contactkeyid GA23FG12
603: contactphone +81 3 xxxx yyyy
604: contactaddress 9876 Foo City, Tokyo 1234567 Japan</pre>
605:
606: <p>If the contact information for your mirror ever needs
607: to be changed, please feel free to let us know at
1.17 mbalmer 608: <code class="email"><<a class="email" href="mailto:mirrors@NetBSD.org">mirrors@NetBSD.org</a>></code>.</p>
1.1 dsieger 609:
610: <h4 class="title">
1.54 maya 611: <a name="www-cname"></a>How to get www.country-code.NetBSD.org</h4>
1.1 dsieger 612:
613: <p>We have temporarily stopped assigning names in the
614: .NetBSD.org domain to mirrors as we are re-evaluating our
615: mirror policies.</p>
616:
617: <h4 class="title">
1.54 maya 618: <a name="www-teardown"></a>If you can no longer provide a WWW mirror</h4>
1.17 mbalmer 619:
1.1 dsieger 620: <p>Please let us know at
1.10 dsieger 621: <code class="email"><<a class="email" href="mailto:mirrors@NetBSD.org">mirrors@NetBSD.org</a>></code> so that we can remove your
1.1 dsieger 622: site from our list and redirect the DNS name to an
623: alternative site.</p>
624: <hr>
625: <h3 class="title">CVSweb Mirror FAQ</h3>
626: <h4 class="title">
1.54 maya 627: <a name="cvsweb-overview"></a>Overview for setting up a NetBSD CVSweb Mirror</h4>
1.1 dsieger 628:
629: <p>The following is an overview of the recommended
630: procedure for setting up a NetBSD CVSweb mirror:</p>
631:
1.17 mbalmer 632: <div class="orderedlist"><ol class="orderedlist" type="1">
633: <li class="listitem">For setting up a mirror with this procedure,
1.55 snj 634: you'll need cvs, cvsup, and the cvsweb CGI script. Both cvsup
635: and the cvsweb CGI script are available from the <a class="ulink" href="software/packages.html" target="_top">NetBSD packages collection</a>
636: (see <a href="https://cdn.NetBSD.org/pub/pkgsrc/current/pkgsrc/devel/cvsup-bin/README.html" target="_top"><code class="filename">devel/cvsup-bin</code></a> and <a href="https://cdn.NetBSD.org/pub/pkgsrc/current/pkgsrc/www/cvsweb/README.html" target="_top"><code class="filename">www/cvsweb</code></a>). Of course you'll also
1.48 maya 637: need a web server, such as <a href="https://cdn.NetBSD.org/pub/pkgsrc/current/pkgsrc/www/apache/README.html" target="_top"><code class="filename">www/apache</code></a>.</li>
1.17 mbalmer 638: <li class="listitem">Retrieve a copy of the NetBSD CVS tree. See
1.10 dsieger 639: "<a class="ulink" href="#cvsweb-retrieve" target="_top">Retrieving a copy of the NetBSD CVS tree</a>"
1.1 dsieger 640: for instructions on how to do so with cvsup.</li>
1.17 mbalmer 641: <li class="listitem">Set things up to synchronize the contents of your
1.10 dsieger 642: mirror with the cvsup server. See "<a class="ulink" href="#cvsweb-sync" target="_top">Syncing the NetBSD CVS tree contents</a>"
1.1 dsieger 643: for an example of how to do so using a cron job.</li>
1.17 mbalmer 644: <li class="listitem">Send in the information about your mirror to
1.10 dsieger 645: <code class="email"><<a class="email" href="mailto:mirrors@NetBSD.org">mirrors@NetBSD.org</a>></code>. See "<a class="ulink" href="#cvsweb-contactinfo" target="_top">Contact information format for CVSweb Mirrors</a>"
1.1 dsieger 646: for details on that.</li>
647: </ol></div>
648:
649: <h4 class="title">
1.54 maya 650: <a name="cvsweb-diskspace"></a>How much disk space is needed for a CVSweb mirror?</h4>
1.1 dsieger 651:
652: <p>The amount of disk space needed is rather large due to
653: the fact that you are providing an interface to the
654: <span class="emphasis"><em>entire CVS repository</em></span>. Currently
655: (2006-05), the total disk space required for all sources in
656: CVS is around 4.3 GB.</p>
657:
658: <h4 class="title">
1.54 maya 659: <a name="cvsweb-retrieve"></a>Retrieving a copy of the NetBSD CVS tree</h4>
1.1 dsieger 660:
661: <p>To retrieve a copy of the CVS tree via cvsup, you
662: should do:
663: </p>
664: <pre class="programlisting"># su - cvsweb
665: # mkdir -p /home/cvsweb/netbsd
666: # cd /home/cvsweb</pre>
667: <p>
668:
1.17 mbalmer 669: <span class="bold"><strong>Note:</strong></span>
1.1 dsieger 670: "<code class="filename">/home/cvsweb/netbsd</code>"
671: should be where you want the mirror of the tree to reside.
672: The directory should be owned by an e.g. "cvsweb"
673: user. Create an "supfile" using your editor (For examples,
1.10 dsieger 674: see <a class="ulink" href="netbsd-supfile" target="_top">netbsd-supfile</a>).
1.1 dsieger 675: Please take a look at the list of available public cvsup
1.10 dsieger 676: servers, you'll find the list <a class="ulink" href="../mirrors/index.html#cvsup" target="_top">here</a>.
1.1 dsieger 677: </p>
678: <pre class="programlisting"># cvsup -g -L 2 netbsd-supfile</pre>
679: <p>
680: </p>
681:
682: <h4 class="title">
1.54 maya 683: <a name="cvsweb-sync"></a>Syncing the NetBSD CVS tree contents</h4>
1.1 dsieger 684:
685: <p>The best way to do this is to set up a cron job for your
686: e.g. cvsweb user to update the tree at a regular interval
687: using cvsup:
688: </p>
689: <pre class="programlisting"># crontab -u cvsweb -e
690: SHELL=/bin/sh
691: PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/pkg/bin
692: MAILTO=whoever@gets.the.mirror.mail
693: 0 1 * * * cvsup -g /home/cvsweb/netbsd-supfile</pre>
694: <p>
695:
696: <span class="bold"><strong>Note:</strong></span> In the suggested
697: contents, you'll want to change "MAILTO" to reflect who
698: should get the mirror-related mail.</p>
699:
700: <h4 class="title">
1.54 maya 701: <a name="cvsweb-cgi"></a>How to setup the cvsweb CGI script</h4>
1.1 dsieger 702:
703: <p>Take a look at the <code class="filename">cvsweb.conf</code> and
704: be sure to edit the following options:</p>
705: <pre class="programlisting">
706: @CVSrepositories = (
707: 'netbsd' => ['NetBSD', '/home/cvsweb/netbsd'],
708: );
709:
710: $mancgi = "http://netbsd.gw.com/cgi-bin/man-cgi?%s+%s+NetBSD-current";
711: </pre>
712: <p>Place cvsweb.cgi in your web servers' cgi-bin
713: directory and be sure to edit it to point to your
714: <code class="filename">cvsweb.conf</code>.</p>
715:
716: <h4 class="title">
1.54 maya 717: <a name="cvsweb-http-1.0"></a>Ensuring HTTP/1.0 clients get the right page</h4>
1.1 dsieger 718:
719: <p>It is much preferred that NetBSD CVSweb mirror sites run
720: a separate virtual web server for a CVSweb mirror on a
721: separate IP address. This is so that clients using HTTP/1.0
722: still get to the correct web site.</p>
723:
724: <p>If that's not possible in your set up, then the other
725: solution for HTTP/1.0 clients would be putting the NetBSD
726: mirror as the primary name-based virtual host.</p>
727:
728: <h4 class="title">
1.54 maya 729: <a name="cvsweb-contactinfo"></a>Contact information format for CVSweb mirrors</h4>
1.1 dsieger 730:
731: <p>Contact information needs to be submitted to
1.10 dsieger 732: <code class="email"><<a class="email" href="mailto:mirrors@NetBSD.org">mirrors@NetBSD.org</a>></code>.
1.1 dsieger 733:
734: This information gets added to an internal mirrors database, from
735: which the mirror-related documentation gets generated. The
736: "<code class="code">contact*</code>" fields are never made public.
737: Contact information for NetBSD CVSweb mirrors should be sent
738: in the following format:</p>
739:
740: <pre class="programlisting">mirror *machine name*
1.11 reed 741: country *ISO 3166 country code of host, see /usr/share/zoneinfo/iso3166.tab*
1.1 dsieger 742: location *more specific location (e.g, ``University of Foo'')*
743: cvsweb *CVSweb URL*
744: cvsweb-host *external CVSweb name*
745: organisation *organisation name*
746: contactperson *contact person's name*
747: contactemail *contact person's electronic mail address*
748: contactkeyid *contact person's pgp key id*
749: contactphone *contact person's telephone number*
750: contactaddress *contact person's postal address*</pre>
751:
752: <p>An example submission might look like this.</p>
753:
754: <pre class="programlisting">mirror netbsd.foo-univ.ac.jp
1.11 reed 755: country jp
1.1 dsieger 756: location Department of Computer Science, Foo University
757: cvsweb http://netbsd.foo-univ.ac.jp/cgi-bin/cvsweb.cgi/
758: cvsweb-host cvsweb.netbsd.foo-univ.ac.jp
759: organisation Foo University
760: contactperson Foo Bar
761: contactemail Bar@foo-univ.ac.jp
762: contactkeyid GA23FG12
763: contactphone +81 3 xxxx yyyy
764: contactaddress 9876 Foo City, Tokyo 1234567 Japan</pre>
765:
766: <p>If the contact information for your mirror ever needs to
767: be changed, please feel free to let us know at
1.10 dsieger 768: <code class="email"><<a class="email" href="mailto:mirrors@NetBSD.org">mirrors@NetBSD.org</a>></code>.</p>
1.1 dsieger 769:
770: <h4 class="title">
1.54 maya 771: <a name="cvsweb-cname"></a>How to get cvsweb.country-code.NetBSD.org</h4>
1.1 dsieger 772:
773: <p>We have temporarily stopped assigning names in the
774: .NetBSD.org domain to mirrors as we are re-evaluating our
775: mirror policies.</p>
776:
777: <h4 class="title">
1.54 maya 778: <a name="cvsweb-teardown"></a>If you can no longer provide a CVSweb mirror</h4>
1.1 dsieger 779:
1.10 dsieger 780: <p>Please let us know at <code class="email"><<a class="email" href="mailto:mirrors@NetBSD.org">mirrors@NetBSD.org</a>></code>
1.1 dsieger 781: so that we can remove your site from our list and redirect the
782: DNS name to an alternative site.</p>
1.17 mbalmer 783: </div></div></div>
1.3 dsieger 784: <div class="navfoot"></div>
1.15 mishka 785: <div id="footer"><div id="footerContent"><center>
1.44 maya 786: <span class="footfeed"><a href="//www.NetBSD.org/cgi-bin/feedback.cgi">
1.3 dsieger 787: Contact</a> |
1.9 kano 788: </span><span class="footcopy"><a href="../about/disclaimer.html">
1.3 dsieger 789: Disclaimer</a> |
790:
1.64 leot 791: <span class="copyright">Copyright © 1994-2020 The NetBSD Foundation, Inc. </span>ALL RIGHTS RESERVED.<br>NetBSD<sup>®</sup> is a registered trademark of The NetBSD
1.3 dsieger 792: Foundation, Inc.</span>
1.15 mishka 793: </center></div></div>
1.1 dsieger 794: </div></body>
795: </html>
CVSweb <webmaster@jp.NetBSD.org>