GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer et sécuriser phpMyAdmin avec Apache sur Ubuntu 18.04

phpMyAdmin est une application PHP open source conçue pour gérer l'administration des serveurs MySQL et MariaDB via une interface Web.

phpMyAdmin vous permet de gérer les bases de données MySQL, les comptes d'utilisateurs et les privilèges, d'exécuter des instructions SQL, d'importer et d'exporter des données dans une variété de formats de données et bien plus encore.

Ce tutoriel couvre les étapes nécessaires à l'installation et à la sécurisation de phpMyAdmin avec Apache sur Ubuntu 18.04.

Prérequis #

Assurez-vous que vous avez satisfait aux prérequis suivants avant de poursuivre ce didacticiel :

  • Ayez LAMP (Linux, Apache, MySQL et PHP) installé sur votre serveur Ubuntu.
  • Connecté en tant qu'utilisateur avec des privilèges sudo.

Bien que cela ne soit pas nécessaire, il est recommandé d'accéder à votre installation phpMyAdmin via HTTPS. Si votre domaine n'est pas déjà protégé par un SSL, vous pouvez suivre ce guide et sécuriser votre Apache avec Let's Encrypt sur Ubuntu 18.04.

Installation de phpMyAdmin #

Pour installer phpMyAdmin sur votre serveur Ubuntu 18.04, suivez ces étapes :

  1. Mettez à jour l'index des packages et mettez à niveau les packages système vers les dernières versions :

    sudo apt update && sudo apt upgrade
  2. Installez le package phpMyAdmin à partir des dépôts Ubuntu par défaut avec la commande suivante :

    sudo apt install phpmyadmin

    Le programme d'installation vous demandera de choisir le serveur Web qui doit être automatiquement configuré pour exécuter phpMyAdmin, choisissez apache en appuyant sur Space puis Enter .

    Ensuite, il vous sera demandé si vous souhaitez utiliser dbconfig-common pour configurer la base de données, sélectionnez Yes et appuyez sur Enter .

    Entrez un mot de passe pour que phpMyAdmin s'inscrive à la base de données, sélectionnez OK et appuyez sur Enter .

    Vous serez invité à confirmer le mot de passe, entrez le même mot de passe, sélectionnez OK et appuyez sur Enter .

  3. Une fois le processus d'installation terminé, redémarrez Apache pour que les modifications prennent effet :

    sudo systemctl restart apache2

Créer un numéro d'utilisateur MySQL administratif

Dans les systèmes Ubuntu exécutant MySQL 5.7 (et versions ultérieures), l'utilisateur root est configuré pour utiliser le auth_socket méthode d'authentification par défaut.

Le auth_socket Le plugin authentifie les utilisateurs qui se connectent depuis l'hôte local via le fichier de socket Unix. Cela signifie que vous ne pouvez pas vous authentifier en tant que root en fournissant un mot de passe.

Au lieu de changer la méthode d'authentification pour l'utilisateur MySQL root , nous allons créer un nouvel utilisateur MySQL administratif. Cet utilisateur aura les mêmes privilèges que l'utilisateur root et sera configuré pour utiliser le mysql_native_password méthode d'authentification.

Nous utiliserons cet utilisateur pour nous connecter au tableau de bord phpMyAdmin et effectuer des tâches administratives sur notre serveur MySQL ou MariaDB.

Commencez par vous connecter au serveur MySQL en tant qu'utilisateur root :

sudo mysql

Depuis le shell MySQL, exécutez les commandes suivantes qui créeront un nouvel utilisateur administratif et accorderont les autorisations appropriées :

CREATE USER 'padmin'@'localhost' IDENTIFIED BY 'super-strong-password';GRANT ALL PRIVILEGES ON *.* TO 'padmin'@'localhost' WITH GRANT OPTION;

Dans notre exemple, nous avons nommé l'utilisateur administratif padmin . Vous pouvez utiliser n'importe quel nom, assurez-vous simplement de définir un mot de passe fort.

Accéder à phpMyAdmin #

