696 lines
31 KiB
XML
696 lines
31 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 &rel2.current;-RELEASE/&rel.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/apache22</package>:
|
|
<application>Apache</application> is the most widely
|
|
deployed web server on the Internet. It is used
|
|
extensively by the FreeBSD Project.</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 thttpd is more
|
|
efficient than <application>Apache</application>. It is
|
|
optimized for excellent performance on FreeBSD.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><package>www/boa</package>:
|
|
<application>Boa</application> is another alternative to
|
|
<application>thttpd</application> and
|
|
<application>Apache</application>. It should provide
|
|
considerably better performance than
|
|
<application>Apache</application> for purely static
|
|
content. It does not, at the time of this writing,
|
|
contain the same set of optimizations for FreeBSD that
|
|
are found in <application>thttpd</application>.</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>
|
|
</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 can not 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 site 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="http://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="http://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="http://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="http://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
|
|
(a.k.a. 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>
|