Photo

Blog de Justin COUTAREL

développeur

May
9
2014

Installation du SGBDR MySQL sur un serveur dédié Kimsufi sous Ubuntu Server 14.04 LTS Administration système, GNU/Linux

Aujourd’hui, je vais présenter l’installation du Système de Gestion de Bases de Données Relationnelles (SGBDR) MySQL, Ce billet s’inscrit dans la suite d’articles dédiée à l’installation d’un serveur Kimsufi sous Ubuntu Server 14.04 LTS. Un SGBD permet d’organiser, de stocker et de rechercher des données dans des structures logiques. Les SGDBR sont des SGBD qui utilisent des liens pour faire correspondre, entre elles, les différentes entités stockées. Ces entités sont appelées tables et les liens sont nommés clés étrangères. En France, il est courant d’utiliser la méthode Merise pour concevoir les bases de données relationnelles. Il existe également d’autres types de SGBD, les SGBD Objets qui stockent les données sous forme d’objets et s’interfacent assez bien avec les langages orientés objet. MySQL est le SGBDR open source le plus utilisé au monde.  Ainsi, il est souvent nécessaire pour assurer le fonctionnement de sites et d’applications Web (ce blog utilise MySQL par exemple). Il est également utilisé par certains services du serveur. Ainsi,  nous l’utiliserons lors de  l’installation et de la configuration du serveur d’e-mails dans un futur article.
 

  • Installation et configuration de MySQL

Pour installer MySQL, commencez par vous connecter au serveur via SSH et basculez sur le compte root avec la commande su, comme ici:

Ensuite, il est nécessaire d’installer le paquet mysql-server. Pour cela, tapez la commande suivante:

L’outil de configuration des paquets va vous poser certaines questions lors de l’installation de MySQL. Ainsi, il va vous demander de taper un mot de passe. Ce mot de passe permet de protéger le compte Administrateur (root) de MySQL. Ce compte est complètement indépendant du compte root du système d’exploitation Ubuntu Server 14.04 LTS. Vous allez donc devoir choisir un mot de passe différent et suffisamment solide. Vous pouvez vous aider du script Python de génération de mots de passe que j’ai évoqué dans un précédent billet. Tapez alors le mot de passe que vous avez choisi, et validez en actionnant le bouton OK, comme ici:

Installation du SGBDR MySQL sur un serveur dédié Kimsufi sous Ubuntu Server 14.04 LTS - Installation du paquet MySQL - Étape 1

Installation du SGBDR MySQL sur un serveur dédié Kimsufi sous Ubuntu Server 14.04 LTS – Installation du paquet MySQL – Étape 1

Ensuite, il vous est demandé de le confirmer. Entrez une deuxième fois le mot de passe et terminez par OK, comme le montre la prise d’écran ci-dessous:

Installation du SGBDR MySQL sur un serveur dédié Kimsufi sous Ubuntu Server 14.04 LTS - Installation du paquet MySQL - Étape 2

Installation du SGBDR MySQL sur un serveur dédié Kimsufi sous Ubuntu Server 14.04 LTS – Installation du paquet MySQL – Étape 2

Les données de MySQL sont initialement stockées dans le dossier /var/lib/mysql. Pour les mêmes raisons qu’évoquées dans le précédent article sur l’installation du serveur Web Apache, nous allons déplacer ces données sur la partition montée sur /srv. Ceci a pour but de conserver les données des différents services du serveur en cas de réinstallation. Pour y arriver, il suffira de ne pas formater la partition /srv lors de la réinstallation. Ainsi, les données de MySQL seront stockées dans le dossier /srv/mysql. Pour ce faire, il est nécessaire, dans un premier temps, d’arrêter le service de MySQL. Pour cela, entrez la commande ci-dessous:

Ensuite, il faut déplacer les données elles-mêmes avec la commande suivante:

Puis, pour que MySQL puisse retrouver ses données, il suffit de faire un lien symbolique entre l’ancien emplacement des données et le nouveau avec la commande ln, comme ici:

Afin d’être sûr que le service MySQL puisse accéder et modifier à ses propres données, nous allons fixer le propriétaire et le groupe du lien symbolique /srv/mysql avec la commande suivante:

