Mirrors/fr

From SME Server
Revision as of 17:30, 22 May 2012 by Unnilennium (talk | contribs)
Jump to navigationJump to search


État des miroirs contribs.org

Afin de voir l'état des miroirs contribs.org, regardez : http://mirror.contribs.org/mirrors.

Accéder aux miroirs contribs.org

Pour accéder aux miroirs de téléchargement contribs.org, utilisez toujours l'URL http://mirror.contribs.org. La version courante peut être trouvée à l'adresse http://mirror.contribs.org/smeserver/releases/, la section des contributeurs est à l'adresse http://mirror.contribs.org/smeserver/contribs/

Vous serez automatiquement redirigé vers un miroir qui a été mis à jour dans les 8 heures précédents.

Comment devenir un site miroir?

PRéparer votre système

  1. Créeer un emplacement de stockage pour votre miroir
    mkdir -p {/path/to/your/data/store/}
  2. Créer un nouvel utilisateur pour faire vos mises à jour de miroir. Si vous utilisez SME server vous pouvez utiliser le server-manager pour cela.
  3. Maintenant télécharger le script ftpsync et tous les fichiers requis: wget http://contribs.org/ftpsync.tgz
  4. Extraire l'archive dans le dossier de l'utilisateur tar zxof ftpsync.tgz
  5. Rendre l'utilisateur propriétaire du dossier chown -R {user} bin etc log .ssh {/path/to/your/data/store/}
  6. Nous avons installé tout ce qui est nécessaire. Il reste juste à paramétrer dans le fichier de configuration (etc/ftpsync.conf) le chemin vers les données (TO) in the config file . Utilisez votre éditeur favori à cette fin (mcedit, vim, vi, pico ...).

Tester votre configuration

  1. Maintenant c'Est le moment de faire votre synchronisation initiale ( et ainsi tester que le script fait ce qu'il est supposé faire)
    su - {user} -s /bin/bash
    ~/bin/ftpsync
  2. Vérifiez ensuite les logs pour à la recherche d’erreurs. Comme cette première synchro va prendr eplsuieurs heures, vous pouvez faire ceci dans une autre fenêtre terminal.: cd ~/log cat rsync-ftpsync.error.0

Configurer le serveur web

Vous devez configurer votre serveur web pour rendre les fichier accessible au public.

Pour cela vous devez penser à activer en même temps l'option FollowSymLinks dans la configuration d'Apache.

Si votre miroir est hebergé sur un SME server 7.x (ou ultérieur), dans une ibay, vous pouvez faire ceci en utilisant la commande suivante suite à la création de l'ibay:

db accounts setprop {ibayname} FollowSymLinks enabled
signal-event ibay-modify {ibayname}

Garder votre miroir à jour

Le script ftpsync permet deux méthodes de mise à jour : push ou pull.

