23 Mai

Outils Web d’Administration – phpMyAdmin

Cet article présente l’installation de phpMyAdmin dans une zone d’administration sécurisée dont la base est présentée dans l’introduction de cette série. Est-ce la peine de présenter phpMyAdmin ? Il s’agit d’une interface web d’administration de ses bases de données MySQL. Elle permet d’exécuter, facilement et sans grandes connaissances, de nombreuses requêtes, d’effectuer la plupart des tâches administratives comme la sauvegarde/restauration des bases, etc.

La plupart des distributions linux (Debian, Ubuntu, Fedora, etc.) disposent du package, alors quel est l’intérêt d’installer depuis les sources ? Bien souvent, les versions fournies ne sont pas les plus à jours. De plus on ne maîtrise pas vraiment les répertoires d’installation et leur intégration dans l’architecture globale de son serveur web. rien ne remplace donc une installation customisée pour ses besoins.

Prérequis

PhpMyAdmin requiert le package Mcrypt à installer avec apt-get install php5-mcrypt.

Récupération Packages et Installation

Les derniers packages disponibles sont listés sur le site de phpMyAdmin. A l’heure actuelle il s’agit des versions 4.2.1. Je récupère ici la version « all-languages » qui comme son nom l’indique …

Le site phpMyAdmin fourni les checksums des fichiers. Autant en profiter pour tester localement avec md5sum le fichier tar chargé.
Il ne reste plus qu’à décompresser l’archive et récupérer un template du fichier de configuration config.inc.php

Création de la Base de Données phpMyAdmin et Configuration

Afin d’éviter le message suivant « Le stockage de configurations phpMyAdmin n’est pas complètement configuré » et de bénéficier de toutes les fonctionnalités, une base de données pour phpMyAdmin doit être créée et initialisée avec le script create_tables.sql fourni par phpmyadmin. En se basant sur le script bash proposé dans l’introduction :

Les paramètres importants du fichier config.inc.php à modifier:

  • Ligne 5 : Il faut changer le blowfish secret. Pour en générer un vite fait, on peut en copier/coller un depuis le site du générateur de WordPress
  • Ligne 11-12 : à adapter en fonction de la config locale de son serveur mysql
  • Ligne 13,14 et 17 : ce sont les paramètres de la base de données crée juste avant
  • Ligne 18-34 : tout dé-commenter
  • Ligne 37 : à rajouter pour la bonne gestion du https

Pour plus d’information, une liste exhaustive des options est disponible sur le site de phpMyAdmin.

Configuration Nginx et Sécurisation

La config Nginx fournie dans l’intro fonctionne directement. Afin d’améliorer la sécurité, on peut rajouter les 2 lignes suivantes à sa config nginx dans le bloc server:

Toutes les recommandations de sécurisation que pouvait fournir le site phpMyAdmin (authentification par cookies, chmod, etc.) ont été suivies. Il reste encore quelques paramètres optionnels pour améliorer la sécurité, mais l’accès est d’abord sécurisé à travers celui de la zone d’admin en https. Pour peu que les mots de passe soient bien choisis (éviter 12345 ou azerty !) et changés régulièrement, on sera tranquille.

Maintenance et Upgrade

Pour les mises à jour, il s’agit essentiellement de suivre les même étapes qu’à l’installation sans toucher à la base de données phpmyadmin, plus quelques « tweaking » du fichier config.inc.php au cas par cas.

Si jamais il était nécessaire d’upgrader la base de données avec un script, il suffirait de repasser le script de création de la base de donnée :

Il n’efface pas la base de donnée puisqu’elle elle existe déjà, recrée l’utilisateur déjà existant et passe le script d’upgrade. Donc normalement, pas de soucis. Mais comme d’habitude, mieux vaut sauvegarder sa base de données avant !

Voilà, c’est fini !! On accède maintenant au site avec http://admin-tools.writesthisblog.com/phpmyadmin/

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.