Mirrors/fr

From SME Server
Jump to navigation Jump 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?

Pour les francophes et afin de répartir la charge des miroirs primaires, il est une bonne idée de prendre contact avec Unnilennium aka Jean-Philippe Pialasse . Deux miroirs maitres sont possible de chaque coté de l'atlantique en alternative à ibiblio qui a fait défaut quelques fois cette dernière année.


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-smeserver.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 prendre plusieurs 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 fichiers accessibles au public.

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

Si votre miroir est hébergé 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.

  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

D'abord quelques informations de base sur ssh. Ssh permet de se connecter à des comptes sur différentes machines de façon sécuritaire. Non seulement les mots de passe ne sont jamais envoyé en clair, mais une fois connecté à une machine vous êtes garanti que les futures connexions se feront à la même machine. Ceci évite les attaques du type homme-au-milieu.

Une fonction de ssh est la possibilité pour un utilisateur de prendre la clef publique de l’utilisateur d'une autre machine et del'Ajouter aux clefs autorisé de sa machine. Par défaut, l'utilisateur sur l'autre machine ( qui possède la clef privée associée à la clef publique qui vous a été donnée) as le privilège de pouvoir se connecter à votre compte. Il est cependant possible d'ajouter du texte à une clef autorisée pour restreindre le type d’accès que peut faire cette personne.

Ainsi pour protéger le miroir esclave, la clef fournie par le miroir maitre a une option ajoutée pour limiter son utilisation à seulement — démarrer le programme de synchronisation sur votre machine. Ainsi même si un quelqu'un (un tiers mal intentionné) était capable de casser la clef, la seule chose qu'il pourrait faire c'est lancer une synchronisation sur votre machine. Ne vous souciez même pas du risque que plusieurs sessions puissent être lancées simultanément car un fichier lock est utiliser pour éviter cela.

Sur le serveur maitre, rsync peut être configuré pour restreindre qui peut mettre à jour une zone précise par nom et mot de passe. Ceux-ci sont indépendant de /etc/passwd, un serveur push n'a donc pas besoin de s’inquiéter de donner accès à leur machine. Une fois configuré. le nom d’utilisateur et le mot de passe, sont passé en clair. Ce qui ne doit être un problème car le pire que puisse faire un tiers mal intentionné serait de lancer une synchronisation du paquet SME Server depuis ce 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
  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-smeserver.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 consommé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