[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Savannah-cvs] [760] minor improvements
From: |
ineiev |
Subject: |
[Savannah-cvs] [760] minor improvements |
Date: |
Fri, 2 Feb 2024 02:36:27 -0500 (EST) |
Revision: 760
http://svn.savannah.gnu.org/viewvc/?view=rev&root=administration&revision=760
Author: ineiev
Date: 2024-02-02 02:36:26 -0500 (Fri, 02 Feb 2024)
Log Message:
-----------
minor improvements
Modified Paths:
--------------
trunk/sviki/Mirroring.mdwn
Modified: trunk/sviki/Mirroring.mdwn
===================================================================
--- trunk/sviki/Mirroring.mdwn 2024-02-02 07:07:54 UTC (rev 759)
+++ trunk/sviki/Mirroring.mdwn 2024-02-02 07:36:26 UTC (rev 760)
@@ -1,23 +1,19 @@
-Mirroring at Savannah
-=====================
+# Mirroring at Savannah
> NOTE: This is an updated version of the previous [[Mirmon]] page.
-
Savannah offers two public-facing mirroring services:
1. `ftpmirror.gnu.org` - redirects to world-wide mirrors of `ftp.gnu.org`.
These mirrors carry official releases of GNU pacakges.
- `ftpmirror.gnu.org` and `gnu mirror` are used interchangeably in this
- page.
+ This page refers to it as `gnu mirror`.
2. `download.savannah.{nongnu,gnu}.org` - redirects to world-wide mirrors
of [[Savannah download area|DownloadArea]]. Typically used
for non-GNU software, but GNU packages can store files there as well.
- `download` and `nongnu mirror` are used interchangeably in this page.
+ This page refers to it as `nongnu mirror`.
-Adding mirrors
---------------
+##<a id="adding"></a> Adding mirrors
Occasionally, a new mirror is submitted. Usually the webmasters inform us,
but people may come to us directly.
@@ -31,8 +27,7 @@
[list online](//download-mirror.savannah.gnu.org/releases/00_MIRRORS.html))
and `/srv/download/00_MIRRORS.txt` (no order).
-Client-side overview
---------------------
+## Client-side overview
A user requesting a download from `ftpmirror.gnu.org` will receive
an HTTP/302 response redirecting to a mirror closest to the user's
@@ -61,17 +56,15 @@
`download.savannah.gnu.org` serves directory listing directly, and
only redirects actual files. See nginx details below.
+## Server-side redirection overview
-Server-side redirection overview
---------------------------------
+Redirection is implemented using a Perl CGI script,
+called from nginx running on `download0.sv.gnu.org`.
-Redirection is implemented using a perl cgi script,
-called from nginx/fcgiwrap running on `download0.sv.gnu.org`.
-
Both gnu and nongnu redirections are served from
download0.savannah.gnu.org VM. `ftpmirror.gnu.org` is
CNAME'd to `ftpmirror.sv.gnu.org`, which points
-to the same IP as download0 (remember Savannah admin's
+to the same IP as download0 (remember Savannah admins
only control *.sv.gnu.org DNS entries).
The nginx configuration files are:
@@ -81,10 +74,10 @@
`download0:/etc/nginx/sites-available/download`,
`download0:/etc/nginx/sites-available/download-common.inc`,
`download0:/etc/nginx/sites-available/download-common-https.inc`.
-The `*-common*.inc` files contain the cgi configurations.
-The other files include them twice (once for http, once for https).
+The `*-common*.inc` files contain the CGI configurations.
+The other files include them twice (once for HTTP, once for HTTPS).
-The https CGI configuration for `gnu/ftpmirror` is:
+The HTTPS CGI configuration for `gnu mirror` is:
location / {
fastcgi_param PATH_INFO $uri;
@@ -94,18 +87,18 @@
fastcgi_pass unix:/var/run/fcgiwrap.socket;
}
-The CGI configuration for `nongun/download` is:
+The CGI configuration for `nongnu mirror` is:
- # redirect to the CGI if it's a file URL
+ # Redirect to the CGI if it's a file URL.
rewrite ^/releases/(.*[^/])$ /releases-redirect/$1 last;
- # directory listing if it's a directory
+ # Directory listing if it's a directory.
location /releases {
alias /srv/download;
fancyindex on; # Enable fancy indexes.
}
- # actual redirection mechanism
+ # Actual redirection mechanism.
location /releases-redirect {
fastcgi_split_path_info ^(/releases-redirect)(/?.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
@@ -115,9 +108,9 @@
fastcgi_pass unix:/var/run/fcgiwrap.socket;
}
-The https versions substitute *mirrors.txt with *mirrors-https.txt
+The HTTPS versions substitute *mirrors.txt with *mirrors-https.txt
-The mirror list text files (`gnu-ftpmirror` and `download-mirrors.txt`)
+The mirror list text files (`gnu-ftpmirror.txt` and `download-mirrors.txt`)
contain an auto-generated list of active mirrors:
# head -n5 /opt/savannah/mirrors/active-mirror-lists/gnu-ftpmirrors.txt
@@ -129,38 +122,35 @@
See 'mirmon' section below to learn how these files are generated.
-The perl script `mirror-redirect.pl` uses
+The Perl script `mirror-redirect.pl` uses
[Geo::IP](https://metacpan.org/pod/Geo::IP) and `Geo::Mirror` modules
to read the mirror file, detect the closest region based on the user's
IP, and return an HTTP redirect to that mirror.
+## Server-side Mirmon overview
-Server-side Mirmon overview
----------------------------
-
NOTE: Most of this section was copied from the [[Mirmon]] page
and updated as needed.
-1. The authoratative lists of gnu/nongnu mirrors are managed manually.
- For gnu/ftpmirrors, FSF admins or GNU webmasters update the lists
+1. The authoritative lists of mirrors are managed manually.
+ For `gnu mirror`, GNU webmasters update the lists
(<http://www.gnu.org/prep/ftp.html>, generated from
<http://www.gnu.org/prep/FTP>).
- For nongnu/download mirrors, Savannah admins update
- [this file](http://dl.sv.gnu.org/releases/00_MIRRORS.txt)
- (and [html version](http://dl.sv.gnu.org/releases/00_MIRRORS.html)).
+ For `nongnu mirror`, Savannah admins maintain the lists as
+ [[explained above|Mirroring#adding]].
-2. [mirmon](http://www.staff.science.uu.nl/~penni101/mirmon/) is used
- to checks each mirror and determine how up to date it is.
+2. [mirmon](https://www.staff.science.uu.nl/~penni101/mirmon/) is used
+ to check each mirror and determine how up-to-date it is.
We maintain 3 separate mirmon configurations:
* `gnu` - list of HTTP-only mirrors for ftpmirror.gnu.org.
- The `gnu` list is used later by the redirection cgi script.
- * `allgnu` - list of HTTP,FTP,RSYNC mirrors for ftpmirror.gnu.org.
+ The `gnu` list is used later by the redirection CGI script.
+ * `allgnu` - list of HTTP, FTP, RSYNC mirrors for ftpmirror.gnu.org.
The `allgnu` list is used only by human admins to check which
mirrors are up-to-date.
* `nongnu` - list of HTTP-only mirrors for download.savannah.gnu.org.
- The `nongnu` list is used later by the redirection cgi script.
+ The `nongnu` list is used later by the redirection CGI script.
3. The mirmon input lists (of mirrors to check) are here:
@@ -172,7 +162,7 @@
lrwxrwxrwx 1 28 Feb 20 23:28 nongnu-mirror-list.txt ->
/srv/download/00_MIRRORS.txt
The script `/opt/savannah/mirrors/scripts/gnu-mirmon.pl`
- fetches the gnu/ftpmirror list and saves it locally in the two versions
+ fetches the gnu list and saves it locally in the two versions
(`gnu` and `allgnu`). The `nongnu` list is symlinked to the
manually-managed
file.
@@ -209,7 +199,7 @@
5. Two auxiliary scripts
`/opt/savannah/mirrors/scripts/update-active-mirrors-{gnu,nongnu}.sh`
- read the gnu/nongnu state files, and generate a simple text files
+ read the state files, and generate simple text files
containing only the active and up-to-date mirrors:
$ ls -1 /opt/savannah/mirrors/active-mirror-lists/
@@ -218,13 +208,12 @@
gnu-ftpmirrors-https.txt
gnu-ftpmirrors.txt
- These are the four files used in the nginx/cgi scripts (see above section).
+ These are the four files used in the CGI scripts (see above section).
-
6. The 3 mirmon invocations are executed as cronjobs in
`/etc/cron.d/sv-mirmon`:
- # Update the authoratative list of GNU ftp mirrors (mirroring
ftp.gnu.org).
+ # Update the authoritative list of GNU ftp mirrors (mirroring
ftp.gnu.org).
3 1 * * * root /opt/savannah/mirrors/scripts/gnu-mirmon.pl --http-only
/opt/savannah/mirrors/mirmon-lists/gnu-mirror-list.txt
6 1 * * * root /opt/savannah/mirrors/scripts/gnu-mirmon.pl --all
/opt/savannah/mirrors/mirmon-lists/allgnu-mirror-list.txt
@@ -237,8 +226,7 @@
42 * * * * root /usr/bin/mirmon -c /etc/mirmon/mirmon-allgnu.conf -q
-get update >/var/log/mirmon/allgnu 2>&1
-Diagnostics and Troubleshooting
--------------------------------
+## Diagnostics and Troubleshooting
1. The three mirmon HTML reports are viewable here:
<http://download0.savannah.gnu.org/mirmon/>.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Savannah-cvs] [760] minor improvements,
ineiev <=