Linux

Comment installer PHPMyAdmin avec LAMP sur Ubuntu 20.04

Nous avons récemment vu comment installer LAMP sur Ubuntu 20.04. Maintenant que notre serveur web est en place, il peut être utile d’installer PHPMyAdmin pour la gestion de votre base de données. Il est tout à fait possible de faire sans, mais dans certaines conditions cet outil de gestion de base de données web et open source peut-être bien pratique.

Prérequis

Ce guide est basé sur le précédent où j’explique comment installer LAMP. Il est donc basé sur Ubuntu 20.04 et Apache2.

Installation de LAMP (Serveur Web) sur Ubuntu 20.04

Si vous ne savez pas comment installer un serveur Web sur Ubuntu, n’hésitez pas à jeter un œil à l’article ci-dessus.

Télécharger et installer phpMyAdmin sur Ubuntu 20.04

Pour installer phpMyAdmin, depuis votre serveur lancer les commandes suivantes : 

sudo apt update
sudo apt install phpmyadmin

La commande ci-dessus installera toutes les dépendances nécessaires, y compris les extensions PHP7. Pendant l’installation, il vous demandera de sélectionner un serveur Web à configurer. Appuyez sur la barre d’espace pour sélectionner apache2. (Un astérisque indique que l’élément est sélectionné). Appuyez ensuite sur la touche Tab et sur Entrée pour confirmer votre choix.

Dans l’écran suivant, sélectionnez Yespour configurer une base de données pour phpMyAdmin avec dbconfig-common.

Définissez ensuite un mot de passe pour l’ phpmyadminutilisateur dans MariaDB / MySQL.

Une fois cette étape terminée, une nouvelle base de données nommée phpmyadminest créée et l’utilisateur de la base de données phpmyadmindispose des privilèges nécessaires pour gérer cette base de données. Si besoin, vous pouvez vous connecter à votre base de données MariaDB pour vérifier les privilèges du compte phpmyadmin.

sudo mysql -u root

Puis la commande suivante pour afficher les privilèges de phpmyadmin

show grants for phpmyadmin@localhost;

Ce qui devrait vous afficher quelque chose comme ça : 

Vous pouvez sortir de MariaDB avec un petit « Exit » des familles !

exit

Tester la connexion vers PHPMyadmin

Lors de l’installation de phpMyAdmin, un fichier de configuration est placé dans /etc/apache2/conf-enabled/phpmyadmin.conf, ce qui nous permet d’accéder à phpMyAdmin via un sous-répertoire. Dans le cas d’un serveur web local, vous pourrez accéder à phpadmin via l’adresse http://votre.ip.reseau.local/phpmyadmin et si celui-ci est déjà ouvert sur le web, vous pouvez y accéder via http://votrenomdedomaine.fr/phpmyadmin

Si la connexion est refusée ou a échoué, un pare-feu peut empêcher les requêtes HTTP. Vérifier alors votre pare-feu (UFW, Iptables…) 

Vous pouvez maintenant essayer une connexion via le compte phpmyadmin ou tout autre compte SQL disponible.

Configurer phpMyAdmin avec un sous-domaine

Pour des raisons de facilité, il peut être intéressant de configurer l’utilisation de phpmyadmin via un sous domaine plutôt qu’un sous dossier. Ainsi on pourra en profiter pour passer le tout en HTTPS afin de chiffrer tout ça !

Nous allons créer un hôte virtuel Apache pour phpMyAdmin.  La configuration phpMyAdmin existante peut être utilisée comme modèle. Copions-le dans un nouveau fichier.

sudo cp /etc/apache2/conf-enabled/phpmyadmin.conf /etc/apache2/sites-available/phpmyadmin.conf

Modifiez ensuite le nouveau fichier avec un éditeur de texte en ligne de commande, tel que Nano.

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

Il est nécessaire d’ajouter le champ <VirtualHost>, nous devons donc ajouter les lignes suivantes au début de ce fichier. Remplacez-le phpmyadmin.tech2tech.fr par votre sous-domaine pour phpMyAdmin. 

<VirtualHost *:80>
    ServerName phpmyadmin.tech2tech.fr
    DocumentRoot /usr/share/phpmyadmin

    ErrorLog ${APACHE_LOG_DIR}/pma.error.log
    CustomLog ${APACHE_LOG_DIR}/pma.access.log combined

Ajoutez la ligne suivante à la fin de ce fichier pour fermer la <VirtualHost>balise : 

</VirtualHost>

Vous devriez avoir quelque chose comme ça :

N’oubliez pas de créer un enregistrement DNS A pour ce sous-domaine.

Enregistrez et fermez le fichier. Activez ensuite cet hôte virtuel via la commande suivante : 

sudo a2ensite phpmyadmin.conf

Relancer Apache pour que cette modification prenne effet.

sudo systemctl reload apache2

Vous devriez maintenant pouvoir accéder à l’interface Web phpMyAdmin via votre sous-domaine : 

Activer un certificat HTTPS pour phpMyAdmin avec Apache

Maintenant que nous avons un joli sous-domaine correctement configuré, nous allons en profiter pour sécuriser tout ça avec un certificat Let’s Encrypt. Lancer la commande suivante pour l’installation du client Let’s Encrypt : 

sudo apt install certbot python3-certbot-apache

python3-certbot-apache est le plugin Apache pour Certbot. Une fois installé, lancer la commande suivant pour obtenir et installer le certificat (en changeant les infos avec votre sous-domaine et votre email) :

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --must-staple -d phpmyadmin.nomdedomaine.fr --email [email protected]

A la question, souhaitez vous partager votre e-mail pour recevoir du spam, bien entendu répondez non 🙂

Vous devriez avoir maintenant un joli cadenas à côté de votre sous-domaine lors de vos connexions à phpMyAdmin.

Ajouter un compte admin sur phpMyAdmin

Par défaut, lorsque vous avez installé MySQL ou MariaDB, vous avez peut-être désactivé la connexion via le compte root. Dans ce cas, aucun problème, il est encore possible de créer un compte administrateur pour la gestion via phpMyAdmin.

Connecter vous à MariaDB via la commande suivante : 

sudo mysql -u root

Créer un compte administrateur avec le mot de passe souhaitez (vous pouvez changer le nom en fonction de vos envies) : 

create user admin@localhost identified by 'V0trEMotDeP4ss3';

Pour qu’il soit admin, donnez-lui toutes les permissions avec la commande suivante : 

grant all privileges on *.* to admin@localhost with grant option;

Pour terminer et pour que les nouveaux droits soient pris en compte, lancer la commande suivante : 

flush privileges;



Vous voilà prêt à dompter votre serveur SQL à l’aide de phpMyAdmin sur Ubuntu 20.04 !

Mikaël GUILLERM

Administrateur Système et Autoentrepreneur depuis 2009 pour la société zerobug. Je partage mes connaissances, problèmes et solutions à travers articles ou tweets !

Articles similaires

Un commentaire

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Bouton retour en haut de la page