GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer et sécuriser phpMyAdmin sur Ubuntu 18.04 LTS

phpMyAdmin est un outil d'administration gratuit et open source pour MySQL et MariaDB. phpMyAdmin est un outil Web qui vous permet de gérer facilement des bases de données MySQL ou MariaDB. Vous pouvez effectuer des tâches d'administration telles que la création, la modification ou la suppression de bases de données, importer et exporter des sauvegardes de bases de données, exécuter des recherches et gérer les utilisateurs et les autorisations à l'aide de phpMyAdmin.

Fonctionnalités

  • Prise en charge multilingue.
  • Importer des données depuis CSV et SQL.
  • Fournir des graphiques en direct pour surveiller l'activité du serveur MySQL, comme les connexions, les processus, l'utilisation du processeur/de la mémoire, etc.
  • Recherche globale dans une base de données ou un sous-ensemble de celle-ci
  • Interface Web simple et facile à utiliser.
  • Exportez des données vers différents formats tels que CSV, SQL, XML, PDF, Word, Excel, LaTeX et autres.

Dans ce tutoriel, nous allons vous expliquer comment installer et sécuriser phpMyAdmin sur le serveur Ubuntu 18.04.

Exigences

    • Un serveur exécutant Ubuntu 18.04.
    • Un utilisateur non root avec des privilèges sudo.

Installer phpMyAdmin

Avant de commencer, vous devrez installer Apache et MySQL sur votre serveur. Vous pouvez l'installer avec la commande suivante :

sudo apt-get install apache2 mysql-server -y

Par défaut, phpMyAdmin n'est pas disponible dans le référentiel par défaut d'Ubuntu 18.04. Vous devrez donc ajouter le référentiel PHP tiers à votre système.

Vous pouvez l'ajouter en exécutant simplement la commande suivante :

sudo apt-get install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php

Une fois le dépôt ajouté, installez phpMyAdmin en exécutant la commande suivante :

sudo apt-get install phpmyadmin php-mbstring php-gettext -y

Lors de l'installation, il vous sera demandé de choisir le serveur Web comme indiqué ci-dessous :

Choisissez Apache et cliquez sur OK bouton. Vous serez redirigé vers la page suivante :

Maintenant, cliquez sur Oui bouton. Vous devriez voir la page suivante :

Ici, fournissez votre mot de passe d'application MySQL pour phpMyAdmin et cliquez sur OK bouton.

Une fois phpMyAdmin installé, activez l'extension PHP mbstring avec la commande suivante :

sudo phpenmod mbstring

Ensuite, redémarrez le service Apache pour appliquer les modifications :

sudo systemctl restart apache2

Configurer l'authentification de l'utilisateur

phpMyAdmin a automatiquement créé un utilisateur de base de données appelé phpmyadmin avec le mot de passe administrateur que vous avez défini lors de l'installation. Cependant, il est recommandé de créer un utilisateur distinct pour la gestion des bases de données via l'interface Web phpMyAdmin. Dans la dernière version de MariaDB, l'utilisateur MySQL root est configuré pour s'authentifier à l'aide du plug-in auth_socket par défaut. Ainsi, si vous souhaitez vous connecter à phpMyAdmin en tant qu'utilisateur MySQL root, vous devrez changer sa méthode d'authentification de auth_socket à mysql_native_password.

Tout d'abord, connectez-vous au shell MySQL avec la commande suivante :

sudo mysql

Ensuite, vérifiez la méthode d'authentification de l'utilisateur MySQL avec la commande suivante :

mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;

Sortie :

+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             |                                           | auth_socket           | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *AC18DF5CAE34BF4796EF975702F038A566B48B42 | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
4 rows in set (0.01 sec)

Dans la sortie ci-dessus, vous devriez voir que l'utilisateur root utilise le plugin auth_socket.

Vous pouvez configurer le compte root pour s'authentifier avec un mot de passe en exécutant la commande suivante :

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

Ensuite, videz les privilèges avec la commande suivante :

