Mirrors/fr
É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. Les versions courantes peuvent être trouvées à l'adresse http://mirror.contribs.org/smeserver/releases/, la section des contributions est à l'adresse http://mirror.contribs.org/smeserver/contribs/
Données
Taille du disque dur
La taille du disque dur physique nécessaire pour les données contribs.org sera d'environ 30 Go, l'arborescence /release, qui contient les images iso et les référentiels, compte pour environ 6 Go de cette taille. L'arborescence /contribs représentera un peu plus de 1 Go du total. Le répertoire obsolète représente 16 Go, et le répertoire de test qui inclut la prochaine version SME 8 fait 7 Go.
Si vous manquez d'espace, vous pouvez facilement économiser 16 Go avec --exclude=obsolete/ dans la balise EXCLUDE="" dans etc/ftpsync-smeserver.conf comme ceci :
EXCLUDE="--exclude=obsolète/"
Plus d'informations sur le fichier de configuration peuvent être trouvées dans Mirrors#Configuration options.
Bande passante
En raison du petit nombre de miroirs, la bande passante acheminée vers vos serveurs sera de l'ordre de 200 Go/mois en moyenne, ce qui correspond à environ 80 ko/s.
Exigences pour les miroirs
- Adresse IP statique
- Utilisateur dédié pour la synchronisation
- Autoriser SSH depuis Internet vers une IP statique (le port n'a pas d'importance)
Comment devenir un site miroir ?
Si vous ou votre entreprise disposez de bande passante disponible et souhaitez être inclus dans Mirror.contribs.org, devenez un miroir en suivant ces étapes :
Préparer votre système
- Créer un emplacement de stockage pour votre miroir
mkdir -p {/path/to/your/data/store/}
- Créer un nouvel utilisateur pour faire vos mises à jour de miroir. Si vous utilisez le serveur Koozali SME, vous pouvez utiliser le gestionnaire du serveur pour cela.
- Aller dans le répertoire du nouvel utilisateur. Sur le serveur SME, ce sera : /home/e-smith/files/users/{user}/ cd {/path/to/user/dir/}
- C'est maintenant le momement de télécharger le script ftpsync et tous les fichiers requis : wget http://contribs.org/ftpsync.tgz
- Extraire l'archive dans le dossier des utilisateurs : tar zxof ftpsync.tgz
- Rendre l'utilisateur propriétaire des répertoires : chown -R {user} bin etc log locks .ssh {/path/to/your/data/store/}
- Nous avons installé et configuré 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 . Utiliser votre éditeur favori à cette fin (mcedit, vim, vi, pico ...).
TO="/path/to/your/data/store/"
RSYNC_HOST=mirror.canada.pialasse.comCeci à cause du récent manque de fiabilité de ibiblio.org (voir :
Tester votre configuration
- 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 sync:archive:smeserver
- Vérifiez ensuite les journaux à 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-smeserver.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 serveur Koozali SME 7.x (ou ultérieur), dans une baie d'information, vous pouvez faire ceci en utilisant la commande suivante suite à la création de la baie :
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.
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épendants 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 transmis 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 :
- le miroir maitre met à jour le fichier timestamp ;
- le miroir maitre initie le miroir tiers 1 pour commencer l'étape 1 de synchronisation (wait) ;
- le miroir tiers 1 synchronise tout sauf les repodata des cibles désignées (n'efface rien) ;
- le miroir tiers 1 initie le miroir tiers 2 pour commencer l'étape 1 de synchronisation (wait) ;
- répétition des étapes précédentes pour tous les miroirs tiers en dessous du niveau 2 ;
- le miroir maitre initie le miroir tiers 1 pour commencer l'étape 2 de synchronisation ;
- le miroir tiers 1 synchronise toutes les cibles désignées (avec effacement) ;
- le miroir tiers 1 initie le miroir tiers 2 pour commencer l'étape 2 de synchronisation ;
- répétition des 3 étapes précédentes pour toutes les miroirs tiers en dessous du niveau 2 ;
- 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 :
- D’abord vous devez avoir SSH de configuré et en service sur votre serveur. Si vous utilisez un serveur SME pour votre miroir, vous devez autoriser l’accès à distance sur le gestionnaire du serveur.
- Vous devrez aussi autoriser bash comme shell pour l'utilisateur pour la synchronisation du miroir.
Si vous utilisez un serveur SME, vous pouvez le faire ainsi : db accounts setprop {user} Shell /bin/bash signal-event user-modify {user} - 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
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 à utiliser les templates-custom pour /etc/crontab si vous utilisez le serveur Koozali SME.
Publicité de votre miroir
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 suivants :
- nom du site ;
- contact principal nom/adresse électronique ;
- 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 si vous avez modifié la localisation du dossier de stockage des données dans la procédure de configuration. Le fichier de configuration est bien documenté mais nous discuterons de certaines fonctionnalités ici.
Configure your mirror as hub
this is intented to do on an already synced mirror in push mode.
setting up rsync as server
as root.
open /etc/xinetd.d/rsync and remove the disabled line
vim /etc/xinetd.d/rsync
create a rsyncd.conf file
vim /etc/rsyncd.conf
then add this
# rsync.conf uid = {USEROWNING THE MIRROR FILES} gid = {GROUP OWNING THE MIRROR FILES} use chroot = yes max connections = 5 timeout = 300 read only = true strict modes = true transfer logging = true dont compress = *.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz [smeserver] path = /home/e-smith/files/ibays/{IBAY}/html comment = SME Server Mirror hosts allow = {YOUR CLIENT IP}
install xinetd
yum install xinetd
configure as services
ln -s /etc/rc.d/init.d/e-smith-service /etc/rc7.d/S91xinetd config set xinetd service status enabled config set rsyncd service TCPPort 873 access public status enabled signal-event remoteaccess-update service xinetd start
configure hosts.allow
mkdir -p /etc/e-smith/templates-custom/etc/hosts.allow/ echo "rsync: ALL" > /etc/e-smith/templates-custom/etc/hosts.allow/rsync signal-event remoteaccess-update
you can browse your server like this
rsync --list-only rsync://YourIP
you can download from your server like this
rsync -avz YourIP::smeserver YourLocalFolder
create a rsa file
as user responsible of ftpsync.
ssh-keygen -qt rsa -b 1024 -C "contribs-push@{MY MIRROR}" -f ~/.ssh/contribs-push\@{MY MIRROR}.rsa
then to protect the key and limit it to one usage and only one IP. You need to change {MY MIRROR} and {MY HUB IP }
echo "no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty,command=\"~/bin/ftpsync\",from=\"{MY HUB IP }\" "|cat - ~/.ssh/contribs-push\@{MY MIRROR}.rsa.pub > ~/.ssh/contribs-push.tmp && mv ~/.ssh/contribs-push.tmp ~/.ssh/contribs-push\@{MY MIRROR}.rsa.pub
finally protect your keys
chmod 0600 ~/.ssh/contribs-push\@{MY MIRROR}.rs*
never give your private key, only send your public (.pub) to the downstream mirror.
setting up ftpsync-smeserver.conf
as user responsible of ftpsync.
this step will allow your ftpsync to know that he need to trigger another server
edit ~/etc/ftpsync-smeserver.conf
vim ~/etc/ftpsync-smeserver.conf
under the line #HUB=false, insert
HUB=true
setting up runmirrors-smeserver.conf
as user responsible of ftpsync.
vim ~/etc/runmirrors-smeserver.conf
then comment out the following line and adapt it to the path of you private key
KEYFILE=.ssh/contribs-push\@{MY MIRROR}.rsa
setting up runmirrors-smeserver.mirror
as user responsible of ftpsync.
edit the file
vim ~/etc/runmirrors-smeserver.mirror
add the following at the end of the file
mhop {NAME FOR LOG PURPOSE} {YOUR CLIENT ADRESS} {YOUR CLIENT USER} -p {YOUR CLIENT SSH PORT}
Configure your mirror under another hub
follow : http://wiki.contribs.org/Mirrors#How_to_become_a_mirror_site.3F
except you will have to import your own public key (generated just above)
then you will have to tunes :
vim ~/etc/ftpsync-smeserver.conf
change RSYNC_HOST= to point to your hub mirror
RSYNC_HOST={HUB MIRROR ADRESSE}
tada! you are done!
Current SME Server contribs.org Mirror Tree
koozali.org mirrors | mirror.canada.pialasse.com
Rsync, Push |
smeserver.bhs.mirrors.ovh.net
Rsync / 1GPs /pull %36h |
|
distro.ibiblio.org
Rsync, Push |
ftp.iinet.net.au
mirror.internode.on.net ftp.icm.edu.pl | ||
mirror.pialasse.com
Push |
|||
sme-mirror.tw.co.nz
Pull |
|||
sme-mirror.firewall-services.com
Pull |
|||
ibsgaarden.dk
Push |
|||
mirrors.rbx.opencare.nl
Push |
|||
ftp.nluug.nl / ftp.vim.org
Pull |
|||
ftp.icm.edu.pl
Pull |
|||
mirrors.mab974.re
Pull |
|||
www.mirrorservice.org
Rsync, Pull |
RSYNC access
- ibiblio : rsync://distro.ibiblio.org/smeserver/releases/ ( rsync -avv --stats distro.ibiblio.org::smeserver/releases . )
- mirror.canada.pialasse.com: rsync -avv mirror.canada.pialasse.com::smeserver/releases .
- mirrorservice.org : rsync//rsync.mirrorservice.org/sites/mirror.contribs.org/smeserver/releases/ (rsync -avv --stats rsync.mirrorservice.org::mirror.contribs.org/smeserver/releases/ . )
FTP access
Bogues
Veuillez ouvrir les bogues dans la section SME-Server 10.X de Bugzilla et sélectionner le composant Mirrors ou utiliser ce lien .
Aperçu ci-dessous des problèmes en cours pour ce paquet :
ID | Product | Version | Status | Summary (5 tasks) ⇒ |
---|---|---|---|---|
12332 | SME Web site | Unknown | UNCONFIRMED | Mirror Request |
12214 | SME Web site | Unknown | RESOLVED | Update of mirrors.rbx.opencare.nl |
11574 | SME Web site | Unknown | CONFIRMED | ftpsync error - pull mode mirror |
11487 | SME Web site | Unknown | CONFIRMED | redirect on mirrors based on geoip |
10838 | SME Web site | Unknown | CONFIRMED | No public keys included in ftpsync.tgz, so impossible to setup a push mirror |