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. 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å dom kan starta sin uppdateringar. Detta antar att du gav operatörerna 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.