View | Details | Raw Unified | Return to bug 37037
Collapse All | Expand All

(-)article.sgml (-374 / +433 lines)
Lines 24-30 Link Here
24
        <firstname>Valentino</firstname>  
24
        <firstname>Valentino</firstname>  
25
        <surname>Vaschetto</surname>
25
        <surname>Vaschetto</surname>
26
        <affiliation>
26
        <affiliation>
27
          <address><email>logo@FreeBSD.org</email></address>                             
27
          <address><email>logo@FreeBSD.org</email></address>
28
        </affiliation>
28
        </affiliation>
29
      </author>
29
      </author>
30
      <author>
30
      <author>
Lines 57-64 Link Here
57
        state (at 4.5-RELEASE). Further development and
57
        state (at 4.5-RELEASE). Further development and
58
        releases will only increase the required amount.
58
        releases will only increase the required amount.
59
        Also make sure, to keep some (ca. 10-20%) extra space
59
        Also make sure, to keep some (ca. 10-20%) extra space
60
        around, just to be sure.
60
        around, just to be sure. Here are some approximate figures:
61
        Here are some approximate figures:
62
      </para>
61
      </para>
63
      <itemizedlist>
62
      <itemizedlist>
64
        <listitem><para>Full FTP Distribution: 60 GB</para></listitem>
63
        <listitem><para>Full FTP Distribution: 60 GB</para></listitem>
Lines 80-90 Link Here
80
        estimates here:
79
        estimates here:
81
      </para>
80
      </para>
82
      <itemizedlist>
81
      <itemizedlist>
83
         <listitem><para>Local site, no public access: basically no minimum,
82
         <listitem><para>Local site, no public access: basically no
84
           but I guess &lt; 2 Mbps make syncing a pain.</para></listitem>
83
		 minimum.</para></listitem>
85
         <listitem><para>Unofficial public site: 34 Mbps is probably a good start</para></listitem>
84
         <listitem><para>Unofficial public site: 34 Mbps is a good
86
         <listitem><para>Official site: &gt; 100 Mbps is recommended, also your host
85
		 start.</para></listitem>
87
           should be connected as close as possible to your border router</para></listitem>
86
         <listitem><para>Official site: &gt; 100 Mbps is recommended, also
87
		 your host should be connected as close as possible to your border
88
		 router.</para></listitem>
88
      </itemizedlist>
89
      </itemizedlist>
89
    </sect2>
90
    </sect2>
90
    <sect2 id="mirror-system">
91
    <sect2 id="mirror-system">
Lines 99-208 Link Here
99
        impact on CPU and memory requirements. Especially
100
        impact on CPU and memory requirements. Especially
100
        rsync is considered a memory hog, and CVSup does 
101
        rsync is considered a memory hog, and CVSup does 
101
        indeed consume some CPU. For AnonCVS it can
102
        indeed consume some CPU. For AnonCVS it can
102
        even be required to set up a MFS of at least
103
        even be required to set up a Memory resident filesystem
103
        300 MB, so you need to take this into account
104
		(MFS) of at least 300 MB, so you need to take this into
104
        for your memory requirements.
105
		account for your memory requirements.
105
      </para>
106
      </para>
106
      <para>
107
      <para>
107
        You also want to consider a fast disk subsystem.
108
        You also want to consider a fast disk subsystem.
108
        Operations on the CVS repository require a fast
109
        Operations on the CVS repository require a fast
109
        disk subsystem (RAID is greatly advised).
110
        disk subsystem (RAID is greatly advised). A SCSI
110
      </para>
111
		controller that has a cache of its own will also
112
		be of value since most of these services incur a
113
		very large number of small modifications to the disk.
114
      </para>
115
	  <para>You may also like to experiment with enlarging the portion
116
	  of system memory which is used for the filesystem buffer cache.
117
	  This will also help to reduce the quantity of disk access. This
118
	  can be done with the BUFCACHEPERCENT kernel option. The default is
119
	  to use 5% of system memory.</para>
111
    </sect2>
120
    </sect2>
112
    <sect2 id="mirror-services">
121
    <sect2 id="mirror-services">
113
      <title>Services to offer</title>
122
      <title>Services to offer</title>
114
      <para>
123
      <para>Every mirror site is required to have a set of core services
115
        This section describes the services that are
124
	  available. Optionally you can also add additional services. This
116
        required for you to offer, and those that are
125
	  section explains which services you can provide and how to go
117
        optional. It also gives hints, which software
126
	  about implementing them.</para>
118
        can be used to provide this service.
119
      </para>
120
      <sect3 id="mirror-serv-ftp">
127
      <sect3 id="mirror-serv-ftp">
121
        <title>FTP (required for FTP fileset)</title>
128
        <title>FTP (required for FTP fileset)</title>
122
        <para>
129
        <para>
123
          This is one of the most basic services, and
130
          This is one of the most basic services, and it is required for
124
          it is required for each mirror, offering public
131
		  each mirror, offering public FTP distributions. FTP access must
125
          FTP distributions. FTP access must be
132
		  be anonymous, and no upload/download ratios are allowed (a
126
          anonymous, and no upload/download ratios
133
		  ridiculous thing anyway). Upload capability is not required (and
127
          are allowed (a ridicilous thing anyway).
134
		  <emphasis>must</emphasis> never be allowed for the FreeBSD file
128
          Upload capability is not required (and should
135
		  space). Also the FreeBSD archive should be available under the
129
          never be allowed for the FreeBSD file space).
136
		  path <filename>/pub/FreeBSD</filename>.
130
          Also the FreeBSD archive should be available under
131
          the path <filename>/pub/FreeBSD</filename>.
132
        </para>
137
        </para>
133
        <para>
138
        <para>
134
          There is lot of software available which
139
          There is lot of software available which can be set up to allow
135
          can be set up to allow anonymous FTP
140
		  anonymous FTP (in alphabetical order).
136
          (in alphabetical order).
137
          <itemizedlist>
141
          <itemizedlist>
138
            <listitem><para><command>/usr/libexec/ftpd</command>: FreeBSD's own ftpd,
142
            <listitem><para><filename>/usr/libexec/ftpd</filename>:
139
              will probably do a very good job. Be sure to read &man.ftpd.8;.</para>
143
			FreeBSD's own <application>ftpd</application>, can be used. Be
140
            </listitem>
144
			sure to read &man.ftpd.8;.</para></listitem>
141
            <listitem>
145
            <listitem><para><filename role="package">ftp/ncftpd</filename>:
142
              <para><filename role="package">ftp/ncftpd</filename>: a commercial package, free for 
146
			A commercial application. Available free for educational
143
              educational institutions.</para>
147
			purposes.</para></listitem>
144
            </listitem>
148
            <listitem><para><filename role="package">ftp/oftpd</filename>:
145
            <listitem>
149
			An ftpd designed with security as a main focus.</para></listitem>
146
              <para><filename role="package">ftp/oftpd</filename>: an ftpd designed with
150
            <listitem><para><filename role="package">ftp/proftpd</filename>:
147
              security as a main focus.</para>
151
			A modular and very flexible ftpd.</para></listitem>
148
            </listitem>
152
            <listitem><para><filename role="package">ftp/pure-ftpd</filename>:
149
            <listitem>
153
			Another ftpd developed with security in mind.</para></listitem>
150
              <para><filename role="package">ftp/proftpd</filename>: a modular and very flexible ftpd.</para>
154
            <listitem><para><filename role="package">ftp/twoftpd</filename>:
151
            </listitem>
155
			As above.</para></listitem>
152
            <listitem>
156
            <listitem><para><filename role="package">ftp/vsftpd</filename>:
153
              <para><filename role="package">ftp/pure-ftpd</filename>: another ftpd developed with
157
			The <quote>very secure</quote> ftpd.</para></listitem>
154
                security in mind.</para>
158
            <listitem><para><filename role="package">ftp/wu-ftpd</filename>:
155
            </listitem>
159
			The ftpd from Washington University. It has become infamous
156
            <listitem><para><filename role="package">ftp/twoftpd</filename>: same as above</para></listitem>
160
			because of the huge number of security issues that have been
157
            <listitem><para><filename role="package">ftp/vsftpd</filename>: the <quote>very secure</quote> ftpd</para></listitem>
161
			found in it. If you do choose to use this software be sure to
158
            <listitem>
162
			keep it up to date.</para></listitem>
159
              <para><filename role="package">ftp/wu-ftpd</filename>: The widely used ftpd from Washington
160
              University. It became sort of infamous, because of the huge
161
              amount of security issues that became obvious in wu-ftpd.
162
              It also around for a long time, which can be positive 
163
              (experience) or negative (lots of bloated code).</para>
