Mettre en place un serveur de repoussage
Mettre en place un serveur de repoussage se résume à effectuer deux tâches relativement simples : mettre en place un accès rsync (comme pour faire un miroir par aspiration standard) et mettre en place un mécanisme déclencheur utilisant SSH (pour déclencher la mise à jour du miroir par repoussage).
Pour plus d'information sur ce qu'est un serveur de repoussage, merci de lire l'explication des miroirs par repoussage.
Mettre en place rsync
Installez rsync
. Si votre site tourne sous Debian, installez
simplement le paquet
rsync.
Créez un fichier rsyncd.conf
et mettez quelque chose comme ceci
dans celui-ci :
uid = nobody gid = nogroup max connections = 50 socket options = SO_KEEPALIVE [debian] path = /srv/debian/mirror comment = L'archive Debian (https://www.debian.org/mirror/size) auth users = * read only = true secrets file = /etc/rsyncd/debian.secrets
Pour chaque site dont vous faites un miroir par repoussage, ajoutez une entrée
au fichier /etc/rsyncd/debian.secrets
:
site1.example.com:un_mot_de_passe site2.example.com:autre_mot_de_passe site3.example.com:mot_de_passe
Vous avez alors donné accès à l'archive se trouvant sur votre machine aux
miroirs clients de votre machine. Si vous voulez donner un accès rsync à
tout le monde, omettez les réglages auth users
et
secrets file
dans rsyncd.conf
. Vous n’avez nul
besoin de fichier secrets.
Vous voudrez probablement lancer le démon rsync depuis inetd. Pour autoriser
le démon, ajoutez ce qui suit au fichier /etc/inetd.conf
:
rsync stream tcp nowait root /usr/bin/rsync rsyncd --daemon
N'oubliez pas d'envoyer à inetd un signal HUP pour lui dire de relire son fichier de configuration après que vous l'avez modifié.
Mettre en place un mécanisme déclencheur ssh
Créez une nouvelle clé SSH pour le compte que vous utilisez pour faire un
miroir de Debian en utilisant ssh-keygen
. Si votre compte
possède déjà une clef pour d’autres buts, vous pouvez désirer en créer une
nouvelle et la stocker dans un fichier différent en utilisant
ssh-keygen -f ~/.ssh/identité.monsite
Vos miroirs aval auront alors besoin d’ajouter
command="~/bin/ftpsync",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty <contenu de votre fichier ~/.ssh/<clef>.pub>
à leur fichier ~/.ssh/authorized_keys
.
Vous devez configurer votre processus de recopie pour contacter les miroirs
clients lorsque celui-ci est terminé.
La suite ftpsync contient le script runmirrors
qui s'occupe de
toutes les tâches nécessaires à votre place.
Modifiez simplement ftpsync.conf pour intégrer le réglage
HUB=true
, copiez runmirrors.conf.sample
vers runmirrors.conf
et runmirrors.mirror.sample
vers runmirrors.mirror
, et adaptez
le fichier de configuration au système.
Ajoutez alors la liste de tous les miroirs clients dans runmirrors.mirror,
ainsi ftpsync et runmirror se chargeront de tout à votre place.
Par conséquent, une fois le miroir mis à jour, le système essayera de se connecter par SSH aux miroirs clients, pour qu'ils puissent commencer à se mettre à jour. Cela suppose que vous avez donné aux responsables des miroirs clients la clef SSH configurée pour runmirrors et qu'ils l'ont ajoutée à leur propre ~/.ssh/authorized_keys comme décrit précédemment.
Si vous avez le moindre problème avec ce qui précède, contactez-nous.