Nous vous avons présenté les Vservers (Installer et gérer) il y a quelques temps. Voici un texte qui aide à installer des Vservers sur une Mandriva.
Préparation du système
Installer un système serveur (pas de bureautique et multimédia) léger. N’installez pas les serveurs réseaux dont vous n’avez pas besoins (ex. : SaMBa).
Pour des raisons de sécurité, vous devrez faire une mise à jour du système avant de mettre vos serveurs en production.
La distribution Mandriva offre la possibilité d’ ajouter des sources distantes « main » et « contrib » (http://easyurpmi.zarb.org/) pour installer des paquetages suppémentaires. Pour installer les sources du GULUS, entrez ces lignes dans une console root :
urpmi.addmedia main http://gulus.usherbrooke.ca/pub/distro/Mandrakelinux/official/2006.0/i586/media/main with media_info/hdlist.cz
urpmi.addmedia contrib http://gulus.usherbrooke.ca/pub/distro/Mandrakelinux/official/2006.0/i586/media/contrib with media_info/hdlist.cz
Grâce au centre de contrôle Mandriva (Système - Configuration - Configurer votre ordinateur) arrêter les services non désirés et configurer le parefeu pour avoir accès au serveur apache et sshd.
Installer le noyau (joint au bas de ce texte dans l’archive cd_vservers). Ensuite, on crée l’image du noyau avec cette ligne de commande depuis /boot :
- mkinitrd initrd-kernel-2.6.14.3-vs2.0.1.img 2.6.14.3-vs2.0.1
On doit maintenant ajouter ce noyau dans Lilo en se rendant dans le panneau de contrôle Mandriva- Démarrage- Configurer comportement... On clique sur suivant puis ajouter. Vous aurez à compléter une fenêtre comme ci-dessous (cliquer sur le bouton avancé) :

Installer linuxconf et linuxconf-util à partir d’une source contrib.
Puis, installer les paquetages vserver et vserver-admin (ci-dessous).
On doit redémarrer la machine sur le noyau vserver.
Création du premier vserver
Les vservers se créeront par défaut dans la partition racine de votre système. Si vous désirez plutôt les créer dans une autre partition il suffit de créer un lien symbolique vservers vers la partition désirée.
En root, on fait la commande vserver premier build (c’est long !) où premier est le nom de notre vserver.
vserver premier build
Ouf ! Notre vserver premier est prêt. On entre dedans pour faire du ménage :
- vserver premier enter
On démarre linuxconf en mode texte pour aller vérifier que tous les services sauf sshd, syslog et crond sont en mode manuel (non automatique) afin que seuls les services désirés soient activés lors du démarrage du vserver.
linuxconfig —text (— text est utilisé pour demeurer en mode texte)
On vérifie la configuration réseau (avec linuxconf), l’adresse IP et le nom du serveur doivent être les mêmes que dans le fichier premier.conf.
On sort du vserver :
- exit
On arrête httpd, mysqld et les autres serveurs... sur la racine afin d’éviter les conflits :
- service httpd stop
- service mysqld stop
- ...
On redémarre le service sshd sur la racine, mais en utilisant v_sshd plutôt que sshd (pour ne pas occulter les serveurs ssh contenus dans les vservers :
- service v_sshd restart
On s’assure qu’au démarrage aussi, le serveur racine démarrera v_sshd et non sshd :
- chkconfig sshd off
- chkconfig v_sshd on
On démarre le vserver :
- vserver premier start
Clone de premier
Nous sommes prêt pour créer un vserver de base : newvserver, on clone le vserver premier pour faire vserver fonctionnel. [1]

Ouf ! Notre vserver base est prêt. On entre dedans pour faire du ménage :
vserver base enter
On démarre linuxconf en mode texte pour aller arrêter tous les services sauf sshd, syslog et crond.
linuxconfig —text
On vérifie l’adresse ip (avec linuxconf)
On sort du vserver :
exit
On arrête httpd, mysqld et les autres serveurs... sur la racine :
service httpd stop
service mysqld stop
...
On redémarre le service sshd sur la racine, mais en utilisant v_sshd plutôt que sshd (pour ne pas occulter les serveurs ssh contenus dans les vservers :
service v_sshd restart
On s’assure qu’au démarrage aussi, le serveur MAIN démarrera v_sshd et non sshd :
chkconfig sshd off
chkconfig v_sshd on
On démarre le vserver :
vserver base start
Voilà ! Vous pouvez faire des tests sur votre nouveau vserver.
Problème mysqld
Un bogue avec mysqld empêche de démarrer le service dans le vserver. On doit renommer le répertoire /var/lib/mysql en mysql_ori, on redémarrer le service mysqld, on cré les répertoire /var/lib/mysql/.tmp et /var/lib/mysql/tmp, on chmod mysql:mysql ces deux répertoire, et on redémarre le service. Si vous clonez le vserver premier avec la commande newvserver, mysqld démarrera correctement.
Problème klogd
Afin d’éviter des problèmes avec klogd (démarré avec syslogd), éditez le fichier /etc/init.d/syslog et commentez ce qui concerne klogd comme ci-dessous :
start() {
gprintf "Starting system logger: "
daemon syslogd $SYSLOGD_OPTIONS
RETVAL=$?
echo
#gprintf "Starting kernel logger: "
#daemon klogd $KLOGD_OPTIONS
#echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/syslog
return $RETVAL
}
Utiliser des applications X via ssh
- Editer le fichier /etc/ssh/sshd_config sur le vserver et de changer la ligne
- X11UseLocalHost yes pour X11UseLocalHost no
- Reparter ensuite le service sshd.
- Attention au fichier /etc/hosts, il doit contenir l’info correct comme : ipduvserver nom.duveserver EX :
127.0.0.1 localhost
192.168.1.100 toto.patate.com



