805 lines
28 KiB
XML
805 lines
28 KiB
XML
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
|
|
"http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd">
|
|
<article xmlns="http://docbook.org/ns/docbook"
|
|
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
|
|
xml:lang="en">
|
|
<info>
|
|
<title>Mirroring FreeBSD</title>
|
|
|
|
<authorgroup>
|
|
<author>
|
|
<personname>
|
|
<firstname>Jun</firstname>
|
|
<surname>Kuriyama</surname>
|
|
</personname>
|
|
<affiliation>
|
|
<address>
|
|
<email>kuriyama@FreeBSD.org</email>
|
|
</address>
|
|
</affiliation>
|
|
</author>
|
|
<author>
|
|
<personname>
|
|
<firstname>Valentino</firstname>
|
|
<surname>Vaschetto</surname>
|
|
</personname>
|
|
<affiliation>
|
|
<address>
|
|
<email>logo@FreeBSD.org</email>
|
|
</address>
|
|
</affiliation>
|
|
</author>
|
|
<author>
|
|
<personname>
|
|
<firstname>Daniel</firstname>
|
|
<surname>Lang</surname>
|
|
</personname>
|
|
<affiliation>
|
|
<address>
|
|
<email>dl@leo.org</email>
|
|
</address>
|
|
</affiliation>
|
|
</author>
|
|
<author>
|
|
<personname>
|
|
<firstname>Ken</firstname>
|
|
<surname>Smith</surname>
|
|
</personname>
|
|
<affiliation>
|
|
<address>
|
|
<email>kensmith@FreeBSD.org</email>
|
|
</address>
|
|
</affiliation>
|
|
</author>
|
|
</authorgroup>
|
|
|
|
<legalnotice xml:id="trademarks" role="trademarks">
|
|
&tm-attrib.freebsd;
|
|
&tm-attrib.general;
|
|
</legalnotice>
|
|
|
|
<pubdate>$FreeBSD$</pubdate>
|
|
|
|
<releaseinfo>$FreeBSD$</releaseinfo>
|
|
|
|
<abstract>
|
|
<para>An in-progress article on how to mirror FreeBSD, aimed at
|
|
hub administrators.</para>
|
|
</abstract>
|
|
</info>
|
|
|
|
<note>
|
|
<para>We are not accepting new mirrors at this time.</para>
|
|
</note>
|
|
|
|
<sect1 xml:id="mirror-contact">
|
|
<title>Contact Information</title>
|
|
|
|
<para>The Mirror System Coordinators can be reached through email
|
|
at <email>mirror-admin@FreeBSD.org</email>. There is also
|
|
a &a.hubs;.</para>
|
|
</sect1>
|
|
|
|
<sect1 xml:id="mirror-requirements">
|
|
<title>Requirements for FreeBSD Mirrors</title>
|
|
|
|
<sect2 xml:id="mirror-diskspace">
|
|
<title>Disk Space</title>
|
|
|
|
<para>Disk space is one of the most important requirements.
|
|
Depending on the set of releases, architectures, and degree of
|
|
completeness you want to mirror, a huge amount of disk space
|
|
may be consumed. Also keep in mind that
|
|
<emphasis>official</emphasis> mirrors are probably required to
|
|
be complete. The web pages should always be mirrored
|
|
completely. Also note that the numbers stated here are
|
|
reflecting the current state (at
|
|
&rel.current;-RELEASE/&rel1.current;-RELEASE). Further
|
|
development and releases will only increase the required
|
|
amount. Also make sure to keep some (ca. 10-20%) extra space
|
|
around just to be sure. Here are some approximate
|
|
figures:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Full FTP Distribution: 1.4 TB</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>CTM deltas: 10 GB</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Web pages: 1GB</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>The current disk usage of FTP Distribution can be found at
|
|
<link
|
|
xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/dir.sizes">ftp://ftp.FreeBSD.org/pub/FreeBSD/dir.sizes</link>.</para>
|
|
</sect2>
|
|
<sect2 xml:id="mirror-bandwidth">
|
|
<title>Network Connection/Bandwidth</title>
|
|
|
|
<para>Of course, you need to be connected to the Internet. The
|
|
required bandwidth depends on your intended use of the mirror.
|
|
If you just want to mirror some parts of FreeBSD for local use
|
|
at your site/intranet, the demand may be much smaller than if
|
|
you want to make the files publicly available. If you intend
|
|
to become an official mirror, the bandwidth required will be
|
|
even higher. We can only give rough estimates here:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>Local site, no public access: basically no minimum,
|
|
but < 2 Mbps could make syncing too
|
|
slow.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Unofficial public site: 34 Mbps is probably a good
|
|
start.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Official site: > 100 Mbps is recommended, and your
|
|
host should be connected as close as possible to your
|
|
border router.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="mirror-system">
|
|
<title>System Requirements, CPU, RAM</title>
|
|
|
|
<para>One thing this depends on the expected number of clients,
|
|
which is determined by the server's policy. It is also
|
|
affected by the types of services you want to offer. Plain
|
|
FTP or HTTP services may not require a huge amount of
|
|
resources. Watch out if you provide rsync. This can have a
|
|
huge impact on CPU and memory requirements as it is considered
|
|
a memory hog. The following are just examples to give you a
|
|
very rough hint.</para>
|
|
|
|
<para>For a moderately visited site that offers
|
|
<application>rsync</application>, you might consider a current
|
|
CPU with around 800MHz - 1 GHz, and at least 512MB RAM. This
|
|
is probably the minimum you want for an
|
|
<emphasis>official</emphasis> site.</para>
|
|
|
|
<para>For a frequently used site you definitely need more RAM
|
|
(consider 2GB as a good start) and possibly more CPU, which
|
|
could also mean that you need to go for a SMP system.</para>
|
|
|
|
<para>You also want to consider a fast disk subsystem.
|
|
Operations on the SVN repository require a fast disk subsystem
|
|
(RAID is highly advised). A SCSI controller that has a cache
|
|
of its own can also speed up things since most of these
|
|
services incur a large number of small modifications to the
|
|
disk.</para>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="mirror-services">
|
|
<title>Services to Offer</title>
|
|
|
|
<para>Every mirror site is required to have a set of core
|
|
services available. In addition to these required services,
|
|
there are a number of optional services that server
|
|
administrators may choose to offer. This section explains
|
|
which services you can provide and how to go about
|
|
implementing them.</para>
|
|
|
|
<sect3 xml:id="mirror-serv-ftp">
|
|
<title>FTP (required for FTP Fileset)</title>
|
|
|
|
<para>This is one of the most basic services, and it is
|
|
required for each mirror offering public FTP distributions.
|
|
FTP access must be anonymous, and no upload/download ratios
|
|
are allowed (a ridiculous thing anyway). Upload capability
|
|
is not required (and <emphasis>must</emphasis> never be
|
|
allowed for the FreeBSD file space). Also the FreeBSD
|
|
archive should be available under the path
|
|
<filename>/pub/FreeBSD</filename>.</para>
|
|
|
|
<para>There is a lot of software available which can be set up
|
|
to allow anonymous FTP (in alphabetical order).</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para><command>/usr/libexec/ftpd</command>: FreeBSD's own
|
|
ftpd can be used. Be sure to read &man.ftpd.8;.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><package>ftp/ncftpd</package>: A commercial package,
|
|
free for educational use.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><package>ftp/oftpd</package>: An ftpd designed with
|
|
security as a main focus.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><package>ftp/proftpd</package>: A modular and very
|
|
flexible ftpd.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><package>ftp/pure-ftpd</package>: Another ftpd
|
|
developed with security in mind.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><package>ftp/twoftpd</package>: As
|
|
above.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><package>ftp/vsftpd</package>: The <quote>very
|
|
secure</quote> ftpd.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>FreeBSD's <application>ftpd</application>,
|
|
<application>proftpd</application> and maybe
|
|
<application>ncftpd</application> are among the most
|
|
commonly used FTPds. The others do not have a large
|
|
userbase among mirror sites. One thing to consider is that
|
|
you may need flexibility in limiting how many simultaneous
|
|
connections are allowed, thus limiting how much network
|
|
bandwidth and system resources are consumed.</para>
|
|
</sect3>
|
|
|
|
<sect3 xml:id="mirror-serv-rsync">
|
|
<title>Rsync (optional for FTP Fileset)</title>
|
|
|
|
<para><application>Rsync</application> is often offered for
|
|
access to the contents of the FTP area of FreeBSD, so other
|
|
mirror sites can use your system as their source. The
|
|
protocol is different from FTP in many ways. It is much
|
|
more bandwidth friendly, as only differences between files
|
|
are transferred instead of whole files when they change.
|
|
<application>Rsync</application> does require a significant
|
|
amount of memory for each instance. The size depends on the
|
|
size of the synced module in terms of the number of
|
|
directories and files. <application>Rsync</application> can
|
|
use <command>rsh</command> and <command>ssh</command> (now
|
|
default) as a transport, or use its own protocol for
|
|
stand-alone access (this is the preferred method for public
|
|
rsync servers). Authentication, connection limits, and
|
|
other restrictions may be applied. There is just one
|
|
software package available:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para><package>net/rsync</package></para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect3>
|
|
|
|
<sect3 xml:id="mirror-serv-http">
|
|
<title>HTTP (required for Web Pages, Optional for FTP
|
|
Fileset)</title>
|
|
|
|
<para>If you want to offer the FreeBSD web pages, you will
|
|
need to install a web server. You may optionally offer the
|
|
FTP fileset via HTTP. The choice of web server software is
|
|
left up to the mirror administrator. Some of the most
|
|
popular choices are:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para><package>www/apache24</package>:
|
|
<application>Apache</application> is still one of the
|
|
most widely deployed web servers on the Internet. It is
|
|
used extensively by the FreeBSD Project.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><package>www/boa</package>:
|
|
<application>Boa</application> is a single-tasking HTTP
|
|
server. Unlike traditional web servers, it does not
|
|
fork for each incoming connection, nor does it fork many
|
|
copies of itself to handle multiple connections.
|
|
Although, it should provide considerably great
|
|
performance for purely static content.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><package>www/cherokee</package>:
|
|
<application>>Cherokee</application> is a very fast,
|
|
flexible and easy to configure web server. It supports
|
|
the widespread technologies nowadays: FastCGI, SCGI,
|
|
PHP, CGI, SSL/TLS encrypted connections, vhosts, users
|
|
authentication, on the fly encoding and load balancing.
|
|
It also generates <application>Apache</application>
|
|
compatible log files.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><package>www/lighttpd</package>:
|
|
<application>lighttpd</application> is a secure, fast,
|
|
compliant and very flexible web server which has been
|
|
optimized for high-performance environments. It has a
|
|
very low memory footprint compared to other web servers
|
|
and takes care of cpu-load.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><package>www/nginx</package>:
|
|
<application>nginx</application> is a high performance
|
|
edge web server with a low memory footprint and key
|
|
features to build a modern and efficient web
|
|
infrastructure. Features include a HTTP server, HTTP
|
|
and mail reverse proxy, caching, load balancing,
|
|
compression, request throttling, connection multiplexing
|
|
and reuse, SSL offload and HTTP media streaming.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><package>www/thttpd</package>: If you are going to
|
|
be serving a large amount of static content you may find
|
|
that using an application such as
|
|
<application>thttpd</application> is more efficient than
|
|
others. It is also optimized for excellent performance
|
|
on FreeBSD.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect3>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 xml:id="mirror-howto">
|
|
<title>How to Mirror FreeBSD</title>
|
|
|
|
<para>Ok, now you know the requirements and how to offer the
|
|
services, but not how to get it. :-) This section explains how
|
|
to actually mirror the various parts of FreeBSD, what tools to
|
|
use, and where to mirror from.</para>
|
|
|
|
<sect2 xml:id="mirror-ftp-rsync">
|
|
<title>Mirroring the FTP Site</title>
|
|
|
|
<para>The FTP area is the largest amount of data that needs to
|
|
be mirrored. It includes the <emphasis>distribution
|
|
sets</emphasis> required for network installation, the
|
|
<emphasis>branches</emphasis> which are actually snapshots of
|
|
checked-out source trees, the <emphasis>ISO Images</emphasis>
|
|
to write CD-ROMs with the installation distribution, a live
|
|
file system, and a snapshot of the ports tree. All of course
|
|
for various FreeBSD versions, and various
|
|
architectures.</para>
|
|
|
|
<para>The best way to mirror the FTP area is
|
|
<application>rsync</application>. You can install the port
|
|
<package>net/rsync</package> and then use rsync to sync with
|
|
your upstream host. <application>rsync</application> is
|
|
already mentioned in <xref linkend="mirror-serv-rsync"/>.
|
|
Since <application>rsync</application> access is not required,
|
|
your preferred upstream site may not allow it. You may need
|
|
to hunt around a little bit to find a site that allows
|
|
<application>rsync</application> access.</para>
|
|
|
|
<note>
|
|
<para>Since the number of <application>rsync</application>
|
|
clients will have a significant impact on the server
|
|
machine, most admins impose limitations on their server.
|
|
For a mirror, you should ask the site maintainer you are
|
|
syncing from about their policy, and maybe an exception for
|
|
your host (since you are a mirror).</para>
|
|
</note>
|
|
|
|
<para>A command line to mirror FreeBSD might look like:</para>
|
|
|
|
<screen>&prompt.user; <userinput>rsync -vaHz --delete rsync://ftp4.de.FreeBSD.org/FreeBSD/ /pub/FreeBSD/</userinput></screen>
|
|
|
|
<para>Consult the documentation for
|
|
<application>rsync</application>, which is also available at
|
|
<link
|
|
xlink:href="http://rsync.samba.org/">http://rsync.samba.org/</link>,
|
|
about the various options to be used with rsync. If you sync
|
|
the whole module (unlike subdirectories), be aware that the
|
|
module-directory (here "FreeBSD") will not be created, so you
|
|
cannot omit the target directory. Also you might want to set
|
|
up a script framework that calls such a command via
|
|
&man.cron.8;.</para>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="mirror-www">
|
|
<title>Mirroring the WWW Pages</title>
|
|
|
|
<para>The FreeBSD website should only be mirrored via
|
|
<application>rsync</application>.</para>
|
|
|
|
<para>A command line to mirror the FreeBSD web site might look
|
|
like:</para>
|
|
|
|
<screen>&prompt.user; <userinput>rsync -vaHz --delete rsync://bit0.us-west.freebsd.org/FreeBSD-www-data/ /usr/local/www/</userinput></screen>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="mirror-pkgs">
|
|
<title>Mirroring Packages</title>
|
|
|
|
<para>Due to very high requirements of bandwidth, storage and
|
|
adminstration the &os; Project has decided not to allow public
|
|
mirrors of packages. For sites with lots of machines, it
|
|
might be advantagous to run a caching HTTP proxy for the
|
|
&man.pkg.8; process. Alternatively specific packages and
|
|
their dependencies can be fetched by running something like
|
|
the following:</para>
|
|
|
|
<screen>&prompt.user; <userinput>pkg fetch -d -o <replaceable>/usr/local/mirror</replaceable> <replaceable>vim</replaceable></userinput></screen>
|
|
|
|
<para>Once those packages have been fetched, the repository
|
|
metadata must be generated by running:</para>
|
|
|
|
<screen>&prompt.user; <userinput>pkg repo <replaceable>/usr/local/mirror</replaceable></userinput></screen>
|
|
|
|
<para>Once the packages have been fetched and the metadata for
|
|
the repository has been generated, serve the packages up to
|
|
the client machines via HTTP. For additional information see
|
|
the man pages for &man.pkg.8;, specifically the
|
|
&man.pkg-repo.8; page.</para>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="mirror-how-often">
|
|
<title>How Often Should I Mirror?</title>
|
|
|
|
<para>Every mirror should be updated at a minimum of once per
|
|
day. Certainly a script with locking to prevent multiple runs
|
|
happening at the same time will be needed to run from
|
|
&man.cron.8;. Since nearly every admin does this in their own
|
|
way, specific instructions cannot be provided. It could work
|
|
something like this:</para>
|
|
|
|
<procedure>
|
|
<step>
|
|
<para>Put the command to run your mirroring application in a
|
|
script. Use of a plain <command>/bin/sh</command> script
|
|
is recommended.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Add some output redirections so diagnostic messages
|
|
are logged to a file.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Test if your script works. Check the logs.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Use &man.crontab.1; to add the script to the
|
|
appropriate user's &man.crontab.5;. This should be a
|
|
different user than what your FTP daemon runs as so that
|
|
if file permissions inside your FTP area are not
|
|
world-readable those files cannot be accessed by anonymous
|
|
FTP. This is used to <quote>stage</quote> releases
|
|
— making sure all of the official mirror sites have
|
|
all of the necessary release files on release day.</para>
|
|
</step>
|
|
</procedure>
|
|
|
|
<para>Here are some recommended schedules:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>FTP fileset: daily</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>WWW pages: daily</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 xml:id="mirror-where">
|
|
<title>Where to Mirror From</title>
|
|
|
|
<para>This is an important issue. So this section will spend some
|
|
effort to explain the backgrounds. We will say this several
|
|
times: under no circumstances should you mirror from <systemitem
|
|
class="fqdomainname">ftp.FreeBSD.org</systemitem>.</para>
|
|
|
|
<sect2 xml:id="mirror-where-organization">
|
|
<title>A few Words About the Organization</title>
|
|
|
|
<para>Mirrors are organized by country. All official mirrors
|
|
have a DNS entry of the form <systemitem
|
|
class="fqdomainname">ftpN.CC.FreeBSD.org</systemitem>.
|
|
<emphasis>CC</emphasis> (i.e., country code) is the
|
|
<emphasis>top level domain</emphasis> (TLD) of the country
|
|
where this mirror is located. <emphasis>N</emphasis> is a
|
|
number, telling that the host would be the
|
|
<emphasis>Nth</emphasis> mirror in that country. (Same
|
|
applies to <systemitem>wwwN.CC.FreeBSD.org</systemitem>, etc.)
|
|
There are mirrors with no <emphasis>CC</emphasis> part. These
|
|
are the mirror sites that are very well connected and allow a
|
|
large number of concurrent users. <systemitem
|
|
class="fqdomainname">ftp.FreeBSD.org</systemitem> is
|
|
actually two machines, one currently located in Denmark and
|
|
the other in the United States. It is
|
|
<emphasis>NOT</emphasis> a master site and should never be
|
|
used to mirror from. Lots of online documentation leads
|
|
<quote>interactive</quote>users to <systemitem
|
|
class="fqdomainname">ftp.FreeBSD.org</systemitem> so
|
|
automated mirroring systems should find a different machine to
|
|
mirror from.</para>
|
|
|
|
<para>Additionally there exists a hierarchy of mirrors, which is
|
|
described in terms of <emphasis>tiers</emphasis>. The master
|
|
sites are not referred to but can be described as
|
|
<emphasis>Tier-0</emphasis>. Mirrors that mirror from these
|
|
sites can be considered <emphasis>Tier-1</emphasis>, mirrors
|
|
of <emphasis>Tier-1</emphasis>-mirrors, are
|
|
<emphasis>Tier-2</emphasis>, etc. Official sites are
|
|
encouraged to be of a low <emphasis>tier</emphasis>, but the
|
|
lower the tier the higher the requirements in terms as
|
|
described in <xref linkend="mirror-requirements"/>. Also
|
|
access to low-tier-mirrors may be restricted, and access to
|
|
master sites is definitely restricted. The
|
|
<emphasis>tier</emphasis>-hierarchy is not reflected by DNS
|
|
and generally not documented anywhere except for the master
|
|
sites. However, official mirrors with low numbers like 1-4,
|
|
are usually <emphasis>Tier-1</emphasis> (this is just a rough
|
|
hint, and there is no rule).</para>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="mirror-where-where">
|
|
<title>Ok, but Where Should I get the Stuff Now?</title>
|
|
|
|
<para>Under no circumstances should you mirror from <systemitem
|
|
class="fqdomainname">ftp.FreeBSD.org</systemitem>. The
|
|
short answer is: from the site that is closest to you in
|
|
Internet terms, or gives you the fastest access.</para>
|
|
|
|
<sect3 xml:id="mirror-where-simple">
|
|
<title>I Just Want to Mirror from Somewhere!</title>
|
|
|
|
<para>If you have no special intentions or requirements, the
|
|
statement in <xref linkend="mirror-where-where"/> applies.
|
|
This means:</para>
|
|
|
|
<procedure>
|
|
<step>
|
|
<para>Check for those which provide fastest access (number
|
|
of hops, round-trip-times) and offer the services you
|
|
intend to use (like
|
|
<application>rsync</application>).</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Contact the administrators of your chosen site
|
|
stating your request, and asking about their terms and
|
|
policies.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Set up your mirror as described above.</para>
|
|
</step>
|
|
</procedure>
|
|
</sect3>
|
|
|
|
<sect3 xml:id="mirror-where-official">
|
|
<title>I am an Official Mirror, What is the Right Rite for
|
|
Me?</title>
|
|
|
|
<para>In general the description in <xref
|
|
linkend="mirror-where-simple"/> still applies. Of course
|
|
you may want to put some weight on the fact that your
|
|
upstream should be of a low tier. There are some other
|
|
considerations about <emphasis>official</emphasis> mirrors
|
|
that are described in <xref
|
|
linkend="mirror-official"/>.</para>
|
|
</sect3>
|
|
|
|
<sect3 xml:id="mirror-where-master">
|
|
<title>I Want to Access the Master Sites!</title>
|
|
|
|
<para>If you have good reasons and good prerequisites, you may
|
|
want and get access to one of the master sites. Access to
|
|
these sites is generally restricted, and there are special
|
|
policies for access. If you are already an
|
|
<emphasis>official</emphasis> mirror, this certainly helps
|
|
you getting access. In any other case make sure your
|
|
country really needs another mirror. If it already has
|
|
three or more, ask the <quote>zone administrator</quote>
|
|
(<email>hostmaster@CC.FreeBSD.org</email>) or &a.hubs;
|
|
first.</para>
|
|
|
|
<para>Whoever helped you become, an
|
|
<emphasis>official</emphasis> should have helped you gain
|
|
access to an appropriate upstream host, either one of the
|
|
master sites or a suitable Tier-1 site. If not, you can
|
|
send email to <email>mirror-admin@FreeBSD.org</email> to
|
|
request help with that.</para>
|
|
|
|
<para>There is one master site for the FTP fileset.</para>
|
|
|
|
<sect4 xml:id="mirror-where-master-ftp">
|
|
<title>ftp-master.FreeBSD.org</title>
|
|
|
|
<para>This is the master site for the FTP fileset.</para>
|
|
|
|
<para><systemitem>ftp-master.FreeBSD.org</systemitem>
|
|
provides <application>rsync</application> access, in
|
|
addition to FTP. Refer to <xref
|
|
linkend="mirror-ftp-rsync"/>.</para>
|
|
|
|
<para>Mirrors are also encouraged to allow
|
|
<application>rsync</application> access for the FTP
|
|
contents, since they are
|
|
<emphasis>Tier-1</emphasis>-mirrors.</para>
|
|
</sect4>
|
|
</sect3>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 xml:id="mirror-official">
|
|
<title>Official Mirrors</title>
|
|
|
|
<para>Official mirrors are mirrors that</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>a) have a <systemitem>FreeBSD.org</systemitem> DNS entry
|
|
(usually a CNAME).</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>b) are listed as an official mirror in the FreeBSD
|
|
documentation (like handbook).</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>So far to distinguish official mirrors. Official mirrors
|
|
are not necessarily <emphasis>Tier-1</emphasis>-mirrors.
|
|
However you probably will not find a
|
|
<emphasis>Tier-1</emphasis>-mirror, that is not also
|
|
official.</para>
|
|
|
|
<sect2 xml:id="mirror-official-requirements">
|
|
<title>Special Requirements for Official (tier-1)
|
|
Mirrors</title>
|
|
|
|
<para>It is not so easy to state requirements for all official
|
|
mirrors, since the project is sort of tolerant here. It is
|
|
more easy to say, what <emphasis>official tier-1
|
|
mirrors</emphasis> are required to. All other official
|
|
mirrors can consider this a big
|
|
<emphasis>should</emphasis>.</para>
|
|
|
|
<para>Tier-1 mirrors are required to:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>carry the complete fileset</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>allow access to other mirror sites</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>provide <application>FTP</application> and
|
|
<application>rsync</application> access</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Furthermore, admins should be subscribed to the &a.hubs;.
|
|
See <link
|
|
xlink:href="https://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/eresources.html#ERESOURCES-MAIL">this
|
|
link</link> for details, how to subscribe.</para>
|
|
|
|
<important>
|
|
<para>It is <emphasis>very</emphasis> important for a hub
|
|
administrator, especially Tier-1 hub admins, to check the
|
|
<link xlink:href="https://www.FreeBSD.org/releng/">release
|
|
schedule</link> for the next FreeBSD release. This is
|
|
important because it will tell you when the next release is
|
|
scheduled to come out, and thus giving you time to prepare
|
|
for the big spike of traffic which follows it.</para>
|
|
|
|
<para>It is also important that hub administrators try to keep
|
|
their mirrors as up-to-date as possible (again, even more
|
|
crucial for Tier-1 mirrors). If Mirror1 does not update for
|
|
a while, lower tier mirrors will begin to mirror old data
|
|
from Mirror1 and thus begins a downward spiral... Keep your
|
|
mirrors up to date!</para>
|
|
</important>
|
|
</sect2>
|
|
|
|
<sect2 xml:id="mirror-official-become">
|
|
<title>How to Become Official Then?</title>
|
|
|
|
<!--
|
|
<para>An interesting question, especially, since the state of
|
|
being official comes with some benefits, like a much higher
|
|
bill from your ISP as more people will be using your site.
|
|
Also it may be a key requirement to get access to a master
|
|
site.</para>
|
|
|
|
<para>Before applying, please consider (again) if another
|
|
official mirror is really needed for your region. Check first
|
|
with your zone administrator
|
|
(<email>hostmaster@CC.FreeBSD.org</email>) or, if that fails,
|
|
ask on the &a.hubs;.</para>
|
|
|
|
<para>Ok, here is how to do it:</para>
|
|
|
|
<procedure>
|
|
<step>
|
|
<para>Get the mirror running in first place (maybe not using
|
|
a master site, yet).</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para><ulink
|
|
url="https://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/eresources.html#ERESOURCES-MAIL">Subscribe</ulink>
|
|
to the &a.hubs;.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>If everything works so far, contact the DNS
|
|
administrator responsible for your region/country, and ask
|
|
for a DNS entry for your site. The admin should able to be
|
|
contacted via <email>hostmaster@CC.FreeBSD.org</email>,
|
|
where <emphasis>CC</emphasis> is your country code/TLD.
|
|
Your DNS entry will be as described in <xref
|
|
linkend="mirror-where-organization"/>.</para>
|
|
|
|
<para>If there is no subdomain set up for your country yet,
|
|
you should contact
|
|
<email>mirror-admin@FreeBSD.org</email>, or you can try
|
|
the &a.hubs; first.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Whoever helps you get an official name should send
|
|
email to <email>mirror-admin@FreeBSD.org</email> so your
|
|
site will be added to the mirror list in the <ulink
|
|
url="https://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook">FreeBSD
|
|
Handbook</ulink>.</para>
|
|
</step>
|
|
</procedure>
|
|
|
|
<para>That is it.</para>
|
|
-->
|
|
|
|
<para>We are not accepting any new mirrors at this time.</para>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 xml:id="mirror-statpages">
|
|
<title>Some Statistics from Mirror Sites</title>
|
|
|
|
<para>Here are links to the stat pages of your favorite mirrors
|
|
(aka the only ones who feel like providing stats).</para>
|
|
|
|
<sect2 xml:id="mirror-statpagesftp">
|
|
<title>FTP Site Statistics</title>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>ftp.is.FreeBSD.org -
|
|
<email>hostmaster@is.FreeBSD.org</email> - <link
|
|
xlink:href="http://www.rhnet.is/status/draupnir/draupnir.html">
|
|
(Bandwidth)</link> <link
|
|
xlink:href="http://www.rhnet.is/status/ftp/ftp-notendur.html">(FTP
|
|
processes)</link> <link
|
|
xlink:href="http://www.rhnet.is/status/ftp/http-notendur.html">(HTTP
|
|
processes)</link></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>ftp2.ru.FreeBSD.org -
|
|
<email>mirror@macomnet.ru</email> - <link
|
|
xlink:href="http://mirror.macomnet.net/mrtg/mirror.macomnet.net_195.128.64.25.html">(Bandwidth)</link>
|
|
<link
|
|
xlink:href="http://mirror.macomnet.net/mrtg/mirror.macomnet.net_proc.html">(HTTP
|
|
and FTP users)</link></para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect2>
|
|
</sect1>
|
|
</article>
|