mysql> FLUSH PRIVILEGES;

Maintenant, vérifiez les méthodes d'authentification en exécutant la commande suivante :

mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;

Sortie :

+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | mysql_native_password | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *AC18DF5CAE34BF4796EF975702F038A566B48B42 | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
4 rows in set (0.01 sec)

Ensuite, créez un utilisateur séparé avec le nom phpmyadminuser pour vous connecter à phpMyAdmin.

Tout d'abord, connectez-vous au shell MySQL :

mysql -u root -p

Saisissez votre mot de passe root, puis créez un utilisateur avec la commande suivante :

MariaDB [(none)]> CREATE USER 'phpmyadminuser'@'localhost' IDENTIFIED BY 'password';

Ensuite, accordez les privilèges appropriés à phpmyadminuser avec la commande suivante :

MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'phpmyadminuser'@'localhost' WITH GRANT OPTION;

Enfin, quittez le shell MySQL avec la commande suivante :

MariaDB [(none)]> exit;

Maintenant, ouvrez votre navigateur Web et tapez l'URL http://your-server-ip/phpmyadmin. Vous serez redirigé vers la page suivante :

Ici, indiquez votre nom d'utilisateur et votre mot de passe. Ensuite, cliquez sur Aller bouton. Vous devriez voir le tableau de bord PhpMyAdmin sur la page suivante :

Sécuriser PhpMyAdmin

phpMyAdmin est maintenant installé et configuré. Cependant, il est recommandé de sécuriser votre instance phpMyAdmin pour empêcher tout accès non autorisé. Vous pouvez sécuriser phpMyAdmin en utilisant les fonctionnalités d'authentification et d'autorisation .htaccess intégrées d'Apache.

Pour ce faire, activez d'abord l'utilisation des remplacements de fichier .htaccess en éditant le fichier phpmyadmin.conf :

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

Effectuez les modifications suivantes :

<Directory /usr/share/phpmyadmin>
    Options SymLinksIfOwnerMatch
    DirectoryIndex index.php
    AllowOverride All

Enregistrez et fermez le fichier. Ensuite, redémarrez le service Apache pour appliquer les modifications :

sudo systemctl restart apache2

Ensuite, créez un fichier .htaccess dans le répertoire phpmyadmin :

sudo nano /usr/share/phpmyadmin/.htaccess

Ajoutez les lignes suivantes :

AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user

Enregistrez et fermez le fichier. Ensuite, créez un utilisateur nommé admin avec l'utilitaire htpasswd :

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

Sortie :

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

Votre instance phpMyAdmin est maintenant sécurisée avec une couche d'authentification supplémentaire.

Maintenant, ouvrez votre navigateur Web et tapez l'URL http://your-server-ip/phpmyadmin. Vous serez redirigé vers le nom de compte et le mot de passe supplémentaires que vous venez de configurer comme indiqué ci-dessous :

Maintenant, fournissez votre nom d'utilisateur et le mot de passe et cliquez sur Log Dans bouton. Vous devriez être redirigé vers la page d'authentification habituelle de phpMyAdmin.

  • phpMyAdmin

Ubuntu
  1. Comment installer Libreoffice 4.3 sur Ubuntu 12.04 et 14.04 LTS

  2. Comment installer Libreoffice 4.4 sur Ubuntu 15.04 et 14.04 LTS

  3. Comment installer et configurer mysql 8 sur Ubuntu 20.04

  4. Comment installer MySQL Workbench sur Ubuntu 20.04 LTS

  5. Comment installer phpMyAdmin sur Ubuntu 20.04

Comment installer et configurer MySQL sur Ubuntu 18.04

Comment installer phpMyAdmin sur Ubuntu 18.04 LTS

Comment installer phpMyAdmin sur Ubuntu 20.04 LTS

Comment installer PhpMyAdmin sur Ubuntu 18.04 LTS

Comment installer et sécuriser phpMyAdmin dans Ubuntu 14.04

Comment installer phpMyAdmin sur Ubuntu 18.04