164
            </listitem>
165
          </itemizedlist>
163
          </itemizedlist>
166
          FreeBSD's ftpd, proftpd, wu-ftpd and maybe ncftpd are among the
164
		  
167
          most used ones. The others are probably not that much widespread.
165
          FreeBSD's ftpd, proftpd, wu-ftpd and ncftpd are among the most
166
		  commonly used. The others do not have a large userbase among
167
		  mirror sites.
168
        </para>
168
        </para>
169
      </sect3>
169
      </sect3>
170
      <sect3 id="mirror-serv-rsync">
170
      <sect3 id="mirror-serv-rsync">
171
        <title>RSYNC (optional for FTP fileset)</title>
171
        <title>rsync (optional for FTP fileset)</title>
172
        <para>
172
        <para>
173
          Rsync is often also offered for convenience, for the
173
          rsync is often also offered for convenience, for the contents
174
          contents of the FTP area of FreeBSD. The 
174
		  of the FTP area of FreeBSD. The protocol is different from
175
          protocol is different from FTP in many ways, and
175
		  FTP, specifically, it requires much less bandwidth, as only
176
          overall, it can be stated, that it is much more
176
		  transfers the differences between files. 
177
          bandwidth friendly, as only differences between files
177
          rsync does require significant amount of memory for
178
          are transferred, not whole files. 
179
          Rsync does require significant amount of memory for
180
          each instance. The size depends on the size of
178
          each instance. The size depends on the size of
181
          the synced module in terms of number of directories and 
179
          the synced module in terms of number of directories and 
182
          files. Rsync can use <command>rsh</command> and
180
          files. rsync can use <command>rsh</command> and
183
          <command>ssh</command> (now default) as a transport,
181
          <command>ssh</command> (now default) as a transport,
184
          or use it's own protocol for stand-alone access
182
          or use it's own protocol for stand-alone access
185
          (this is the preferred method for public rsync servers).
183
          (this is the preferred method for public rsync servers).
186
          Authentication, connection limits, and other restrictions
184
          Authentication, connection limits, and other restrictions
187
          may be applied. There is just one software package
185
          may be applied. At the time of writing there is just one
188
          available:
186
		  software package available:
189
          <itemizedlist>
187
          <itemizedlist>
190
            <listitem><para><filename role="package">net/rsync</filename></para></listitem>
188
		    <listitem><para><filename role="package">net/rsync</filename>
189
			</para></listitem>
191
          </itemizedlist>
190
          </itemizedlist>
192
        </para>
191
        </para>
193
      </sect3>
192
      </sect3>
194
      <sect3 id="mirror-serv-http">
193
      <sect3 id="mirror-serv-http">
195
        <title>HTTP (required for webpages, optional for FTP fileset)</title>
194
        <title>HTTP (required for webpages, optional for FTP fileset)</title>
196
        <para>
195
        <para>
197
          If you want to offer the FreeBSD webpages, you need
196
          If you want to offer the FreeBSD webpages, you need to
198
          to install a webserver a.k.a <application>httpd</application>. You may offer
197
		  install a webserver. You may offer the FTP fileset via HTTP,
199
          the FTP fileset via HTTP, as well, if you like.
198
		  optionally. You may use your own choice of Webserver software.
200
          Some argue HTTP is more efficient for download, but
201
          I cannot tell. The most commonly
202
          used httpd is Apache, although there are others around,
203
          take a look at <filename>/usr/ports/www</filename>.
204
          <itemizedlist>
199
          <itemizedlist>
205
            <listitem><para><filename role="package">www/apache13</filename></para></listitem>
200
            <listitem><para><filename role="package">www/apache13</filename>:
201
			Apache is the most widely deployed Webserver on the Internet. It
202
			is used extensively by the FreeBSD Project. You may also
203
			wish to use the next generation of the Apache Webserver,
204
			available in the ports collection as <filename
205
			role="package">www/apache2</filename>.</para></listitem>
206
			<listitem><para><filename role="package">www/thttpd</filename>:
207
			If you are going to be serving a lot amount of static content
208
			you may find that using an application such as tHttpd is more
209
			efficent than Apache. It is optimized for excellent performance
210
			on FreeBSD.</para></listitem>
211
			<listitem><para><filename role="package">www/boa</filename>:
212
			Boa is another alternative to tHttpd and Apache. It should
213
			provide considerably better performance than Apache for purely
214
			static content. It does not, at the time of writing, contain the
215
			same set of optimizations for FreeBSD that are found in tHttpd.
216
			</para></listitem>
206
          </itemizedlist>
217
          </itemizedlist>
207
        </para>
218
        </para>
208
      </sect3>
219
      </sect3>
Lines 214-220 Link Here
214
          the use with CVS repositories. If you want to offer the
225
          the use with CVS repositories. If you want to offer the
215
          FreeBSD CVS repository, you really want to consider
226
          FreeBSD CVS repository, you really want to consider
216
          offering it via CVSup. Still it is possible to offer
227
          offering it via CVSup. Still it is possible to offer
217
          the CVS repository via AnonCVS, FTP, Rsync or HTTP, but
228
          the CVS repository via AnonCVS, FTP, rsync or HTTP, but
218
          people would not benefit from CVSup access. 
229
          people would not benefit from CVSup access. 
219
          CVSup was developed by &a.jdp;.
230
          CVSup was developed by &a.jdp;.
220
          It is a bit tricky to install on non-FreeBSD platforms, 
231
          It is a bit tricky to install on non-FreeBSD platforms, 
Lines 222-265 Link Here
222
          a Modula-3 environmen. John Polstra has built a 
233
          a Modula-3 environmen. John Polstra has built a 
223
          stripped down version of M3, that is sufficient to
234
          stripped down version of M3, that is sufficient to
224
          run CVSup, and can be installed much easier. 
235
          run CVSup, and can be installed much easier. 
225
          See <ulink url="http://www.polstra.com/projects/freeware/ezm3/">Ezm3</ulink>
236
          See <ulink
226
          for details. Related ports are:
237
		  url="http://www.polstra.com/projects/freeware/ezm3/">Ezm3</ulink>
238
		  for details. Related ports are:
227
239
228
          <itemizedlist>
240
          <itemizedlist>
229
            <listitem>
241
            <listitem>
230
              <para><filename role="package">net/cvsup</filename>: The native CVSup port (client and server)
242
              <para>
231
                which requires <filename role="package">lang/ezm3</filename> now.</para>
243
			    <filename role="package">net/cvsup</filename>
244
				: The native CVSup port (client and server) which
245
				requires <filename role="package">lang/ezm3</filename>
246
				now.
247
			  </para>
232
            </listitem>
248
            </listitem>
233
            <listitem>
249
            <listitem>
234
              <para><filename role="package">net/cvsup-mirror</filename>: The CVSup mirror kit, which requires
250
              <para>
235
                 <filename role="package">net/cvsup</filename>, and configures it mirror-ready. Some
251
			    <filename role="package">net/cvsup-mirror</filename>
236
                 site administrators may want a different setup, though.
252
				: The CVSup mirror kit, which requires
253
				<filename role="package">net/cvsup</filename>, and
254
				configures it for use as a mirror. Some site administrators
255
				may require a different setup.
237
              </para>
256
              </para>
238
            </listitem>
257
            </listitem>
239
          </itemizedlist>
258
          </itemizedlist>
240
259
		  Further information about <application>CVSup</application> can
241
          There are a few more like <filename role="package">net/cvsupit</filename> and 
260
		  be found its <ulink
242
          <filename role="package">net/cvsup-without-gui</filename> you might want to have
261
		  url="http://polstra.com/projects/freeware/CVSup/">website</ulink>.
243
          a look at. If you prefer a static binary package, take a look 
262
		  <!-- polstra.com works just as well as www.polstra.com and
244
          <ulink url="http://people.freebsd.org/~jdp/s1g/">here</ulink>.
263
		  makes the line wrapping less ugly  -->
245
          This page stil refers to the S1G bug, that was present
246
          in <application>CVSup</application>. Maybe
247
          John will setup a generic download-site to get
248
          static binaries for various platforms.
249
        </para>
264
        </para>
250
        <para> 
265
        <para> 
251
          It is possible to use CVSup to offer
266
          It is possible to use CVSup to offer any kind of fileset, not
252
          any kind of fileset, not just CVS repositories, 
267
		  just CVS repositories, but configuration can be complex.
253
          but configuration can be complex.
268
		  <application>CVSup</application> is more intensive to run on
254
          CVSup is known to eat some CPU on the server as on the 
269
		  both the server and client than the other distribution
255
          client, since it needs to compare lots of files.
