GNU/Linux >> Tutoriels Linux >  >> Linux

Comment installer phpMyAdmin sur Ubuntu 18.04

PhpMyAdmin est une GUI (Graphic User Interface) qui permet de créer, stocker et éditer des bases de données entières créées avec MySQL.

Dans ce guide, vous apprendrez comment installer phpMyAdmin et comment sécuriser son accès sur Linux Ubuntu 18.04.

Tout d'abord, connectez-vous à votre serveur via une connexion SSH. Si vous ne l'avez pas encore fait, il est recommandé de suivre notre guide pour vous connecter en toute sécurité avec le protocole SSH. Dans le cas d'un serveur local, passez à l'étape suivante et ouvrez le terminal de votre serveur.

Installer phpMyAdmin

PhpMyAdmin se trouve sur le référentiel Ubuntu standard.

Mettez d'abord à jour l'index apt, puis téléchargez et installez phpMyAdmin :

$ sudo apt update
$ sudo apt install phpmyadmin php-mbstring php-gettext

En tapant Y et en appuyant sur Entrée pour confirmer.

L'écran suivant s'affiche :

Sélectionnez apache ici, mais attention, le tiret rouge ne sélectionne pas apache 2. Pour le sélectionner, appuyez sur la barre d'espace puis appuyez sur Entrée. Si vous n'appuyez pas sur la barre d'espace, les fichiers nécessaires à l'installation ne seront pas transférés.

Une fois que vous avez appuyé sur Entrée, l'écran suivant s'affiche :

Sélectionnez Oui et appuyez sur Entrée.

Vous devez maintenant entrer un mot de passe pour la base de données administrateur. Entrez un nouveau mot de passe, appuyez sur Tab pour sélectionner OK et appuyez sur Entrée.

Entrez maintenant et confirmez un mot de passe pour l'application.

Comme précédemment, entrez un nouveau mot de passe, appuyez sur TAB pour sélectionner OK et appuyez sur Entrée.

Confirmez le mot de passe.

Une fois l'installation terminée, un fichier de configuration de phpMyAdmin sera ajouté ici :

/etc/apache2/conf-enabled/phpmyadmin.conf The

La seule chose que vous aurez à faire est d'activer l'extension PHP mbstring. Pour ce faire, saisissez :

$ sudo phpenmod mbstring

Pour appliquer toutes les modifications, redémarrez Apache en tapant :

$  sudo systemctl restart apache2

Gérer les privilèges d'accès

Pour utiliser phpMyAdmin, ne vous connectez pas en tant qu'utilisateur créé automatiquement lors de l'installation. connectez-vous plutôt en tant qu'utilisateur racine MySQL ou en tant que gestionnaire de base de données via l'interface phpMyAdmin.

Vous pouvez choisir de configurer un seul de ces deux utilisateurs ou les deux.

Configuration du mot de passe pour le compte racine MySQL

L'accès en tant qu'utilisateur root MySQL nécessite une authentification auth_socket au lieu d'un simple mot de passe. Pour vous connecter en tant que root MySQL via phpMyAdmin, changez la méthode d'authentification.

Pour ce faire, ouvrez l'invite MySQL

$ sudo mysql

Vérifiez les méthodes d'authentification pour chaque utilisateur MySQL en tapant :

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

Une liste de toutes les méthodes d'authentification pour les utilisateurs MySQL est maintenant affichée. Ici, vous pouvez clairement voir comment l'utilisateur root a un type d'authentification auth_socket.

+------------------+-------------------------------------------+-----------------------+-----------+

| 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 | *8486437DE5F65ADC4A4B001CA591363B64746D4C | mysql_native_password | localhost |

| phpmyadmin       | *5FD2B7524254B7F81B32873B1EA6D681503A5CA9 | mysql_native_password | localhost |

+------------------+-------------------------------------------+-----------------------+-----------+

5 rows in set (0.00 sec)

Pour changer le type d'authentification de auth_socket à mysql_native_password et utiliser un mot de passe pour se connecter à l'utilisateur root, tapez :

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

Au lieu de mot de passe, saisissez un mot de passe dont vous devrez vous souvenir.

Confirmez les modifications que vous venez d'apporter en tapant :

FLUSH PRIVILEGES;

De cette façon, le serveur sera averti que la méthode d'authentification pour l'utilisateur root doit être mise à jour.

Vérifiez si les modifications sont enregistrées en retapant :

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

Si tout a été fait correctement, la méthode d'authentification pour l'utilisateur root sera modifiée et l'écran affiché ressemblera à celui-ci :

+------------------+-------------------------------------------+-----------------------+-----------+

| user             | authentication_string                     | plugin | host |

+------------------+-------------------------------------------+-----------------------+-----------+

| root             | *DE06E242B88EFB1FE4B5083587C260BACB2A6158 | mysql_native_password | localhost |

| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |

| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |

| debian-sys-maint | *8486437DE5F65ADC4A4B001CA591363B64746D4C | mysql_native_password | localhost |

| phpmyadmin       | *5FD2B7524254B7F81B32873B1EA6D681503A5CA9 | mysql_native_password | localhost |