Important.png Note:
Nous préférons que vous configuriez votre miroir en mode push car :
  • La synchronisation ne démarre que quand il y a des changements
  • Les changements sont propagés en temps réel ou presque
  • Les changements peuvent être fait par étapes (synchroniser les données d'abord, les repodata ensuite)
  • Moins de miroirs hors dates pour yum


Pourquoi nous préférons push

First some background on ssh. Ssh allows people to connect to accounts on different machines in a secure way. Not only are passwords never passed in the clear, once you connect to a machine you are basically guaranteed that future connections will be to the same machine. This prevents many man-in-the-middle attacks.

One capability ssh has is the ability for a user to take the public identity key for a user on another machine and add it to a file of authorized keys on your machine. By default, the user on the other machine (who has the private identity key associated with the public identity key given to you) then has login privileges to your account. It is possible, though, to add text to an authorized key restricting the type of access a person accessing your account using that key has.

So to protect the downstream mirror, the key provided by the upstream mirror has text added to it to limit it to only give the person accessing your account permission to do one thing — start the program on your machine that updates your mirror. Even if someone (an evil third party) was able to break the key, the most they could do is to start the mirror program on your machine. You do not even have to worry about multiple copies of the program being started as a lockfile is used.

On the upstream end, rsync can be configured to restrict who can mirror a given area by username and password. These are totally separate from /etc/passwd so a push server doesn't have to worry about giving others access to their machine. As it is set up, the username and password are passed in the clear. This shouldn't be a problem though, as the worst that can happen is that a third party gains the ability to mirror the SME Server packages from that site.

(source: Debian: Push mirroring)

Comment push fonctionne

Voici une description courte du processus de push:

  1. Le miroir maitre met à jour le fichier timestamp
  2. Le miroir maitre initie le miroir tiers 1 pour commencer l'étape 1 de synchronisation (wait)
  3. Le miroir tiers 1 rsync tout sauf les repodata des cibles désignées (n'efface rien)
  4. Le miroir tiers 1 initie le miroir tiers 2 pour commencer l'étape 1 de synchronisation (wait)
  5. Répétions des étapes précédentes pour toutes les miroirs tiers en dessous du niveau 2
  6. Le miroir maitre initie le miroir tiers 1 pour commencer l'étape 2 de synchronisation
  7. Le miroir tiers 1 rsync tout des cibles désignées (avec effacement)
  8. Le miroir tiers 1 initie le miroir tiers 2 pour commencer l'étape 2 de synchronisation
  9. Répétions des 3 étapes précédentes pour toutes les miroirs tiers en dessous du niveau 2
  10. Le miroir maitre verifie la mise à jour des miroirs et génère une liste des miroirs à jour
Configurer pour push

Le système push utilise une paire de clefs SSH publique et privée pour la communication, pour cela vous devez exécuter quelques commandes de configuration supplémentaires:

  1. D’abord vous devez avoir SSH de configuré et en service sur votre serveur. Si vous utilisez SME server poru votre miroir vous devrez autorisé l’accès à distance par le server-manager.
  2. Vous devrez aussi autoriser bash comme shell pour l'utilisateur pour la synchronisation du miroir.
    Si vous utilisez SME server, vous pouvez le faire ainsi : db accounts setprop {user} Shell /bin/bash signal-event user-modify {user}
  3. Vous devrez aussi ajouter la clef dans le fichier authorized_keys file de cet utilisateur su - {user} -s /bin/bash cat .ssh/pushmirror-*.pub >> .ssh/authorized_keys
Configurer pour pull
Important.png Note:
Nous préférons que vous configuriez votre miroir en mode push, mais si vous ne pouvez le faire ou avez d'Autres raisons pour ne pas le faire, vous pouvez configurer votre miroir en mode pull.


Configurer un miroir en mode pull est simple. Il suffit de mettre en place un tâche cron toutes les 2 heures qui fasse la même commande que vous avez fait la première fois, vous pouvez ajouter une ligne comme ceci:

1 */2  * * *  {user} ~/bin/ftpsync

Attention d’utiliser les templates-custom pour /etc/crontab si vous utilisez SME Server.

Advertising your mirror

Après que votre miroir soit synchronisé, faites le nous savoir, en remplissant un formulaire de bogue sur bugs.contribs.org dans la catégorie site SME "SME Website", ou simplement en cliquant sur ce lien link . Merci de fournir les renseignements suivant:

  • nom du site
  • contact principal nom/email
  • localisation/pays
  • bande passante disponible pour le miroir
  • URL pointant vers le site (pour tester les mises à jour et pour yum)
  • hôte pour se connecter (pour ssh)
  • port de connexion (pour ssh)
  • utilisateur pour se connecter (pour ssh)

Options de Configuration

Le fichier de configuration ftpsync est dans ~/etc/ftpsync.conf. Le fichier de configuration ftpsync a un nombre d'options que vous pouvez modifier. Vous devez en avoir vu certaines en modifiant le dossier de stockage des données. Le fichier de configuration est bien documenté.


Important

Taille du disque dur

La taille de disque dur utilisée par contribs.org sera d'environ 30Gb, le dossier /release, qui contient les images ISO et les dépôts yum, correspond à 6Gb du total. Le dossier /contribs correspond à 1Gb du total. Le dossier obsolete correspond à 16Gb, et le dossier testing qui contient lq future SME8 fait 7Gb du total.


Si vous êtes à cours d'espace vous pouvez économiser 16Gb avec l'option --exclude="obsolete/" et 7Gb de plus with --exclude="testing/"

Bande passante

A cause du faible nombre de miroirs, la bande passante consomée sur votre serveur sera de l'ordre de 200Gb/mois, ce qui se traduit en une consommation moyenne de 80kB/s.

Vérifications

Un miroir synchronisé tourne normalement tout seul, cependant il peut arriver que le serveur maitre fasse une maintenance, il est donc important de vérifier régulierement que la synchronisation se fait correctement sur votre miroir: page http://mirror.contribs.org/mirrors ou erreurs retournées par cron