270
		  methods. However it is significantly faster and consumes a lot
271
		  less bandwidth than the FTP service.
256
        </para>
272
        </para>
257
        <note>
273
        <note>
258
          <para>
274
          <para>
259
            Please have look at the <application>CVSup</application>
275
            Please have look at the <application>CVSup</application>
260
            like &man.cvsup.1; and consider using the <option>-s</option>
276
			documentation, for example &man.cvsup.1; and consider using the
261
            option, as it can reduce the amount of work to be done
277
			<option>-s</option> option, as it can reduce the workload
262
            a lot.
278
			considerably.
263
          </para>
279
          </para>
264
        </note>
280
        </note>
265
      </sect3>
281
      </sect3>
Lines 274-283 Link Here
274
          <emphasis>pserver</emphasis> or via <command>ssh</command>
290
          <emphasis>pserver</emphasis> or via <command>ssh</command>
275
          (we don't consider <command>rsh</command>).
291
          (we don't consider <command>rsh</command>).
276
          For anonymous access, <emphasis>pserver</emphasis> is
292
          For anonymous access, <emphasis>pserver</emphasis> is
277
          very well suited, but some still offer <command>ssh</command>
293
          very well suited, but it is possible to offer
278
          access as well. There is some custom crafted wrapper
294
		  <command>ssh</command> access as well. For the
279
          program around, to be used as a login-shell for the
295
		  <command>ssh</command> service you can use a login wrapper to
280
          anonymous ssh account. It does a chroot, and therefore
296
		  secure the anonymous account. It does a chroot, and therefore
281
          requires the CVS repository to be available under the
297
          requires the CVS repository to be available under the
282
          anonymous user's homedirectory, which may not be possible
298
          anonymous user's homedirectory, which may not be possible
283
          for all sites. If you just offer <emphasis>pserver</emphasis>
299
          for all sites. If you just offer <emphasis>pserver</emphasis>
Lines 287-314 Link Here
287
          FreeBSD. You need to enable access via <command>inetd</command>,
303
          FreeBSD. You need to enable access via <command>inetd</command>,
288
          so add an entry into your <filename>/etc/inetd.conf</filename>
304
          so add an entry into your <filename>/etc/inetd.conf</filename>
289
          like this:
305
          like this:
290
          <programlisting>
306
          <programlisting>cvspserver stream tcp nowait root /usr/bin/cvs cvs -f -l -R -T /anoncvstmp --allow-root=/home/ncvs pserver
291
cvspserver stream tcp nowait root /usr/bin/cvs cvs -f -l -R -T /anoncvstmp --allow-root=/home/ncvs pserver
292
          </programlisting>
307
          </programlisting>
293
          See the manpage for details of the options. See also the cvs <emphasis>info</emphasis>
308
          See the manpage for details of the options. See also the cvs
294
          page, about how additional ways, to make sure, access is read-only.
309
		  <emphasis>info</emphasis> page, about how additional ways, to
295
          It is advisable, that you create an unprivileged account, 
310
		  make sure, access is read-only. It is advisable, that you create
296
          preferrably called <username>anoncvs</username>.
311
		  an unprivileged account, preferrably called
297
          Also you need to create a file <filename>passwd</filename>
312
		  <username>anoncvs</username>. Also you need to create a file
298
          in your <filename>/home/ncvs/CVSROOT</filename> and assign a 
313
		  <filename>passwd</filename> in your mirror's
299
          CVS password (empty or <literal>anoncvs</literal>) to that user.
314
		  <filename>CVSROOT</filename> subdirectory and assign a CVS password
300
          The directory <filename>/anoncvstmp</filename> is a special
315
		  (empty or <literal>anoncvs</literal>) to that user. The
301
          purpose memory based filesystem. It is not required but
316
		  example directory <filename>/anoncvstmp</filename> is a special
302
          advised, since &man.cvs.1; creates a shadow directory 
317
		  purpose memory based filesystem. It is not required but advised,
303
          structure in your <filename>/tmp</filename> which is
318
		  since &man.cvs.1; creates a shadow directory structure in your
304
          not used after the operation, but slows things
319
		  <filename>/tmp</filename> which is not used after the operation,
305
          dramatically, if real disk operations are required.
320
		  but slows things dramatically, if real disk operations are required.
306
          Here is an excerpt from <filename>/etc/fstab</filename>,
321
          Here is an excerpt from <filename>/etc/fstab</filename>, how to set
307
          how to set up such a MFS:
322
		  up such a MFS:
308
          <programlisting>
323
          <programlisting>/dev/da0s1b /anoncvstmp mfs rw,-s=786432,-b=4096,-f=512,-i=560,-c=3,-m=0,nosuid,nodev 0 0
309
/dev/da0s1b /anoncvstmp mfs rw,-s=786432,-b=4096,-f=512,-i=560,-c=3,-m=0,nosuid,nodev 0 0
310
          </programlisting>
324
          </programlisting>
311
          This is (of course) tuned a lot, and was suggested by &a.jdp;.
325
		  Enabling <emphasis>SoftUpdates</emphasis> on a conventional
326
		  <filename>/tmp</filename> location, or mounting it with the
327
		  <option>async</option> mode in <filename>/etc/fstab</filename>
328
		  should also help to improve performance marginally.
329
          This was suggested by &a.jdp;.
312
        </para>
330
        </para>
313
      </sect3>
331
      </sect3>
314
   </sect2>
332
   </sect2>
Lines 316-385 Link Here
316
  <sect1 id="mirror-howto">
334
  <sect1 id="mirror-howto">
317
    <title>How to mirror FreeBSD</title>
335
    <title>How to mirror FreeBSD</title>
318
    <para>
336
    <para>
319
      Ok now, you know the requirements, and how to offer
337
      Ok now, you know the requirements, and how to offer the services,
320
      the services, but not how to get it. :-)
338
	  but not how to get it. This section explains how to actually mirror
321
      This section explains how to actually mirror
339
      the various parts of FreeBSD, what tools to use, and where to mirror
322
      the various parts of FreeBSD, what tools to use,
340
	  from.
323
      and where to mirror from.
324
    </para>
341
    </para>
325
    <sect2 id="mirror-ftp">
342
    <sect2 id="mirror-ftp">
326
    <title>FTP</title>
343
    <title>FTP</title>
327
      <para>
344
      <para>
328
        The FTP area is the largest amount of data, that
345
        The FTP area is the largest amount of data, that needs to be
329
        needs to be mirrored. It includes the <emphasis>distributions
346
		mirrored. It includes the <emphasis>distributions sets</emphasis>,
330
        sets</emphasis>, required for network installation, the 
347
		required for network installation, the
331
        <emphasis>branches</emphasis>, that are actually snapshots
348
		<emphasis>branches</emphasis>, the <emphasis>ISO Images</emphasis>
332
        of checked-out source trees, the <emphasis>ISO Images</emphasis>
349
		for making CD-Roms with the installation distribution, a live
333
        to write CD-Roms with the installation distribution,
350
		filesystem, and lots of packages, the ports tree, and distfiles.
334
        a live filesystem, and lots of packages, the ports tree,
351
		All of course for various FreeBSD versions, and
335
        distfiles and a huge amount of packages. All of course
352
		<emphasis>i386</emphasis> and <emphasis>alpha</emphasis>
336
        for various FreeBSD versions, and <emphasis>i386</emphasis>
353
		architectures.
337
        and <emphasis>alpha</emphasis> architecture.
354
		<note>
355
		  <para>You can expect the amount of space required by the FTP
356
		  distribution to grow in size as the number of ports and
357
		  supported architectures grows.</para>
358
		</note>
338
      </para>
359
      </para>
339
      <sect3 id="mirror-ftp-ftp">
360
      <sect3 id="mirror-ftp-ftp">
340
        <title>With FTP mirror</title>
361
        <title>With FTP mirror</title>
341
        <para>
362
        <para>You can use a <application>FTP mirror</application>
342
          You can use a <application>FTP mirror</application>
363
		program, to get the files. There are a lot around, and widely
343
          program, to get the files. There are a lot around, and
364
		used, like:
344
          widely used, like:
345
          <itemizedlist>
365
          <itemizedlist>
346
            <listitem><para><filename role="package">ftp/mirror</filename></para></listitem>
366
            <listitem>
347
            <listitem><para><filename role="package">ftp/ftpmirror</filename></para></listitem>
367
			  <para>
348
            <listitem><para><filename role="package">ftp/emirror</filename></para></listitem>
368
			    <filename role="package">ftp/mirror</filename>
349
            <listitem><para><filename role="package">ftp/spegla</filename></para></listitem>
369
			  </para>
350
            <listitem><para><filename role="package">ftp/omi</filename></para></listitem>
370
			</listitem>
351
            <listitem><para>some even use <filename role="package">ftp/wget</filename></para></listitem>
371
            <listitem>
372
			  <para>
373
			    <filename role="package">ftp/ftpmirror</filename>
374
			  </para>
375
			</listitem>
376
            <listitem>
377
			  <para>
378
			    <filename role="package">ftp/emirror</filename>
379
			  </para>
380
			</listitem>
381
            <listitem>
382
			  <para>
383
			    <filename role="package">ftp/spegla</filename>
384
			  </para>
385
			</listitem>
386
            <listitem>
387
			  <para>
388
			    <filename role="package">ftp/omi</filename>
389
			  </para>
390
			</listitem>
391
            <listitem>
392
			  <para>
393
			    <filename role="package">ftp/wget</filename>
394
			  </para>
395
			</listitem>
352
          </itemizedlist>
396
          </itemizedlist>
353
354
          <filename role="package">ftp/mirror</filename> was very popular, but seemed
355
          to have some drawbacks, as its written in perl,
356
          and did have real problems on mirroring large
357
          directories like a FreeBSD site. There are rumours, that
358
          the current version has fixed this, by allowing
359
          to specify a different algorithm for comparing
360
          the directory structure.
361
        </para>
397
        </para>
362
        <para>
398
        <para>
363
          In general FTP is not really good for mirroring, since it transfers
399
          FTP is not good for mirroring, since it transfers each whole file,
364
          each whole file, if it has changed, and does
400
		  if it has changed, and does not create a single data stream, that
365
          not create a single data stream, that will benefit from
401
		  will benefit from a large TCP congestion window. 
366
          a large TCP congestion window. 
367
        </para>
402
        </para>
368
      </sect3>
403
      </sect3>
369
      <sect3 id="mirror-ftp-rsync">
404
      <sect3 id="mirror-ftp-rsync">
370
        <title>With RSYNC</title>
405
        <title>With rsync</title>
371
        <para>
406
        <para>
372
          A better way, to mirror the FTP area is <application>rsync</application>.
407
          A better way, to mirror the FTP area is
373
          You can install the port <filename role="package">net/rsync</filename> and then use
408
		  <application>rsync</application>. You can install the port
374
          rsync to sync with your upstream host. 
409
		  <filename role="package">net/rsync</filename> and then use
375
          <application>rsync</application> is already mentioned
410
		  rsync to sync with your upstream host. 
376
          in <xref linkend="mirror-serv-rsync">.
411
		  <application>rsync</application> is already mentioned in
377
          Since <application>rsync</application> access is not 
412
		  <xref linkend="mirror-serv-rsync">. Since
378
          required, your preferred upstream site may not allow it,
413
		  <application>rsync</application> access is not required,
379
          but it already widely used, so chances are small, that
414
		  your preferred upstream site may not allow it. In this case
380
          you cannot use it. You can always consider using an
415
		  you can consider using an upstream server, that offers it,
381
          upstream server, that offers it, just for the benefits
416
		  for the benefits of rsync. 
382
          of rsync. 
383
          <note>
417
          <note>
384
            <para>
418
            <para>
385
              Since the number of <application>rsync</application> 
419
              Since the number of <application>rsync</application> 
Lines 396-403 Link Here
396
          Consult the documentation for <application>rsync</application>,
430
          Consult the documentation for <application>rsync</application>,
397
          which is also available at
431
          which is also available at
398
          <ulink url="http://rsync.samba.org/">http://rsync.samba.org/</ulink>
432
          <ulink url="http://rsync.samba.org/">http://rsync.samba.org/</ulink>
399
          about the various options to be used with rsync.
433
          about the various options to be used with rsync. Also you might
400
          Also you might
401
          want to set up a script framework, that calls such a command
434
          want to set up a script framework, that calls such a command
402
          via &man.cron.8;.
435
          via &man.cron.8;.
403
        </para>
436
        </para>
Lines 405-416 Link Here
405
      <sect3 id="mirror-ftp-cvsup">
438
      <sect3 id="mirror-ftp-cvsup">
406
        <title>With CVSup</title>
439
        <title>With CVSup</title>
407
        <para>
440
        <para>
408
          A few sites, including the one-and-only <hostid>ftp-master.freebsd.org</hostid>
441
          A few sites, including the one-and-only
409
          even offer <application>CVSup</application> to mirror the contents of 
442
		  <hostid role="fqdn">ftp-master.freebsd.org</hostid> even offer
410
          the FTP space. You need to install a <application>cvsup</application>
443
		  <application>CVSup</application> to mirror the contents of the
411
          client, preferrably from the port: <filename role="package">net/cvsup</filename>.
444
		  FTP space. You need to install a <application>CVSup</application>
412
          (Also reread <xref linkend="mirror-serv-cvsup">.)
445
          client, preferrably from the port:
413
          A sample supfile, suitable for <hostid>ftp-master.freebsd.org</hostid>
446
		  <filename role="package">net/cvsup-without-gui</filename>.
447
          (Also reread <xref linkend="mirror-serv-cvsup">.) A sample supfile,
448
		  suitable for <hostid role="fqdn">ftp-master.freebsd.org</hostid>
414
          looks like this:
449
          looks like this:
415
          <programlisting>
450
          <programlisting>
416
          #
451
          #
Lines 429-455 Link Here
429
          FreeBSD-archive release=all preserve
464
          FreeBSD-archive release=all preserve
430
          </programlisting>
465
          </programlisting>
431
466
432
          It seems <application>CVSup</application> would be the best
467
          Distribution via <application>CVSup</application> is only
433
          way to mirror the archive, in terms of efficiency, but
468
		  available from certain sites.
434
          it is only available from few sites. In fact I just know
435
          <hostid>ftp-master.freebsd.org</hostid> for sure.
436
        </para>
469
        </para>
437
      </sect3>
470
      </sect3>
438
    </sect2>
471
    </sect2>
439
    <sect2 id="mirror-cvs">
472
    <sect2 id="mirror-cvs">
440
      <title>Mirroring the CVS repository</title>
473
      <title>Mirroring the CVS repository</title>
441
      <para>
474
      <para>
442
        Again you have various possibilities, but the most
475
        Again you have various possibilities, but using
443
        recommended one, is to use <link linkend="mirror-cvs-cvsup">CVSup</link>.
476
		<link linkend="mirror-cvs-cvsup">CVSup</link> is reccomended.
444
      </para>
477
      </para>
445
      <sect3 id="mirror-cvs-cvsup">
478
      <sect3 id="mirror-cvs-cvsup">
446
        <title>Using CVSup</title>
479
        <title>Using CVSup</title>
447
        <para>
480
        <para>
448
          <application>CVSup</application> was already described to some
481
          <application>CVSup</application> was already described to some
449
          detail in <xref linkend="mirror-serv-cvsup"> and <xref linkend="mirror-ftp-cvsup">.
482
          detail in <xref linkend="mirror-serv-cvsup"> and
483
		  <xref linkend="mirror-ftp-cvsup">.
450
        </para>
484
        </para>
451
        <para>
485
        <para>
452
          Here we just describe an example to set up the <filename>supfile</filename>:
486
          Here we just describe an example to set up the
487
		  <filename>supfile</filename>:
453
          <programlisting>
488
          <programlisting>
454
          #
489
          #
455
          # FreeBSD CVS supfile from master server
490
          # FreeBSD CVS supfile from master server
Lines 467-502 Link Here
467
          cvs-all
502
          cvs-all
468
          </programlisting>
503
          </programlisting>
469
504
470
          You should also have a look at <filename>/usr/share/examples/cvsup</filename>
505
          You should also have a look at the sample files available in
506
		  <filename>/usr/share/examples/cvsup/</filename>.
471
        </para>
507
        </para>
472
      </sect3>
508
      </sect3>
473
      <sect3 id="mirror-cvs-other">
509
      <sect3 id="mirror-cvs-other">
474
        <title>Using other methods</title>
510
        <title>Using other methods</title>
475
        <para>
511
        <para>
476
          Using other methods than <application>CVSup</application> is
512
          Using other methods than <application>CVSup</application> are
477
          generally not recommended. We describe them in short here 
513
          generally not recommended. We describe them in short here 
478
          anyway. Since most sites offer the CVS repository as
514
          anyway. Since most sites offer the CVS repository as part of
479
          part of the FTP fileset under the path
515
		  the FTP fileset under the path
480
          <filename>/pub/FreeBSD/development/FreeBSD-CVS</filename>,
516
		  <filename>/pub/FreeBSD/development/FreeBSD-CVS</filename>, the
481
          the following methods can of course be used.
517
		  following methods can of course be used.
482
          <itemizedlist>
518
          <itemizedlist>
483
            <listitem><para><application>FTP</application></para></listitem>
519
            <listitem>
484
            <listitem><para><application>RSYNC</application></para></listitem>
520
			  <para>
485
            <listitem><para>maybe even <application>HTTP</application></para></listitem>
521
			    <application>FTP</application>
522
			  </para>
523
			</listitem>
524
            <listitem>
525
			  <para>
526
			    <application>rsync</application>
527
			  </para>
528
			</listitem>
486
          </itemizedlist>
529
          </itemizedlist>
487
530
488
          If you find a site, that supports it, you could use
531
          If you find a site, that supports it, you could use
489
          <filename role="package">net/sup</filename>, but it is inferior to <application>CVSup</application>
532
          <filename role="package">net/sup</filename>, but it is inferior
490
          and it's deficiencies caused John Polstra to develop
533
		  to <application>CVSup</application> and it's deficiencies
491
          <application>CVSup</application> in the first place, so
534
		  caused &a.jdp; to develop <application>CVSup</application> in the
492
          it is clearly not recommended.
535
		  first place, so it is clearly not recommended.
493
536
494
          <important>
537
          <important>
495
            <para>
538
            <para>
496
              AFAICT, you can <emphasis>NOT</emphasis> AnonCVS to 
539
			  To mirror the AnonCVS repository you will need to use a
497
              mirror the CVS repository, since CVS does not allow
540
			  method other than CVS.
498
              you to access the repository itself, but only checked
499
              out versions of the modules.
500
            </para>
541
            </para>
501
          </important>
542
          </important>
502
        </para>
543
        </para>
Lines 513-526 Link Here
513
        on a regular basis, maybe just after your repository was updated.
554
        on a regular basis, maybe just after your repository was updated.
514
        Of course, the files need to remain in a directory, available
555
        Of course, the files need to remain in a directory, available
515
        for public WWW access. The installation and configuration of a 
556
        for public WWW access. The installation and configuration of a 
516
        webserver is not discussed here.
557
        webserver is not diskussed here.
517
      </para>
558
      </para>
518
      <para>
559
      <para>
519
        If you don't have a local repository, you can use 
560
        If you don't have a local repository, you can use 
520
        <application>CVSup</application> to maintain an <quote>up to date copy</quote>
561
        <application>CVSup</application> to maintain an <quote>up to date
521
        of the www pages. A sample supfile can be found in
562
		copy</quote> of the www pages. A sample supfile can be found in
522
        <filename>/usr/share/examples/cvsup/www-supfile</filename> and
563
        <filename>/usr/share/examples/cvsup/www-supfile</filename> and
523
        could look like this:
564
        looks like this:
524
        <programlisting>
565
        <programlisting>
525
        #
566
        #
526
        # WWW module supfile for FreeBSD
567
        # WWW module supfile for FreeBSD
Lines 539-546 Link Here
539
        </programlisting>
580
        </programlisting>
540
     </para>
581
     </para>
541
     <para>
582
     <para>
542
       Using <filename role="package">ftp/wget</filename> or other web-mirror tools, is
583
       Using <filename role="package">ftp/wget</filename> to index and
543
       probably not recommended.
584
	   mirror the data using FTP or HTTP is <emphasis>not</emphasis>
585
	   reccomended.
544
     </para>
586
     </para>
545
     <sect3 id="mirror-www-doc">
587
     <sect3 id="mirror-www-doc">
546
       <title>Mirroring the FreeBSD documentation</title>
588
       <title>Mirroring the FreeBSD documentation</title>
Lines 548-554 Link Here
548
         As the documentation is referenced a lot from the 
590
         As the documentation is referenced a lot from the 
549
         webpages, it is recommended, that you mirror the 
591
         webpages, it is recommended, that you mirror the 
550
         FreeBSD documentation as well. However, this is not
592
         FreeBSD documentation as well. However, this is not
551
         so trivial as the www-pages alone.
593
		 as easy to do.
552
       </para>
594
       </para>
553
       <para>
595
       <para>
554
         First of all, you should get the doc sources,
596
         First of all, you should get the doc sources,
Lines 573-607 Link Here
573
         </programlisting>
615
         </programlisting>
574
       </para>
616
       </para>
575
       <para>
617
       <para>
576
         Then you need to install a couple of ports.
618
         Then you need to install a couple of ports. You are lucky, that
577
         You are lucky, that there is a meta-port:
619
		 there is a meta-port:
578
         <filename role="package">textproc/docproj</filename> to do the work
620
		 <filename role="package">textproc/docproj</filename> to do the work
579
         for you. You need to setup some 
621
         for you. You need to setup some environment variables, like
580
         environment variables, like
622
         <literal>SGML_CATALOG_FILES</literal>, also have a look at your
581
         <literal>SGML_CATALOG_FILES</literal>,
623
		 <filename>/etc/make.conf</filename> (copy
582
         also have a look at your <filename>/etc/make.conf</filename>
624
		 <filename>/etc/defaults/make.conf</filename> if you do not have
583
         (copy <filename>/etc/defaults/make.conf</filename> if
625
		 a <filename>/etc/make.conf</filename>), and look at the
584
         you don't have one), and look at the
626
         <literal>DOC_LANG</literal> variable. Now you are probably ready
585
         <literal>DOC_LANG</literal> variable.
627
		 to run <command>make</command> in you doc directory
586
         Now you are probably ready to run <command>make</command>
628
		 (<filename>/usr/share/doc</filename> by default) and build the
587
         in you doc directory (<filename>/usr/share/doc</filename>
629
		 documentation. Again you need to make it accessible for your
588
         by default) and build the documentation.
630
		 webserver and make sure, the links point to the right location.
589
         Again you need to make it accessible for your webserver
590
         and make sure, the links point to the right location.
591
         <important>
631
         <important>
592
           <para>
632
           <para>
593
             The building of the documentation, as well as lots
633
             The building of the documentation, as well as lots of side
594
             of side issues is documented itself in:
634
			 issues is documented itself in: <ulink url="http://www.freebsd.org/doc/en_US.ISO8859-1/books/fdp-primer/">fdp-primer</ulink>.
595
             <ulink url="http://www.freebsd.org/doc/en_US.ISO8859-1/books/fdp-primer/">fdp-primer</ulink>.
596
             Please read this piece of documentation, especially if you
635
             Please read this piece of documentation, especially if you
597
             have problems, building the documentation.
636
             have problems, building the documentation.
598
           </para>
637
           </para>
599
         </important>
638
         </important>
600
         <note>
601
           <para>
602
           XXX MAYBE THIS CAN BE LINKED FROM WITHIN - NOT USING AN ABSOLUTE URL XXX
603
           </para>
604
         </note>
605
       </para>
639
       </para>
606
     </sect3>
640
     </sect3>
607
   </sect2>
641
   </sect2>
Lines 609-636 Link Here
609
  <sect1 id="mirror-where">
643
  <sect1 id="mirror-where">
610
    <title>Where to mirror from</title>
644
    <title>Where to mirror from</title>
611
    <para>
645
    <para>
612
      This is an important issue. So this section will
646
      This is an important issue. So this section will spend some effort
613
      spend some effort to explain the backgrounds.
647
	  to explain the issues you must consider.
614
    </para>
648
    </para>
615
    <sect2 id="mirror-where-organisation">
649
    <sect2 id="mirror-where-organisation">
616
      <title>A few words about the organisation</title>
650
      <title>A few words about the organisation</title>
617
      <para>
651
      <para>
618
        Mirrors are organised by country. All
652
        Mirrors are organised by country. All
619
        official mirrors have a DNS entry of the form
653
        official mirrors have a DNS entry of the form
620
        <hostid>ftpX.CC.freebsd.org</hostid>. Whith 
654
        <hostid role="fqdn">ftpX.CC.freebsd.org</hostid>. Where 
621
        <emphasis>CC</emphasis> (i.e. country code) beeing the
655
        <emphasis>CC</emphasis> (i.e. country code) is the
622
        <emphasis>top level domain</emphasis>
656
        <emphasis>top level domain</emphasis>
623
        of the country, where this mirror is located;
657
        of the country, where this mirror is located;
624
        and <emphasis>X</emphasis> is a number,
658
        and <emphasis>X</emphasis> is a number,
625
        telling that the host would be the <emphasis>Xth</emphasis>
659
        telling that the host would be the <emphasis>Xth</emphasis>
626
        mirror in that country.
660
        mirror in that country.
627
        (Same applies to <hostid>cvsupX.CC.freebsd.org</hostid>,
661
        (Same applies to <hostid role="fqdn">cvsupX.CC.freebsd.org</hostid>,
628
        <hostid>wwwX.CC.freebsd.org</hostid>, etc.)
662
        <hostid role="fqdn">wwwX.CC.freebsd.org</hostid>, etc.)
629
        There are mirrors with no <emphasis>CC</emphasis> part.
663
        There are mirrors with no <emphasis>CC</emphasis> part.
630
        These are usually located in the US, but don't need to.
664
        These are usually located in the US, but it is not a requirement.
631
        <hostid>ftp.freebsd.org</hostid> is currently
665
        <hostid role="fqdn">ftp.freebsd.org</hostid> is currently located
632
        located in Denmark and just another mirror
666
		in Denmark and is just another mirror (i.e. it is
633
        (i.e. it is <emphasis>NO</emphasis> master site).
667
		<emphasis>not</emphasis> the master site).
634
      </para>
668
      </para>
635
      <para>
669
      <para>
636
        Additionally there exists a hierarchy of mirrors, which
670
        Additionally there exists a hierarchy of mirrors, which
Lines 638-693 Link Here
638
        The master sites are not referred to, but can be
672
        The master sites are not referred to, but can be
639
        described as <emphasis>Tier-0</emphasis>. Mirrors
673
        described as <emphasis>Tier-0</emphasis>. Mirrors
640
        that mirror from these sites can be considered
674
        that mirror from these sites can be considered
641
        <emphasis>Tier-1</emphasis>, mirrors of <emphasis>Tier-1</emphasis>-mirrors,
675
        <emphasis>Tier-1</emphasis>, mirrors of
642
        are <emphasis>Tier-2</emphasis>, etc. 
676
		<emphasis>Tier-1</emphasis>-mirrors, are <emphasis>Tier-2</emphasis>,
643
        Official sites are encouraged to be of a low <emphasis>tier</emphasis>,
677
		etc.  Official sites are encouraged to be of a low
644
        but the lower the tier, the higher the requirements in 
678
		<emphasis>tier</emphasis>, but the lower the tier, the higher the
645
        terms as described in <xref linkend="mirror-requirements">.
679
		requirements in terms as described in
646
        Also access to low-tier-mirrors may be restricted, and
680
		<xref linkend="mirror-requirements">.
647
        access to master sites is definetly restricted.
681
        Also access to low-tier-mirrors may be restricted, and access to
648
        The <emphasis>tier</emphasis>-hierarchy is not reflected
682
		master sites is definetly restricted. The
649
        by DNS and generally not documented anywhere, except
683
		<emphasis>tier</emphasis>-hierarchy is not reflected by DNS and
650
        for the master sites. However, official mirrors with low numbers,
684
		generally not documented anywhere, except for the master sites.
651
        like 1-4, are usually <emphasis>Tier-1</emphasis>
685
		However, official mirrors with low numbers, like 1-4, are usually
652
        (this is just a rough hint, and there's no rule).
686
		<emphasis>Tier-1</emphasis> (this is just a rough hint, and there's
687
		no rule).
653
      </para>
688
      </para>
654
    </sect2>
689
    </sect2>
655
    <sect2 id="mirror-where-where">
690
    <sect2 id="mirror-where-where">
656
      <title>Ok, but where should I get the stuff now?</title>
691
      <title>Ok, but where should I get the stuff now?</title>
657
      <para>
692
      <para>
658
        The short answer is: from the
693
        The short answer is: from the site, that is closest to you in
659
        site, that is closest to you in internet terms, or gives you
694
		internet terms, or that gives you the fastest access. 
660
        the fastest access. 
661
      </para>
695
      </para>
662
      <sect3 id="mirror-where-simple">
696
      <sect3 id="mirror-where-simple">
663
        <title>I just want to mirror from somewhere!</title>
697
        <title>I just want to mirror from somewhere!</title>
664
        <para>
698
        <para>
665
          If you have no special intentions or
699
          If you have no special intentions or requirements, the statement
666
          requirements, the statement in <xref linkend="mirror-where-where">
700
		  in <xref linkend="mirror-where-where"> applies.  This means:
667
          applies.  This means:
668
        </para>
701
        </para>
669
        <procedure>
702
        <procedure>
670
          <step>
703
          <step>
671
            <para>
704
            <para>
672
              Look at available mirrors in your country.
705
              Look at available mirrors in your country.
673
              The <ulink url="http://www.freebsdmirrors.org/FBSDsites.php3">FreeBSD
706
              The
707
			  <ulink url="http://www.freebsdmirrors.org/FBSDsites.php3">FreeBSD
674
              Mirror Database</ulink> can help you with this.
708
              Mirror Database</ulink> can help you with this.
675
            </para>
709
            </para>
676
          </step>
710
          </step>
677
          <step>
711
          <step>
678
            <para>
712
            <para>
679
              Check roughly those, which provide fastest access
713
              Check roughly those, which provide fastest access (number of
680
              (number of hops, round-trip-times)
714
			  hops, round-trip-times) and offer the services you intend to
681
              and offer the services you intend to
715
              use (like <application>rsync</application> or
682
              use (like <application>rsync</application>
716
			  <application>CVSup</application>).
683
              or <application>CVSup</application>).
684
            </para>
717
            </para>
685
          </step>
718
          </step>
686
          <step>
719
          <step>
687
            <para>
720
            <para>
688
              Contact the admins of your chosen site, stating your
721
              Contact the admins of your chosen site, stating your
689
              request, and asking about their terms and
722
              request, and asking about their terms and policies.
690
              policies.
691
            </para>
723
            </para>
692
          </step>
724
          </step>
693
          <step>
725
          <step>
Lines 703-730 Link Here
703
          In general the description in <xref linkend="mirror-where-simple">
735
          In general the description in <xref linkend="mirror-where-simple">
704
          still applies. Of course you may want to put some
736
          still applies. Of course you may want to put some
705
          weight on the fact, that your upstream should be of
737
          weight on the fact, that your upstream should be of
706
          a low tier.
738
          a low tier. There are some further considerations about
707
          There are some other considerations about <emphasis>official</emphasis>
739
		  <emphasis>official</emphasis> mirrors, that are described in
708
          mirrors, that are described in <xref linkend="mirror-official">.
740
		  <xref linkend="mirror-official">.
709
        </para>
741
        </para>
710
      </sect3>
742
      </sect3>
711
      <sect3 id="mirror-where-master">
743
      <sect3 id="mirror-where-master">
712
        <title>I want to access the master sites!</title>
744
        <title>I want to access the master sites!</title>
713
        <para>
745
        <para>
714
          If you have good reasons, and good prerequesites,
746
          If you have good reasons, and good prerequesites, you may want
715
          you may want and get access to one of the 
747
		  and get access to one of the  master sites. Access to these sites
716
          master sites. Access to these sites is 
748
		  is restriced, and there are special policies for access. If you are
717
          generally restriced, and there are special policies
749
		  already an <emphasis>official</emphasis> mirror, this certainly
718
          for access. If you are already an <emphasis>official</emphasis>
750
		  helps you getting access. In any other case make sure your country
719
          mirror, this certainly helps you getting access.
751
		  really needs another mirror. If it already has three or more, ask
720
          In any other case make sure your country really needs another mirror.
721
          If it already has three or more, ask
722
          the &a.hubs; first.
752
          the &a.hubs; first.
723
        </para>
753
        </para>
724
        <para>
754
        <para>
725
          There are just two master sites, for the FTP fileset and
755
          There are just two master sites, for the FTP fileset and for the
726
          for the CVS repository (the webpages and docs are obtained from CVS,
756
		  CVS repository (the webpages and docs are obtained from CVS, so
727
          so there is no need for it).
757
		  there is no need for it).
728
        </para>
758
        </para>
729
        <sect4 id="mirror-where-master-ftp">
759
        <sect4 id="mirror-where-master-ftp">
730
          <title>ftp-master.freebsd.org</title>
760
          <title>ftp-master.freebsd.org</title>
Lines 732-753 Link Here
732
            This is the master site for the FTP fileset. 
762
            This is the master site for the FTP fileset. 
733
          </para>
763
          </para>
734
          <para>
764
          <para>
735
            <hostid>ftp-master.FreeBSD.org</hostid> provides
765
            <hostid role="fqdn">ftp-master.FreeBSD.org</hostid> provides
736
            <application>rsync</application> and <application>CVSup</application>
766
            <application>rsync</application> and
737
            access, rather in addition to ftp protocol.
767
			<application>CVSup</application> access, rather in addition to
738
            Refer to <xref linkend="mirror-ftp-rsync"> and
768
			ftp protocol. Refer to <xref linkend="mirror-ftp-rsync"> and
739
            <xref linkend="mirror-ftp-cvsup"> how to access
769
            <xref linkend="mirror-ftp-cvsup"> how to access via these
740
            via these protocols.
770
			protocols.
771
          </para>
772
          <para>
773
            Mirrors should be encouraged to also allow
774
			<application>rsync</application> access for the FTP contents,
775
			since they are <emphasis>Tier-1</emphasis>-mirrors.
776
          </para>
777
          <para>
778
            To get access to
779
			<hostid role="fqdn">ftp-master.FreeBSD.org</hostid>, you need
780
			to contact &a.peter;.
741
          </para>
781
          </para>
742
          <para>
743
            Mirrors should be encouraged to also allow <application>rsync</application>
744
            access for the FTP contents, since they are
745
            <emphasis>Tier-1</emphasis>-mirrors.
746
          </para>
747
          <para>
748
            To get access to <hostid>ftp-master.FreeBSD.org</hostid>,
749
            you need to contact &a.peter;.
750
          </para>
751
        </sect4>
782
        </sect4>
752
        <sect4 id="mirror-where-master-cvsup">
783
        <sect4 id="mirror-where-master-cvsup">
753
          <title>cvsup-master.freebsd.org</title>
784
          <title>cvsup-master.freebsd.org</title>
Lines 755-778 Link Here
755
            This is the master site for the CVS repository.
786
            This is the master site for the CVS repository.
756
          </para>
787
          </para>
757
          <para>
788
          <para>
758
            <hostid>cvsup-master.FreeBSD.org</hostid> provides
789
            <hostid role="fqdn">cvsup-master.FreeBSD.org</hostid> provides
759
            <application>CVSup</application> access only.
790
            <application>CVSup</application> access only. See
760
            See <xref linkend="mirror-cvs-cvsup"> for details.
791
			<xref linkend="mirror-cvs-cvsup"> for details.
761
          </para>
792
          </para>
762
          <para>
793
          <para>
763
            To get access, you need to contact &a.jdp;.
794
            To get access, you need to contact &a.jdp;. Make sure you read
764
            Make sure you read
795
            <ulink url="http://people.freebsd.org/~jdp/cvsup-access/">
765
            <ulink url="http://people.freebsd.org/~jdp/cvsup-access/">FreeBSD CVSup Access Policy</ulink>
796
			FreeBSD CVSup Access Policy</ulink> first!
766
            first!
767
          </para>
797
          </para>
768
          <para>
798
          <para>
769
            Set up the required authentication by following
799
            Set up the required authentication by following
770
            <ulink url="http://people.freebsd.org/~jdp/cvpasswd/">these
800
            <ulink url="http://people.freebsd.org/~jdp/cvpasswd/">these
771
            instructions</ulink>. Make sure you specify the server as
801
            instructions</ulink>. Make sure you specify the server as
772
            <hostid>freefall.freebsd.org</hostid> on the cvpasswd
802
            <hostid role="fqdn">freefall.freebsd.org</hostid> on the
773
            command line, as described in this document,
803
			cvpasswd command line, as described in this document, even
774
            even when you are contacting
804
			when you are contacting
775
            <hostid>cvsup-master.freebsd.org</hostid>
805
			<hostid role="fqdn">cvsup-master.freebsd.org</hostid>
776
          </para>
806
          </para>
777
        </sect4>
807
        </sect4>
778
      </sect3>
808
      </sect3>
Lines 785-798 Link Here
785
      <itemizedlist>
815
      <itemizedlist>
786
        <listitem>
816
        <listitem>
787
          <para>
817
          <para>
788
            a) have a <hostid>freebsd.org</hostid> DNS entry
818
            Have a <hostid>freebsd.org</hostid> DNS entry (usually a
789
            (usually a CNAME).
819
			CNAME).
790
          </para>
820
          </para>
791
        </listitem>
821
        </listitem>
792
        <listitem>
822
        <listitem>
793
          <para>
823
          <para>
794
            b) are listed as an official mirror in the FreeBSD
824
            Are listed as an official mirror in the FreeBSD documentation
795
               documentation (like handbook).
825
			(The Handbook).
796
          </para>
826
          </para>
797
        </listitem>
827
        </listitem>
798
      </itemizedlist>
828
      </itemizedlist>
Lines 805-816 Link Here
805
    <sect2 id="mirror-official-requirements">
835
    <sect2 id="mirror-official-requirements">
806
      <title>Special Requirements for official (tier-1) mirrors</title>
836
      <title>Special Requirements for official (tier-1) mirrors</title>
807
      <para>
837
      <para>
808
        It is not so easy to state requirements for all
838
        It is not so easy to state requirements for all official mirrors,
809
        official mirrors, since the project is sort of
839
		since the project is more tolerant here. It is more easy to say,
810
        tolerant here. It is more easy to say,
840
        what <emphasis>official tier-1 mirrors</emphasis> are required to.
811
        what <emphasis>official tier-1 mirrors</emphasis>
841
		All other official mirrors, can consider this a big
812
        are required to. All other official mirrors,
842
		<emphasis>should</emphasis>.
813
        can consider this a big <emphasis>should</emphasis>.
814
        <note>
843
        <note>
815
          <para>
844
          <para>
816
            The following applies mainly to the FTP fileset,
845
            The following applies mainly to the FTP fileset,
Lines 823-873 Link Here
823
      <para>
852
      <para>
824
        Tier-1 mirrors are required to:
853
        Tier-1 mirrors are required to:
825
        <itemizedlist>
854
        <itemizedlist>
826
          <listitem><para>to carry the complete fileset</para></listitem>
855
          <listitem>
827
          <listitem><para>allow access to other mirror sites</para></listitem>
856
		    <para>To carry the complete fileset</para>
828
          <listitem><para>provide <application>FTP</application> and 
857
		  </listitem>
829
            <application>RSYNC</application> access</para></listitem>
858
          <listitem>
859
		    <para>Allow access to other mirror sites</para>
860
		  </listitem>
861
          <listitem>
862
		    <para>Provide <application>FTP</application> and 
863
            <application>rsync</application> access</para>
864
		  </listitem>
830
        </itemizedlist>
865
        </itemizedlist>
831
866
832
        Furthermore, admins should be subscribed to the &a.hubs;.
867
        Furthermore, admins should be subscribed to the &a.hubs;.
833
        See <ulink url="http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/eresources.html#ERESOURCES-MAIL">this link</ulink> for details, how to subscribe.
868
        See <ulink url="http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/eresources.html#ERESOURCES-MAIL">this link</ulink> for details, how
869
		to subscribe.
834
      </para>
870
      </para>
835
      <important>
871
      <important>
836
        <para>It is <emphasis>very</emphasis> important for a hub administrator, especially
872
        <para>It is <emphasis>very</emphasis> important for a hub
837
          Tier-1 hub admins, to check the
873
		administrator, especially Tier-1 hub admins, to check the
838
          <ulink url="http://www.freebsd.org/releases/4.6R/schedule.html">release schedule</ulink>
874
		<ulink
839
          for the next FreeBSD release. This is important because it will tell you when the
875
		url="http://www.freebsd.org/releases/4.6R/schedule.html">release
840
          next release is scheduled
876
		schedule</ulink> for the next FreeBSD release. This is important
841
          to come out, and thus giving you time to prepare for the big spike of traffic which follows it.
877
		because after a release there is a large load spike on all mirrors.
842
        </para>
878
		</para>
843
        <para>
879
        <para>
844
          It is also eminent that hub administrators try to keep their mirrors as up-to-date as
880
          It is also eminent that hub administrators try to keep their
845
          possible (again, even more crucial for Tier-1 mirrors). If Mirror1 doesn't update for a
881
		  mirrors as up-to-date as possible (again, even more crucial for
846
          while, lower tier mirrors will begin to mirror old data from Mirror1 and thus begins
882
		  Tier-1 mirrors). If Mirror1 doesn't update for a while, lower
847
          a downward spiral... Keep your mirrors up to date!
883
		  tier mirrors will begin to mirror old data from Mirror1 and thus
884
		  begins a downward spiral... Keep your mirrors up to date!
848
        </para>
885
        </para>
849
      </important>
886
      </important>
850
    </sect2>
887
    </sect2>
851
    <sect2 id="mirror-official-become">
888
    <sect2 id="mirror-official-become">
852
      <title>How to become official then?</title>
889
      <title>How to become official then?</title>
853
      <para>
890
      <para>
854
        An interesting questions, especially, since the state
891
        An interesting questions, especially, since the state of beeing
855
        of beeing official comes with some benefits, like a much
892
		official comes with some benefits, like a much higher bill from
856
        higher bill from your ISP, as more people will be using
893
		your ISP, as more people will be using your site. Also it may be
857
        your site. Also it may be a key requirement, to get access
894
		a key requirement, to get access to a master site.
858
        to a master site.
859
      </para>
895
      </para>
860
      <para>
896
      <para>
861
        Before applying, please consider (again) if
897
        Before applying, please consider (again) if another official mirror
862
        another official mirror is really needed for
898
		is really needed for your region. Ask on the &a.hubs;, if in doubt.
863
        your region. Ask on the &a.hubs;, if in doubt.
864
      </para>
899
      </para>
865
      <para>Ok, here is how to do it:</para>
900
      <para>Ok, here is how to do it:</para>
866
      <procedure>
901
      <procedure>
867
        <step>
902
        <step>
868
          <para>
903
          <para>
869
            Get the mirror running in first place (maybe not
904
            Get the mirror running in first place (maybe not using a
870
            using a master site, yet).
905
			master site, yet).
871
          </para>
906
          </para>
872
        </step>
907
        </step>
873
        <step>
908
        <step>
Lines 886-894 Link Here
886
            in <xref linkend="mirror-where-organisation">.
921
            in <xref linkend="mirror-where-organisation">.
887
          </para>
922
          </para>
888
          <para>
923
          <para>
889
            If there is no subdomain delegated, yet, for your
924
            If there is no subdomain delegated, yet, for your country, you
890
            country, you probably need to contact
925
			probably need to contact <email>hostmaster@freebsd.org</email>,
891
            <email>hostmaster@freebsd.org</email>,
892
            however, you can try the &a.hubs; first.
926
            however, you can try the &a.hubs; first.
893
          </para>
927
          </para>
894
        </step>
928
        </step>
Lines 916-944 Link Here
916
      <itemizedlist>
950
      <itemizedlist>
917
        <listitem>
951
        <listitem>
918
          <para>ftp2.FreeBSD.org - <email>grisha@ispol.com</email> -
952
          <para>ftp2.FreeBSD.org - <email>grisha@ispol.com</email> -
919
            <ulink url="http://people.freebsd.org/~logo/ftp2/">(Bandwidth)</ulink>
953
            <ulink url="http://people.freebsd.org/~logo/ftp2/">
954
			Bandwidth</ulink>
920
          </para>
955
          </para>
921
        </listitem>
956
        </listitem>
922
        <listitem>
957
        <listitem>
923
          <para>ftp.is.FreeBSD.org - <email>oli@isnic.is</email> - 
958
          <para>ftp.is.FreeBSD.org - <email>oli@isnic.is</email> - 
924
            <ulink url="http://www.rhnet.is/status/draupnir/draupnir.html">
959
            <ulink url="http://www.rhnet.is/status/draupnir/draupnir.html">
925
            (Bandwidth)</ulink> <ulink url="http://www.rhnet.is/status/ftp/ftp-notendur.html">(FTP
960
			Bandwidth</ulink>
926
            processes)</ulink> <ulink url="http://www.rhnet.is/status/ftp/http-notendur.html">(HTTP processes)
961
			<ulink url="http://www.rhnet.is/status/ftp/ftp-notendur.html">
962
			FTP sessions</ulink>
963
			<ulink url="http://www.rhnet.is/status/ftp/http-notendur.html">
964
			HTTP sessions
927
            </ulink>
965
            </ulink>
928
          </para>
966
          </para>
929
        </listitem>
967
        </listitem>
930
        <listitem>
968
        <listitem>
931
          <para>ftp.cz.FreeBSD.org - <email>cejkar@fit.vutbr.cz</email> -
969
          <para>ftp.cz.FreeBSD.org - <email>cejkar@fit.vutbr.cz</email> -
932
            <ulink url="http://www.cz.FreeBSD.org/stats/mrtg/net.html">(Bandwidth)</ulink>
970
            <ulink url="http://www.cz.FreeBSD.org/stats/mrtg/net.html">
933
            <ulink url="http://www.freebsd.cz/stats/mrtg/ftpd.html">(FTP processes)</ulink>
971
			Bandwidth</ulink>
934
            <ulink url="http://www.freebsd.cz/stats/mrtg/rsyncd.html">(Rsync processes)</ulink>
972
            <ulink url="http://www.freebsd.cz/stats/mrtg/ftpd.html">
973
			FTP sessions</ulink>
974
            <ulink url="http://www.freebsd.cz/stats/mrtg/rsyncd.html">
975
			rsync sessions</ulink>
935
          </para>
976
          </para>
936
        </listitem>
977
        </listitem>
937
        <listitem>
978
        <listitem>
938
          <para>ftp4.de.FreeBSD.org - <email>dl@leo.org</email> -
979
          <para>ftp4.de.FreeBSD.org - <email>dl@leo.org</email> -
939
            <ulink url="http://admin.leo.org/mrtg/ftpusers/ftpusers.html">(FTP users)</ulink>
980
            <ulink url="http://admin.leo.org/mrtg/ftpusers/ftpusers.html">
940
            <ulink url="http://admin.leo.org/mrtg/rsync/rsync.html">(RSYNC users)</ulink>
981
			FTP sessions</ulink>
941
            <ulink url="http://admin.leo.org/mrtg/traffic/atleo5/traffic_atleo5.html">(Bandwidth)</ulink>
982
            <ulink url="http://admin.leo.org/mrtg/rsync/rsync.html">
983
			rsync sessions</ulink>
984
            <ulink url="http://admin.leo.org/mrtg/traffic/atleo5/traffic_atleo5.html">Bandwidth</ulink>
942
          </para>
985
          </para>
943
        </listitem>
986
        </listitem>
944
      </itemizedlist>
987
      </itemizedlist>
Lines 947-965 Link Here
947
      <title>CVSup site stats</title>
990
      <title>CVSup site stats</title>
948
      <itemizedlist>
991
      <itemizedlist>
949
        <listitem>
992
        <listitem>
950
          <para>cvsup5.FreeBSD.org - <email>staff@blackened.com</email> - <ulink
993
          <para>
951
            url="http://cvsup.freebsd.blackened.com/cvsup.freebsd.html">(CVSup processes)</ulink></para>
994
		    <hostid role="fqdn">cvsup5.FreeBSD.org</hostid> -
995
			<email>staff@blackened.com</email> -
996
			<ulink url="http://cvsup.freebsd.blackened.com/cvsup.freebsd.html">
997
			CVSup sessions</ulink>
998
		  </para>
952
        <listitem>
999
        <listitem>
953
          <para>cvsup[23456].jp.FreeBSD.org - <email>kuriyama@FreeBSD.org</email> - <ulink
1000
          <para>
954
            url="http://home.jp.freebsd.org/stats/mrtg/cvsup/">(CVSup processes)</ulink></para>
1001
		    <hostid role="fqdn">cvsup[23456].jp.FreeBSD.org</hostid> -
1002
		    <email>kuriyama@FreeBSD.org</email> -
1003
			<ulink url="http://home.jp.freebsd.org/stats/mrtg/cvsup/">
1004
			CVSup sessions</ulink>
1005
		  </para>
955
        </listitem>
1006
        </listitem>
956
        <listitem>
1007
        <listitem>
957
          <para>cvsup.cz.FreeBSD.org - <email>cejkar@fit.vutbr.cz</email> -
1008
          <para>
958
            <ulink url="http://www.freebsd.cz/stats/mrtg/cvsupd.html">(CVSup processes)</ulink></para>
1009
		    <hostid role="fqdn">cvsup.cz.FreeBSD.org</hostid> -
1010
		    <email>cejkar@fit.vutbr.cz</email> -
1011
		    <ulink url="http://www.freebsd.cz/stats/mrtg/cvsupd.html">
1012
			CVSup sessions</ulink>
1013
		  </para>
959
        </listitem>
1014
        </listitem>
960
        <listitem>
1015
        <listitem>
961
          <para>[cvsup3|anoncvs].de.FreeBSD.org - <email>dl@leo.org</email> -
1016
          <para>
962
            <ulink url="http://admin.leo.org/mrtg/cvsup/cvsup.html">(CVSup processes)</ulink></para>
1017
		    <hostid role="fqdn">[cvsup3|anoncvs].de.FreeBSD.org</hostid> -
1018
			<email>dl@leo.org</email> -
1019
            <ulink url="http://admin.leo.org/mrtg/cvsup/cvsup.html">
1020
			CVSup sessions</ulink>
1021
		  </para>
963
        </listitem>
1022
        </listitem>
964
      </itemizedlist>
1023
      </itemizedlist>
965
    </sect2>
1024
    </sect2>

Return to bug 37037