Sätta upp en "push"-server

Att sätta upp en pushserver 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 version 2.1.1 eller senare. Om din server kör Debian installerar du bara det senaste rsync-paketet.

Skapa rsyncd.conf och lägg in något i stil med detta:

uid = nobody
gid = nogroup
max connections = 25
socket options = SO_KEEPALIVE

[debian]
  path = /srv/debian/mirror
  comment = Debians arkiv (~250 Gbyte)
  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:

auktoriserat_konto1:ett_lösenord
auktoriserat_konto2:annat_lösenord
auktoriserat_kontoN:lösenord

Du har nu gett nedströmsspeglarna tillgång till arkivet på din maskin.

Du vill antagligen starta rsyncprocessen från inetd. För att göra detta måste du lägga in rsync-servicen i filen /etc/services (om det inte redan står där), så här:

rsync           873/tcp

För att aktivera servern från inetd, lägger du 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. Se till att du inte skriver över din riktiga ssh-nyckel genom att använda flaggan -f, till exempel:

ssh-keygen -f ~/.ssh/identity.minserver

Se till att den nya öppna nyckeln (~/.ssh/identity.minserver.pub) innehåller följande i början där IPADRESS är din uppströmsspegels IP:

no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty,command="~/bin/ftpsync",from="IPADRESS"

Du måste ställa in skriptet så att det kontaktar speglar nedströms. Tar-filen ftpsync inhåller skriptet runmirrors som kan ta hand om 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å dom kan starta sin uppdateringar. Detta antar att du gav operatorerna av nedströmsspeglarna ssh-nyckeln som du sa till runmirrors att använda och att dom la till den i deras egna ~/.ssh/authorized_keys som beskrivet ovan.

Om du har problem med detta, kontakta oss.