Depuis la version 7.10,  Ubuntu utilise le système de sécurité apparmor. Celui-ci permet d’associer des profils de sécurité aux différents services et programmes du serveur. Ceci permet de restreindre leurs capacités et ainsi éviter qu’ils aient accès à des données autres que les leurs (par exemple, dans le cas d’un  programme infecté qui détruirait les données utilisateurs).  Apparmor dispose d’un profil de sécurité pour MySQL. Ainsi, il est nécessaire de le modifier afin de tenir compte du déplacement des données opéré. Pour ce faire, ouvrez et éditez le fichier /etc/apparmor.d/usr.sbin.mysqld, avec par exemple la commande suivante:

Cherchez et modifiez les deux lignes suivantes:

En:

Maintenant qu’apparmor et que MySQL sont bien configurés, il ne reste plus qu’à recharger la configuration d’apparmor et redémarrer le service du serveur MySQL. Pour cela, entrez les commandes ci-dessous:

 

  • Installation de PHPMyAdmin

Afin de simplifier l’administration et la maintenance des différentes bases de données présentes sur votre serveur MySQL, nous allons installer PHPMyAdmin. PHPMyAdmin est une application Web open source qui permet de gérer très simplement les bases de données d’un ou plusieurs serveurs MySQL. Ainsi, il est possible de créer et de supprimer des bases de données et des tables, d’exécuter des requêtes ou encore d’importer et d’exporter des bases de données dans différents formats. Une gestion des utilisateurs et des droits est également disponible. Toutes ces actions sont faites à partir d’une interface Web accessible depuis n’importe quel navigateur Web.

Prérequis: PHPMyAdmin nécessite d’avoir un serveur Web et PHP d’installés pour fonctionner. Nous avons installé et configuré le serveur Web Apache et PHP dans le précédent billet sur l’ïnstallation du serveur Web Apache.

Pour commencer, il est nécessaire d’installer le paquet phpmyadmin. Pour cela, tapez cette commande sur votre serveur:

L’outil de configuration des paquets va vous poser certaines questions. Ainsi, il va vous demander quel serveur Web est installé sur le serveur. Nous avons installé le serveur Web Apache. Cochez alors la case apache2 et validez en actionnant le bouton OK, comme le montre la prise d’écran ci-dessous:

Installation du SGBDR MySQL sur un serveur dédié Kimsufi sous Ubuntu Server 14.04 LTS - Installation du paquet PHPMyAdmin - Étape 1

Installation du SGBDR MySQL sur un serveur dédié Kimsufi sous Ubuntu Server 14.04 LTS – Installation du paquet PHPMyAdmin – Étape 1

Ensuite, il vous propose d’utiliser dbconfig-common pour configurer la base de données de PHPMyAdmin. Confirmez en sélectionnant Oui, comme ici:

Installation du SGBDR MySQL sur un serveur dédié Kimsufi sous Ubuntu Server 14.04 LTS - Installation du paquet PHPMyAdmin - Étape 2

Installation du SGBDR MySQL sur un serveur dédié Kimsufi sous Ubuntu Server 14.04 LTS – Installation du paquet PHPMyAdmin – Étape 2

À la prochaine question, l’outil de configuration vous demande de saisir le mot de passe du compte Administrateur (root) de MySQL. Entrez alors le mot de passe que vous avez défini lors de l’installation du serveur MySQL en première section de cet article, comme l’illustre la capture d’écran suivante:

Installation du SGBDR MySQL sur un serveur dédié Kimsufi sous Ubuntu Server 14.04 LTS – Installation du paquet PHPMyAdmin – Étape 3

Installation du SGBDR MySQL sur un serveur dédié Kimsufi sous Ubuntu Server 14.04 LTS – Installation du paquet PHPMyAdmin – Étape 3

Il vous est demandé ensuite un mot de passe de connexion. L’outil de configuration des paquets va créer une base de données et un compte utilisateur au sein de MySQL, nécessaire au bon fonctionnement de PHPMyAdmin. Le mot de passe demandé correspond au mot de passe du compte utilisateur créé par l’outil de configuration. Vous pouvez en définir un nouveau et le saisir ou bien laissez le champ vide pour que l’outil de configuration en génère un automatiquement. Le mot de passe généré automatiquement par l’outil de configuration fait 12 caractères, contient des lettres majuscules et minuscules ainsi que des chiffres. Personnellement, j’ai préféré utiliser un mot de passe généré à l’aide de mon script Python de génération de mots de passe, qui génère des mots de passe plus solides (24 caractères, avec des lettres majuscules et minuscules, des chiffres et des symboles), comme le montre la prise d’écran suivante:

Installation du SGBDR MySQL sur un serveur dédié Kimsufi sous Ubuntu Server 14.04 LTS – Installation du paquet PHPMyAdmin – Étape 4

