Configurazione di un server push
La configurazione di un server push
consiste essenzialmente di
due attività: la configurazione dell'accesso rsync (come per un normale
mirror di tipo pull
) e la configurazione del meccanismo di
attivazione via ssh (per avviare il mirroring push).
(Per maggiori informazioni su cosa è un server push si veda la spiegazione sul push mirroring.)
Configurazione di rsync
Installare rsync 2.1.1 o superiore. Se sul proprio
sito si utilizza Debian, è sufficiente installare il pacchetto
rsync
più recente.
Creare il file rsyncd.conf e inserirvi qualcosa di
simile a questo:
uid = nobody gid = nogroup max connections = 25 socket options = SO_KEEPALIVE [debian] path = /srv/debian/mirror comment = The Debian Archive (~250 GB) auth users = authorized_account1,authorized_account2,authorized_accountN read only = true secrets file = /etc/rsyncd/debian.secrets
Aggiungere nel file /etc/rsyncd/debian.secrets una voce per
ogni sito verso cui si vuole effettuare il pushing:
authorized_account1:a_password authorized_account2:another_password authorized_accountN:password
Con questo si è dato accesso ai mirror destinazione all'archivio sulla propria macchina.
Per far avviare il demone rsync da inetd si deve aggiungere il servizio
rsync nel file /etc/services (se non fosse già presente), in
questo modo:
rsync 873/tcp
Per abilitare il demone da inetd, aggiungere quanto segue al proprio file
/etc/inetd.conf:
rsync stream tcp nowait root /usr/bin/rsync rsyncd --daemon
(Ricordasi di inviare a inetd un segnale HUP per forzare la rilettura del file di configurazione dopo la modifica).
Configurazione del meccanismo di attivazione con ssh
Creare una nuova chiave ssh per l'account usato dal mirror Debian. Assicurarsi di non sovrascrivere la chiave ssh originale usando l'opzione -f, per esempio:
ssh-keygen -f ~/.ssh/identity.mysite
Assicurarsi che la nuova chiave pubblica (~/.ssh/identity.mysite.pub) contenga all'inizio questo, dove IPADDRESS è l'indirizzo IP del proprio mirror di origine:
no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty,command="~/bin/ftpsync",from="IPADDRESS"
Occorre configurare uno script che contatterà i mirror destinazione.
Il tarball ftpsync contiene lo script runmirrors che si
occupa di tutte le operazioni. Semplicemente cambiando il proprio
ftpsync.conf in modo da includere l'impostazione HUB=true,
copiare runmirrors.conf.sample in runmirrors.conf
e runmirrors.mirror.sample in runmirrors.mirror
e modificare il file di configurazione in modo da adattarlo al proprio
sistema. Poi in runmirrors.mirror elencare tutti i mirror di downstream
e la coppia ftpsync/runmirror farà tutto il lavoro.
L'effetto sarà che il proprio sistema tenterà di collegarsi con ssh ai mirror di downstram dopo aver completato l'aggiornato del proprio mirror. Per effettuare questa operazione si assume di aver dato a chi gestisce i mirror di downstream la chiave ssh che è stata configurata in runmirrors e che loro abbiano aggiunto la chiave nei propri ~/.ssh/authorized_keys come descritto in precedenza.
In caso di problemi, contatteci.