Pour accéder à l'interface phpMyAdmin ouvrez votre navigateur préféré et tapez le nom de domaine ou l'adresse IP publique de votre serveur suivi de /phpmyadmin :

https://your_domain_or_ip_address/phpmyadmin

Entrez les identifiants de connexion de l'utilisateur administratif que vous avez créés précédemment et cliquez sur Go .

Une fois connecté, vous verrez le tableau de bord phpMyAdmin, qui ressemblera à ceci :

Sécuriser phpMyAdmin #

Pour ajouter une couche de sécurité supplémentaire, nous protégerons par mot de passe le répertoire phpMyAdmin en configurant une authentification de base.

Nous allons d'abord créer un fichier de mots de passe avec les utilisateurs utilisant le htpasswd outil fourni avec le package Apache. Nous allons stocker le .htpasswd fichier dans /etc/phpmyadmin répertoire :

sudo htpasswd -c /etc/phpmyadmin/.htpasswd padmin

Dans cet exemple, nous créons un utilisateur nommé padmin . Vous pouvez choisir n'importe quel nom d'utilisateur, il ne doit pas nécessairement être le même que l'utilisateur administrateur de MySQL.

La commande ci-dessus vous demandera d'entrer et de confirmer le mot de passe de l'utilisateur.

New password:
Re-type new password:
Adding password for user padmin

Si vous souhaitez ajouter un utilisateur supplémentaire, vous pouvez utiliser la même commande sans le -c drapeau :

sudo htpasswd /etc/phpmyadmin/.htpasswd padmin2

L'étape suivante consiste à configurer Apache pour protéger par mot de passe le répertoire phpMyAdmin et utiliser le .htpasswd fichier.

Pour ce faire, ouvrez le phpmyadmin.conf fichier créé automatiquement lors de l'installation de phpMyAdmin :

sudo nano /etc/apache2/conf-available/phpmyadmin.conf

Et modifiez/insérez les lignes suivantes surlignées en jaune :

/etc/apache2/conf-available/phpmyadmin.conf
<Directory /usr/share/phpmyadmin>
    Options  +FollowSymLinks +Multiviews +Indexes  # edit this line
    DirectoryIndex index.php

    AllowOverride None
    AuthType basic
    AuthName "Authentication Required"
    AuthUserFile /etc/phpmyadmin/.htpasswd
    Require valid-user

    <IfModule mod_php5.c>
    ...

Enregistrez et fermez le fichier et redémarrez Apache pour que les modifications prennent effet :

sudo systemctl restart apache2

Désormais, lors de l'accès à votre phpMyAdmin, il vous sera demandé de saisir les identifiants de connexion de l'utilisateur que vous avez précédemment créé :

https://your_domain_or_ip_address/phpmyadmin

Après avoir entré l'authentification de base, vous serez redirigé vers la page de connexion phpMyAdmin où vous devrez entrer vos identifiants de connexion d'administrateur MySQL.

C'est aussi une bonne idée de changer le /phpmyadmin alias à quelque chose de plus unique et sécurisé.
Ubuntu
  1. Comment installer et sécuriser phpMyAdmin sur Ubuntu

  2. Comment installer Apache ZooKeeper sur Ubuntu

  3. Comment installer et configurer Nextcloud avec Apache sur Ubuntu 18.04

  4. Comment installer Apache Maven sur Ubuntu 18.04 et 16.04

  5. Installer phpMyAdmin avec Apache sur Ubuntu 18.04 - Processus étape par étape ?

Comment installer phpMyAdmin avec Apache (LAMP) sur Ubuntu 18.04

Comment installer phpMyAdmin avec Apache (LAMP) sur Ubuntu 20.04

Comment installer phpMyAdmin avec LAMP sur Ubuntu 16.04

Comment installer phpMyAdmin avec Apache sur Ubuntu 22.04 LTS

Comment installer Drupal avec Apache sur Debian et Ubuntu

Comment installer et sécuriser phpMyAdmin dans Ubuntu 14.04