Installation du SGBDR MySQL sur un serveur dédié Kimsufi sous Ubuntu Server 14.04 LTS – Installation du paquet PHPMyAdmin – Étape 4

Si vous avez fourni un mot de passe, vous devez alors le confirmer, comme ici:

Installation du SGBDR MySQL sur un serveur dédié Kimsufi sous Ubuntu Server 14.04 LTS – Installation du paquet PHPMyAdmin – Étape 5

Installation du SGBDR MySQL sur un serveur dédié Kimsufi sous Ubuntu Server 14.04 LTS – Installation du paquet PHPMyAdmin – Étape 5

Le gestionnaire de paquets apt installe et configure ensuite les paquets à installer.

PHPMyAdmin a besoin que de l’extension mcrypt pour PHP soit activée. Pour ce faire, tapez la commande suivante:

Puis redémarrez le serveur Web Apache avec cette commande:

Une fois fait, rendez-vous dans votre navigateur Web et tapez l’adresse suivante:

Vous devriez voir apparaître la page de connexion de PHPMyAdmin. Entrez alors le nom d’utilisateur root et le mot de passe du compte Administrateur (root) de MySQL, que vous avez choisi en première section de ce billet. Validez en actionnant le bouton Exécuter, comme l’illustre l’image ci-dessous:

Installation du SGBDR MySQL sur un serveur dédié Kimsufi sous Ubuntu Server 14.04 LTS – Connexion à PHPMyAdmin

Installation du SGBDR MySQL sur un serveur dédié Kimsufi sous Ubuntu Server 14.04 LTS – Connexion à PHPMyAdmin

Une fois connecté, vous devriez tomber sur une page similaire à la capture d’écran suivante:

Installation du SGBDR MySQL sur un serveur dédié Kimsufi sous Ubuntu Server 14.04 LTS – Tableau de bord de PHPMyAdmin

Installation du SGBDR MySQL sur un serveur dédié Kimsufi sous Ubuntu Server 14.04 LTS – Tableau de bord de PHPMyAdmin

Dans la partie de gauche, vous pouvez sélectionner une base de données.

L’onglet Bases de données permet de gérer les bases de données, permettant d’en créer de nouvelles ou d’en supprimer.

Attention: certaines bases de données sont déjà présentes, ainsi il ne faudra pas supprimer les bases suivantes: information_schema, mysql, performance_schema et phpmyadmin. Celles-ci assurent le bon fonctionnement du serveur MySQL et de PHPMyAdmin.

Pour plus de sécurité, il est possible de modifier l’adresse d’accès (l’URL) à PHPMyAdmin. Ainsi, au lieu de taper:

Vous taperez par exemple:

Ceci permet d’éviter que certains attaquants aient accès à l’interface Web de PHPMyAdmin. En effet, comme il est courant d’accéder à PHPMyAdmin via l’adresse http://IP_SERVEUR/phpmyadmin ou http://NOM_DOMAINE/phpmyadmin, certaines personnes mal intentionnées attaquent PHPMyAdmin par brute force ou par dictionnaire. Leur but est d’accéder aux bases de données du serveur et de récupérer des informations potentiellement sensibles (notamment les logins et les mots de passes présents dans les bases de données). Pour ce faire, ouvrez et éditez le fichier /etc/apache2/conf-available/phpmyadmin.conf, avec la commande suivante par exemple:

Cherchez et modifiez la ligne suivante:

En:

Bien entendu, modifiez le nom d’accès par un de votre choix.

Pour prendre en compte cette modification, il faut redémarrer le serveur Web Apache, avec la commande ci-dessous:

Vous pouvez dès à présent accéder à PHPMyAdmin et tester la modification en tapant l’adresse suivante dans votre navigateur:

Maintenant que nous avons un serveur MySQL opérationnel, nous allons pouvoir installer et configurer un serveur d’e-mails avec Postfix et Dovecot. Ceci sera le sujet de mon prochain article.

Une réponse à ”Installation du SGBDR MySQL sur un serveur dédié Kimsufi sous Ubuntu Server 14.04 LTS” :

  1. Merci beaucoup pour vos tutos 😉

    La page phpmyadmin ne se chargeait pas, dans mon cas il fallait lier phpmyadmin au serveur apache :

    sudo ln -s /usr/share/phpmyadmin/ /srv/www/phpmyadmin

Leave a Reply

Your email address will not be published. Required fields are marked *