Comment installer et sécuriser phpMyAdmin avec Nginx sur Ubuntu 16.04



Introduction

phpMyAdmin se présente comme une interface web d’administration pour les bases de données MySQL et MariaDB, permettant aux utilisateurs d’effectuer diverses opérations à distance. Nginx, quant à lui, est un serveur web reconnu pour sa performance et son efficacité, parfaitement adapté pour héberger phpMyAdmin. Ce guide vous expliquera pas à pas comment installer et sécuriser phpMyAdmin en utilisant Nginx sur un système Ubuntu 16.04.

Phase 1 : Préparation du terrain

Avant de procéder à l’installation de phpMyAdmin, il est nécessaire de s’assurer que les éléments suivants sont en place :

  • MySQL ou MariaDB
  • Le module php-fpm
  • Le paquet php-mysql

Pour installer ces composants essentiels, exécutez les commandes ci-dessous dans votre terminal :


sudo apt-get update
sudo apt-get install mysql-server php-fpm php-mysql

Phase 2 : Installation de phpMyAdmin

Une fois les prérequis installés, l’étape suivante consiste à installer phpMyAdmin. Utilisez la commande suivante pour lancer l’installation :


sudo apt-get install phpmyadmin

Phase 3 : Configuration de Nginx

Il est maintenant temps de configurer Nginx pour qu’il puisse gérer les requêtes vers phpMyAdmin. Pour ce faire, ouvrez le fichier de configuration par défaut de Nginx, généralement situé à l’emplacement /etc/nginx/sites-available/default, à l’aide de votre éditeur de texte préféré :


sudo nano /etc/nginx/sites-available/default

Recherchez le bloc server et ajoutez-y la configuration suivante, en veillant à la remplacer si elle existe déjà :


location /phpmyadmin {
root /usr/share/phpmyadmin;
index index.php index.html;
error_page 403 /phpmyadmin/error.php;
error_page 404 /phpmyadmin/error.php;

location ~ ^/phpmyadmin/(.*\.php)$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

Phase 4 : Activation et redémarrage de Nginx

Après avoir apporté les modifications nécessaires, sauvegardez le fichier de configuration et activez la nouvelle configuration en utilisant les commandes suivantes :


sudo ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/default
sudo service nginx restart

Phase 5 : Renforcement de la sécurité de phpMyAdmin

L’installation de phpMyAdmin n’est que la première étape. Il est essentiel de renforcer sa sécurité pour protéger vos données. Voici quelques recommandations :

  • Création d’un utilisateur dédié à phpMyAdmin : Créez un nouvel utilisateur dans la base de données MySQL ou MariaDB et accordez-lui les privilèges minimums requis.
  • Modification du port par défaut : Changez le port par défaut sur lequel phpMyAdmin écoute dans la configuration de Nginx afin de réduire les risques d’accès non autorisé.
  • Restriction de l’accès à distance : Si un accès à distance à phpMyAdmin n’est pas nécessaire, désactivez-le dans la configuration de Nginx.
  • Mise en place d’un certificat SSL : Installez un certificat SSL pour chiffrer les communications entre votre navigateur et le serveur.

Conclusion

En suivant scrupuleusement les étapes de ce guide, vous avez pu installer et sécuriser phpMyAdmin avec Nginx sur votre serveur Ubuntu 16.04. phpMyAdmin est désormais disponible pour vous permettre une gestion facile et sécurisée de vos bases de données MySQL et MariaDB. N’oubliez pas d’appliquer régulièrement les correctifs de sécurité disponibles afin de protéger vos données.

Questions fréquentes

1. Comment accéder à phpMyAdmin après l’installation ?

Ouvrez votre navigateur et accédez à l’adresse suivante : https://example.com/phpmyadmin, en remplaçant example.com par l’adresse IP ou le nom de domaine de votre serveur.

2. Comment modifier le mot de passe d’un utilisateur phpMyAdmin ?

Pour modifier le mot de passe d’un utilisateur phpMyAdmin, utilisez la commande MySQL suivante :


ALTER USER 'phpmyadmin'@'localhost' IDENTIFIED BY 'nouveau_mot_de_passe';

3. Comment changer le port par défaut de phpMyAdmin ?

Modifiez la configuration de Nginx comme suit :


location /phpmyadmin {
...
listen 8080;
...
}

4. Comment installer un certificat SSL pour phpMyAdmin ?

Vous trouverez des instructions détaillées ici pour mettre en place un certificat SSL.

5. Comment restreindre l’accès distant à phpMyAdmin ?

Ajoutez deny all; à la directive location dans la configuration de Nginx :


location /phpmyadmin {
...
deny all;
...
}

6. Comment diagnostiquer les problèmes de connexion à phpMyAdmin ?

Consultez le fichier de logs de Nginx, généralement situé à /var/log/nginx/error.log.

7. Comment mettre à jour phpMyAdmin ?

Utilisez la commande suivante :


sudo apt-get update
sudo apt-get upgrade

8. Comment sauvegarder mes bases de données phpMyAdmin ?

Vous pouvez effectuer des sauvegardes via l’outil intégré de phpMyAdmin, ou utiliser la commande mysqldump pour exporter vos bases de données.