Een push-server opzetten
Het opzetten van een push-server bestaat uit twee basistaken: het instellen
van rsync-toegang (voor het normale pull
-spiegelen) en het instellen van
het ssh-triggermechanisme (voor het pushen
van het pull-spiegelen).
(Lees voor meer informatie over wat een push-server is, de uitleg over push-spiegelen.)
rsync opzetten
Installeer rsync
. Indien uw site Debian gebruikt, moet u gewoon
het pakket rsync
installeren.
Maak het bestand rsyncd.conf
aan en zet er iets als dit in:
uid = nobody gid = nogroup max connections = 50 socket options = SO_KEEPALIVE [debian] path = /srv/debian/mirror comment = Het Debian-archief (https://www.debian.org/mirror/size) auth users = * read only = true secrets file = /etc/rsyncd/debian.secrets
Voeg in het bestand /etc/rsyncd/debian.secrets
een item toe
voor elke site waarnaar u pusht:
site1.example.com:een_wachtwoord site2.example.com:nog_een_wachtwoord site3.example.net:wachtwoord
U hebt nu de benedenstroomse spiegelservers toegang gegeven tot het archief
op uw machine. Indien u iedereen rsync-toegang wilt verlenen, sla dan het
instellen van auth users
en secrets file
over in
rsyncd.conf
. U heeft dan ook geen secrets-bestand nodig.
U zult waarschijnlijk de rsync-achtergronddienst willen starten vanuit inetd.
Om de achtergronddienst in te schakelen, voegt u het volgende toe aan uw
bestand /etc/inetd.conf
:
rsync stream tcp nowait root /usr/bin/rsync rsyncd --daemon
(Vergeet niet om inetd een HUP-signaal te sturen om het te vertellen dat het zijn configuratiebestand opnieuw moet lezen nadat het bestand is gewijzigd.)
Het ssh-triggermechanisme opzetten
Maak met behulp van ssh-keygen
een nieuwe ssh-sleutel aan voor
het account dat u gebruikt om Debian te spiegelen. Als u met uw account al een
sleutel heeft voor andere doeleinden, wilt u misschien een nieuwe maken en deze
opslaan in een ander bestand met behulp van
ssh-keygen -f ~/.ssh/identiteit.mijnsite
Uw benedenstroomse spiegelservers moeten dan aan hun bestand
~/.ssh/authorized_keys
het volgende toevoegen:
command="~/bin/ftpsync",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty <inhoud van uw bestand ~/.ssh/<key>.pub>
U moet uw spiegelingsproces zo instellen dat het contact opneemt met uw
benedenstroomse spiegelservers wanneer het klaar is met zijn spiegelingstaak.
De suite ftpsync bevat het script runmirrors
dat alle benodigde
taken voor u afhandelt. U dient gewoon uw bestand ftpsync.conf aan te passen,
zodat het de instelling HUB=true
bevat, het bestand
runmirrors.conf.sample
te kopiëren
naar runmirrors.conf
en runmirrors.mirror.sample
te kopiëren naar
runmirrors.mirror
, en het configuratiebestand zo te configureren
dat het aangepast is aan uw systeem. Daarna moet u al uw benedenstroomse
spiegelservers vermelden in runmirrors.mirror, en het duo ftpsync/runmirror zal
al het zware werk voor u doen.
Het effect zal zijn dat uw systeem zal proberen om naar uw benedenstroomse spiegelservers te ssh-en, nadat uw eigen spiegelserver bijgewerkt is, zodat zij hun eigen updates kunnen starten. Dit veronderstelt dat u de operatoren van uw benedenstroomse spiegelservers de ssh-sleutel gaf die u door runmirrors laat gebruiken en dat ze die aan hun eigen ~/.ssh/authorized_keys toevoegden zoals hierboven beschreven.
Mocht u hiermee problemen ervaren, neem dan contact op met ons.