Recherche de site Web

Installer phpMyAdmin avec la pile LAMP sur Ubuntu 18.04 LTS


PhpMyAdmin est un outil de gestion de bases de données en ligne gratuit et open source écrit en PHP. Il permet aux administrateurs de bases de données de gérer facilement un ou plusieurs serveurs de bases de données, que ce soit depuis un système local ou distant via un navigateur web. Cela peut être utile pour ceux qui ne sont pas à l'aise avec l'invite MySQL. Avec phpMyAdmin, nous pouvons effectuer toutes sortes de tâches de gestion de bases de données telles que créer, modifier, renommer, supprimer des bases de données, importer et exporter des bases de données, créer des tables, des champs et des colonnes, exécuter des commandes SQL, et bien plus encore. Dans ce tutoriel, nous verrons comment installer phpMyAdmin avec la pile LAMP sur le système d'exploitation serveur Ubuntu 18.04 LTS.

Installer phpMyAdmin avec la pile LAMP sur Ubuntu 18.04 LTS

Avant d'installer phpMyAdmin sur votre serveur Ubuntu 18.04 LTS, assurez-vous d'avoir configuré la pile LAMP comme décrit dans le lien ci-dessous.

  • Installer le stack Apache, MySQL, PHP (LAMP) sur Ubuntu 18.04 LTS

Assurez-vous également d'avoir changé la méthode d'authentification du mot de passe pour l'utilisateur root de MySQL comme décrit dans la section intitulée « 2.2 Changer la méthode d'authentification pour l'utilisateur root de MySQL » dans le guide ci-dessus. Vous devez le faire si vous souhaitez gérer le serveur de bases de données en utilisant des programmes externes tels que phpMyAdmin.

Une fois que vous avez configuré la pile LAMP, activez le dépôt 'universe', qui est désactivé par défaut sur Ubuntu 18.04. Pour ce faire, exécutez :

$ sudo add-apt-repository universe

Il est maintenant temps d'installer phpMyAdmin.

Pour installer phpMyAdmin sur Ubuntu 18.04, exécutez :

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

Maintenant, sélectionnez le serveur web qui doit être configuré automatiquement pour exécuter phpMyAdmin. Choisissez le serveur web avec les flèches HAUT/BAS et appuyez sur la touche ESPACE. Une fois que vous avez choisi le serveur web, vous verrez un symbole * (étoile) devant celui-ci. Appuyez sur la touche TAB pour sélectionner OK et appuyez de nouveau sur la touche ENTRÉE pour continuer.

Configurer phpMyAdmin avec le serveur web Apache

Appuyez sur ENTRÉE pour continuer.

Choisissez Oui pour configurer la base de données pour phpmyadmin :

Fournir le mot de passe de l'application MySQL pour phpMyAdmin.

Entrez à nouveau le mot de passe :

Une fois phpmyadmin installé, activez l'extension php mbstring et redémarrez le service Apache pour appliquer les modifications comme indiqué ci-dessous.

$ sudo phpenmod mbstring
$ sudo systemctl restart apache2

Vous pouvez maintenant vérifier si l'extension mbstring est activée ou non en la chargeant dans le fichier info.php depuis le navigateur web.

Comme vous pouvez le voir dans la capture d'écran ci-dessus, le module mbstring est activé.

Créer un utilisateur dédié pour accéder au tableau de bord phpMyAdmin

Une fois phpMyAdmin installé, un utilisateur de base de données nommé 'phpmyadmin' sera automatiquement créé avec le mot de passe administrateur que vous avez défini lors de l'installation. Vous pouvez vous connecter au tableau de bord de phpMyAdmin en utilisant l'utilisateur 'phpmyadmin' ou l'utilisateur mysql root. Cependant, il est recommandé de créer un utilisateur dédié pour gérer les bases de données via l'interface web de phpMyAdmin.

Pour ce faire, connectez-vous au shell MySQL en utilisant la commande :

$ mysql -u root -p

Entrez votre mot de passe root mysql. Vous serez maintenant dans le shell mysql.

Entrez la commande suivante pour créer un nouvel utilisateur dédié pour phpmyadmin :

CREATE USER 'phpmyadminuser'@'localhost' IDENTIFIED BY 'password';

Ici, phpmyadmin est le nouvel utilisateur pour accéder au tableau de bord phpmyadmin. Le mot de passe pour l'utilisateur phpmyadmin est password. Remplacez ces valeurs par les vôtres.

Ensuite, donnez les privilèges appropriés à 'phpmyadminuser' en utilisant la commande :

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

Quittez enfin le shell MySQL :

exit

Créer un nouvel utilisateur pour phpMyAdmin

Nous avons maintenant créé un utilisateur dédié (phpmyadminuser/password) pour gérer les bases de données via l'interface web de phpMyAdmin. Allons-y et accédons au tableau de bord de phpMyAdmin.

Accéder au tableau de bord phpMyAdmin

Ouvrez votre navigateur web et allez à http://ip-address/phpmyadmin ou http://domain/phpmyadmin. Vous devriez voir la page de connexion de phpmyadmin. Connectez-vous à l'interface phpmyadmin en utilisant soit l'utilisateur root de MySQL, soit le nouvel utilisateur que nous avons créé à l'étape précédente.

Connectez-vous à l'interface phpMyAdmin

Voici à quoi ressemble le tableau de bord phpMyAdmin :

Tableau de bord PhpMyAdmin

Désormais, vous pouvez gérer vos bases de données via l'interface web phpMyAdmin.

Sécuriser phpMyAdmin

Puisque phpMyAdmin est une cible facile pour les attaquants, la tâche suivante recommandée est de sécuriser phpMyAdmin. La manière la plus courante de protéger phpMyAdmin contre l'accès non autorisé est d'utiliser les fonctionnalités intégrées d'authentification et d'autorisation de .htaccess d'Apache.

Tout d'abord, activez l'utilisation des substitutions de fichier .htaccess en modifiant le fichier /phpmyadmin.conf :

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

Ajoutez la ligne "AllowOverride All" dans la section <Directory /usr/share/phpmyadmin> comme indiqué ci-dessous.

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

[...]

Enregistrez et fermez le fichier.

Redémarrez le service Apache pour mettre à jour les modifications en utilisant la commande :

$ sudo systemctl restart apache2

Ensuite, créez un fichier nommé .htaccess dans le répertoire /usr/share/phpmyadmin/ en utilisant la commande :

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

Ajoutez les lignes suivantes dedans :

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

Enregistrez et fermez le fichier.

Maintenant, exécutez la commande suivante pour créer un nouvel utilisateur, par exemple ostechnix:

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

Remplacez 'ostechnix' par le nom d'utilisateur de votre choix. Il vous sera demandé de fournir un mot de passe pour le nouvel utilisateur. Entrez-le deux fois.

Exemple de sortie :

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

Nous avons maintenant ajouté une couche de sécurité supplémentaire pour accéder à l'interface web de phpMyAdmin. Dorénavant, chaque fois que vous essayerez d'accéder à l'interface web de phpMyAdmin, il vous sera demandé de saisir le nom d'utilisateur supplémentaire et son mot de passe que vous venez de configurer dans l'étape précédente.

Une fois que vous avez saisi le nom d'utilisateur et le mot de passe corrects, vous serez redirigé vers la page de connexion d'authentification réelle de phpMyAdmin. Il vous suffit de saisir vos identifiants de base de données pour accéder au tableau de bord.

Ressources :

  • Site web phpMyAdmin
  • Digital Ocean