Sätta upp en "push"-server
Att sätta upp en push
server består av två grundläggande steg:
Ställa in rsync-åtkomst (för normal pull
-spegling) och ställa in en
ssh-utlösarmekanism (för att trycka (push
) i pull
-speglingen).
(För mer information om vad en push
-server är, läs
push
-speglingsförklaringen.)
Ställa in rsync
Installera rsync
.
Om din server kör Debian installerar du helt enkelt
rsync-paketet.
Skapa rsyncd.conf
och lägg in något i stil med detta:
uid = nobody gid = nogroup max connections = 50 socket options = SO_KEEPALIVE [debian] path = /srv/debian/mirror comment = Debianarkivet (https://www.debian.org/mirror/size) auth users = auktoriserat_konto1,auktoriserat_konto2,auktoriserat_kontoN read only = true secrets file = /etc/rsyncd/debian.secrets
Lägg en post för varje server som hämtar från dig med push
i filen
/etc/rsyncd/debian.secrets
:
site1.exempel.com:ett_lösenord site2.exempel.com:ett_annat_lösenord site3.exempel.net:lösenord
Du har nu gett nedströmsspeglarna tillgång till arkivet på din maskin. Om
du vill ge åtkomst till rsync till alla, hoppa över auth users
-
och secrets file
-inställningarna i rsyncd.conf
. Du
behöver inte heller en secrets-fil då.
Du vill antagligen starta rsyncprocessen från inetd.
För att aktivera demonen, lägg till följande i din
/etc/inetd.conf
:
rsync stream tcp nowait root /usr/bin/rsync rsyncd --daemon
(Kom ihåg att sända en HUP-signal till inetd för att tala om för det att läsa om sin inställningsfil efter att du ändrat den.)
Ställa in ssh-utlösarmekanism
Skapa en ny ssh-nyckel för kontot som du använder för att spegla Debian med
hjälp av ssh-keygen
. Om ditt konto redan har en nyckel för andra
ändamål kan du vilja skapa en ny och lagra den i en annan fil med hjälp
av ssh-keygen -f ~/.ssh/identity.mysite
.
Dina nedströmsspeglar kommer sedan att behöva lägga till
command="~/bin/ftpsync",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty <innehållet i din ~/.ssh/<key>.pub-fil>
till deras fil ~/.ssh/authorized_keys
.
Du kommer att behöva sätta upp din speglingsprocess så att den kontaktar
dina nedström när din speglingskörning avslutas. ftpsync-uppsättningen
innehåller skriptet runmirrors
som hanterar
alla nödvändiga uppgifter åt dig. Ändra din ftpsync.conf att inkludera
inställningen HUB=true
, kopiera runmirrors.conf.sample
till runmirrors.conf
och runmirrors.mirror.sample
till
runmirrors.mirror
och konfigurera config-filen för att passa ditt
system. Lista sedan alla dina nedströmsspeglar i runmirrors.mirror så kommer
duon ftpsync/runmirror att ta hand om allt tungt arbete åt dig.
Resultatet kommer bli att ditt system kommer försöka ssh'a till dina nedströmsspeglar, efter att din egen spegel har uppdaterats, så de kan starta sina uppdateringar. Detta antar att du gav operatörerna av nedströmsspeglarna ssh-nyckeln som du sa till runmirrors att använda och att de la till den i deras egna ~/.ssh/authorized_keys som beskrivet ovan.
Om du har problem med detta, kontakta oss.