Serveur d'installation de distributions GNU/Linux
Un guide pour installer un serveur HTTP/FTP permettant d'installer plusieurs distributions
Installation de la machine
La distribution choisie pour faire ce serveur est la Ubunty 6.10 (Edgy). Je vous rassure, le choix a été fait de manière quelque peu arbitraire et quelque soit la distribution que vous avez choisi pour faire cette installation, la procédure devrait être identique. L'installation s'est faite en partitionnant les deux disques durs de la machine (320Go et 200Go respectivement) en LVM et en definisant une partition /srv qui remplit la quasi-totalité du disque. C'est l'installation par défaut qui a été effectuée. Une fois celle-ci effectué, la première chose à faire est sans doute de mettre à jour la machine.
Définition d'un groupe d'administrateurs
Un groupe "mirror" a été crée sur la machine. Ce groupe contient toutes les personnes ayant le droit de manipuler l'arborescence des miroirs de distrbutions. Cela se crée en éditant le fichier /etc/group avec votre éditeur de texte préféré et en rajoutant une ligne :
mirror:x:812:toto,titi,tutu
ou 812 est l'identifiant du groupe en question (il ne doit donc pas correspondre à un autre groupe) et toto, titi et tutu sont les utilisateurs membres du groupe.
Téléchargement des distributions
Il faut ensuite télécharger les différentes distributions et les mettre dans le répertoire adéquat (/srv/www, en l'occurence). Pour les distributions basés sur Debian, on peut utiliser le script debmirror pour faire des miroirs partiels. D'autres distributions pourront être récupérés par rsync pendant que d'autres feront l'objet d'un téléchargement FTP.
La première chose à faire est de récupérer les outils qui vont bien. Dans notre cas, un simple "apt-get install debmirror rsync lftp" a suffit.
Ensuite, il faut les commandes qui permettent d'obtenir les miroirs en question. Parinux a choisi de les regrouper dans un Makefile (en pièce-jointe à cet article) pour les centraliser et permettre d'en lancer plus facilement un sous-ensemble. Attention, il faut, avant de lancer les commandes contenues dans ce Makefile, vérifier que les versions des distributions, les architectures récupérées et les sites miroir utilisés correspondent à ce que vous voulez.
Installation et Configuration d'un serveur HTTP
On peut utiliser ici l'un de plusieurs serveurs HTTP (Apache 1.x ou 2.x, Caudium, ...). Ici, c'est lighttpd qui a été installé parce qu'on trouvait qu'il résistait mieux à la charge que d'autres serveurs. Quelques modifications de la configuration par défaut est nécessaire
- le module evhost a été activé par défaut
- la variable server.document-root prend la valeur "/srv/www/"
- la variable evhost.path-pattern prend la valeur "/srv/www/%4/"
Ainsi, on peut faire pointer des adresses DNS sur l'adresse IP de la machine (Parinux utilise des adresses en *.ip.parinux.org) et faire pointer différents noms vers différents répertoires.
Installation et Configuration d'un serveur FTP
Le choix du serveur FTP s'est fait de manière beaucoup plus arbitraire. Vsftpd a été installé. Ici aussi, le répertoire par défaut (/var/ftp) a été modifié, cette fois pour pointer sur /srv/ftp, lui-même un lien symbolique vers /srv/www.
Installation et Configuration du PXE
Le guide référence pour définir du PXE multi-distributions est ici.