+------------------+-------------------------------------------+-----------------------+-----------+

5 rows in set (0.00 sec)

Une fois cela fait, utilisez le mot de passe précédemment choisi pour vous authentifier en tant qu'utilisateur root dans l'interface phpMyAdmin.

Configurer le mot de passe pour l'utilisateur MySQL dédié

Pour accéder à phpMyAdmin non pas en tant qu'utilisateur root mais en tant qu'utilisateur créé spécifiquement à cet effet, il n'y a rien d'autre à faire que d'en créer un.

Pour ce faire, reconnectez-vous à l'invite MySQL.

En cas d'authentification par mot de passe déjà configurée pour l'utilisateur root, saisissez :

$  mysql -u root -p

Si vous avez décidé de ne pas utiliser l'utilisateur root, tapez :

$ sudo mysql

Maintenant, créez un nouvel utilisateur, puis choisissez un nom et un mot de passe en tapant :

$  CREATE USER 'username' @ 'localhost' IDENTIFIED BY 'password';

Remplacez 'username' et 'password' par ceux que vous avez choisis.

Pour donner tous les privilèges nécessaires au nouvel utilisateur, tapez :

$  GRANT ALL PRIVILEGES ON *. * TO 'username' @ 'localhost' WITH GRANT OPTION;

Quittez ensuite l'invite MySQL en tapant :

$ exit

Accès à phpMyAdmin pour la première fois

Pour vous connecter au serveur, il vous suffit d'utiliser cette URL sur un navigateur de votre choix :http://IP-SERVER/phpmyadmin

Si l'adresse est correcte, un écran s'affichera et vous devrez entrer votre nom d'utilisateur et votre mot de passe.

Ici, vous pouvez vous connecter en tant qu'utilisateur root ou en tant qu'utilisateur nouvellement créé.

Si tout a été correctement exécuté, le tableau de bord phpMyAdmin s'affichera.

Protection contre les attaques externes

phpMyAdmin ainsi configuré est particulièrement vulnérable aux attaques externes, car ces bases de données sont particulièrement intéressantes pour certaines personnes.

Le moyen le plus simple de prévenir ces attaques est d'ajouter un port d'accès à l'ensemble de l'application à l'aide d'une fonction Apache intégrée.

Cette fonction est .htaccess.

Pour configurer cette fonction, accédez au fichier .conf dans le répertoire apache.

Pour ce faire, tapez :

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

Dans le fichier .conf, recherchez la section :

<Directory / usr / share / phpmyadmin>

et ajoutez :

AllowOverride All

Une fois ajouté la directive AllowOverride All, enregistrez et fermez le fichier .conf et redémarrez Apache pour implémenter toutes les modifications.

Pour ce faire, tapez :

$ sudo systemctl restart apache2

Une fois .htaccess pour votre application activé, créez-en un nouveau.

Le fichier se trouve dans le répertoire de l'application.

Pour ce faire, tapez :

$ sudo nano /usr/share/phpmyadmin/.htaccess

Dans le fichier, écrivez :


			AuthType Basic

			AuthName "Reserved files"

			AuthUserFile /etc/phpmyadmin/.htpasswd

			Require valid-user

Ce fichier créera simplement une boîte de dialogue pour l'authentification.

Le "titre" de la boîte de dialogue sera "Fichiers réservés". Vous pouvez changer ce nom comme bon vous semble. Il est recommandé de ne pas donner de nom très spécifique pour s'assurer que les utilisateurs malveillants ne souhaitent pas contourner cette protection.

Enregistrez le fichier et fermez-le.

Créez maintenant un fichier de mots de passe.

Pour le créer, tapez :

$ sudo htpasswd -c /etc/phpmyadmin/.htpasswd username

Remplacez "nom d'utilisateur" par un nom de votre choix.

Vous devrez choisir et confirmer un mot de passe, un fichier avec le mot de passe dans /etc/phpmyadmin/.htpasswd sera alors créé.

A partir de maintenant, avant d'accéder à phpMyAdmin, des noms d'utilisateur et des mots de passe supplémentaires pour rendre tout plus sûr seront nécessaires.

Une fois votre nom d'utilisateur et votre mot de passe saisis, la fenêtre de connexion normale de phpMyAdmin, où saisir vos informations d'identification MySQL, s'affichera.


Linux
  1. Comment installer MySQL 8.0 dans Ubuntu 18.04

  2. Comment installer et sécuriser phpMyAdmin sur Ubuntu

  3. Comment installer MySQL sur Ubuntu 20.04

  4. Comment installer phpMyAdmin sur Ubuntu 20.04

  5. Comment installer MySQL sur Ubuntu 22.04

Comment installer phpMyAdmin sur Ubuntu 15.04

Comment installer phpMyAdmin sur Ubuntu 15.10

Comment installer PhpMyAdmin sur Ubuntu 18.04 LTS

Comment installer MySQL 8.0 sur Ubuntu 18.04

Comment installer phpMyAdmin sur Ubuntu 20.04

Comment installer MySQL sur Ubuntu 22.04