Difference between revisions of "Mirrors/fr"

From SME Server
Jump to navigationJump to search
Line 48: Line 48:
 
* Moins de miroirs hors dates pour yum}}
 
* Moins de miroirs hors dates pour yum}}
 
=====Pourquoi nous préférons push=====
 
=====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.
+
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.
  
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.
+
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.  
  
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.
+
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.
  
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.
+
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: [http://www.debian.org/mirror/push_mirroring Debian: Push mirroring])
 
(source: [http://www.debian.org/mirror/push_mirroring Debian: Push mirroring])

Revision as of 17:57, 22 May 2012


É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

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
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