Accéder au contenu principal

Chroot MySQL sous Debian Squeeze

Introduction

Dans certain cas nous aimerions installer un service ou une application sans avoir d'incidence sur les services annexes d'une machine. On peut vouloir tester un outil, devoir utiliser une application sur une version particulière de notre distribution ou encore, dans notre cas, installer un serveur MySQL sur une machine Debian sur laquelle nous ne voulons pas influer.
Pour ces cas - et bien d'autres encore - une solution existe : les chroots. Le chroot est un espace isolé du reste de l'environnement et possède ses propres bibliothèques, outils, applications, etc. Il peut communiquer avec le reste du monde, la machine hôte, etc. Mais il ne peut pas influer sur autre chose que lui-même.

Installation

Je vais donc vous décrire rapidement les commandes effectuées pour créer un chroot avec MySQL dedans. Pour des informations complémentaires je laisse les liens des tutoriels suivis dans le chapitre Liens de ce même article.
Voici donc les étapes successives (faites sur une Debian Squeeze) :
  • Installation de l'outil debootstrap
  • Création d'un répertoire /srv/chroot/squeeze
  • Initialisation de la variable CHROOT nécessaire à toutes les opérations
  • Création du chroot
  • Montage des répertoires importants
  • Identification sur le chroot
  • Mise à jour du chroot
  • Installation des locales et de nano
  • Modification de l'invite de commande pour savoir que nous sommes dans un chroot
  • Sortie puis entrée dans le chroot pour vérifier la modification de l'invite de commande
  • Installation de MySQL
  • Édition du fichier de configuration de MySQL
  • Redémarrage de MySQL
  • Édition de la configuration MySQL côté machine hôte
Et les différentes commandes :

  1. su - root  
  2. apt-get install debootstrap  
  3. mkdir -p /srv/chroot/squeeze  
  4. CHROOT=/srv/chroot/squeeze  
  5. debootstrap --arch i386 squeeze $CHROOT http://ftp.fr.debian.org/debian/  
  6. mount -t proc proc $CHROOT/proc  
  7. mount -t devpts devpts $CHROOT/dev/pts  
  8. chroot $CHROOT /bin/bash --login  
  9. apt-get update  
  10. apt-get install locales nano  
  11. dpkg-reconfigure locales  
  12. echo "(CHROOT)" > /etc/debian_chroot  
  13. exit  
  14. chroot $CHROOT /bin/bash --login  
  15. apt-get install mysql-server mysql-client php5-mysql  
  16. nano /etc/mysql/my.cnf  
On édite les lignes suivantes :
bind-address    = localhost
puis on redémarre le serveur MySQL :
  1. service mysql restart  
Ensuite on quitte le chroot et on édite le fichier de la machine hôte :
  1. exit  
  2. nano /etc/mysql/my.cnf  
On édite les lignes suivantes :
[client]
port    = 3306
socket    = /srv/chroot/squeeze/var/run/mysqld/mysqld.sock
puis plus loin dans le même fichier :
bind-address    = localhost
et on ajoute la ligne suivante :
chroot = /srv/chroot/squeeze
Vous voilà désormais avec un chroot contenant MySQL !

Conclusion

Créer un chroot n'est finalement pas compliqué. L'utiliser et installer des applications non plus. MySQL reste cependant particulier car il faut connaître l'option chroot du fichier de configuration. On rencontre aussi quelques difficultés avec PhpMyAdmin, mais ils peuvent être résolus via un tutoriel de l'accès PhpMyAdmin à un chroot MySQL.

Commentaires

Posts les plus consultés de ce blog

Dossier de base sur un serveur Windows

Dossier de base Pour les utilisateurs de domaine Windows AD, il est possible de créer un dossier de base via l’activation du service dossier utilisateur. Ainsi, chaque utilisateur du domaine disposera d’un dossier personnel pour le stockage et la sauvegarde de ses fichiers sur le serveur de partage. Le dossier utilisateur permet de plus aux administrateurs de sauvegarder les fichiers de chacun des utilisateurs.

Le protocole ICMP | Echo Echo Response : Le ping | Le TTL

Le protocole ICMP Introduction Nous avons pu remarquer dans les chapitres précédents qu'IP était essentiellement accès sur les fonctions d'adressage et de routage. Il est configuré pour fonctionner comme si aucun problème ne pouvait survenir sur le réseau ( perte de datagrammes, congestion, problème de routage, etc .). Si un problème survient, sa solution est expéditive :  il ne route pas  ! Il a tout juste accepté de prendre en charge les problèmes de fragmentation ! Ce mode de fonctionnement n'est pas un problème en soi ( il suffit de regarder la notoriété et l'implantation d'IP ! ). Mais il est nécessaire de pouvoir dans certains cas informer les émetteurs du devenir de leurs datagrammes. C'est le rôle d' ICMP  ( I nternet  C ontrol  M essage  P rotocol) qui, comme son nom l'indique, est un  protocole d'information du contrôle de réseau . ICMP ne résoud rien, ou du moins pas grand chose, il informe ! Lorsque certains problèmes de

Guide pas à pas de la gestion de l’impression dans Windows Server 2008

S'applique à: Windows Server 2008, Windows Server 2008 R2 Deux outils principaux peuvent être utilisés pour administrer un serveur d’impression Windows dans Windows Server® 2008 : Gestionnaire de serveur et Gestion de l’impression. Vous pouvez utiliser le Gestionnaire de serveur pour installer le rôle serveur Services d’impression, des services de rôle facultatifs et des fonctionnalités. Le Gestionnaire de serveur affiche également les événements liés à l’impression à partir de l’Observateur d’événements et inclut une instance du composant logiciel enfichable Gestion de l’impression qui peut uniquement administrer le serveur local. La gestion de l’impression, qui constitue l’objet principal du présent document, offre une interface unique que les administrateurs peuvent utiliser pour administrer efficacement plusieurs imprimantes et serveurs d’impression. Vous pouvez utiliser la gestion de l’impression pour gérer des imprimantes sur des ordinateurs