PhpMyAdmin est un outil de gestion de base de données Web gratuit et open source écrit en langage de programmation PHP. À l'aide de phpMyAdmin, les administrateurs de base de données peuvent facilement gérer un et/ou plusieurs serveurs de base de données via un navigateur Web. Cela peut être utile pour ceux qui ne sont pas à l'aise avec l'invite MySQL. phpMyAdmin permet aux administrateurs de base de données d'effectuer toutes sortes de tâches de gestion de base de données telles que la création, l'édition, le changement de nom, la suppression de bases de données, l'importation et l'exportation de bases de données, la création de tables, de champs et de champs, l'exécution de commandes SQL, etc. Dans ce tutoriel, nous allons installer phpMyAdmin avec la pile LAMP sur le système d'exploitation du serveur Ubuntu 20.04 LTS.
Installer phpMyAdmin avec la pile LAMP sur Ubuntu 20.04 LTS
Pour installer phpMyAdmin sur le serveur Ubuntu 20.04 LTS, vous devez disposer d'une pile LAMP fonctionnelle. Si vous n'avez pas encore installé la pile LAMP, consultez le guide suivant :
- Installer la pile Apache, MySQL, PHP (LAMP) sur Ubuntu 20.04 LTS
Une fois que vous avez configuré la pile LAMP, activez le référentiel "universe" , s'il n'est pas déjà activé.
$ sudo add-apt-repository universe
$ sudo apt update
Installez maintenant phpMyAdmin et toutes les autres dépendances requises sur Ubuntu 20.04 à l'aide des commandes :
$ sudo apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl
Ensuite, sélectionnez le serveur Web qui doit être automatiquement configuré 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 choisir OK et appuyez à nouveau sur la touche ENTRÉE pour continuer.
PhpMyAdmin nécessite une base de données installée et configurée avant de pouvoir être utilisé. Vous pouvez le faire avec dbconfig-command.
Choisissez Oui pour configurer la base de données pour phpmyadmin avec dbconfig-common :
Vous devez fournir un mot de passe pour que phpmyadmin s'enregistre auprès du serveur de base de données MySQL. Si le mot de passe n'est pas donné, un mot de passe aléatoire sera généré.
Saisissez un mot de passe fort et appuyez sur ENTER pour continuer :
Entrez à nouveau le mot de passe :
Au moment d'écrire ce guide, lorsque j'ai essayé de définir le mot de passe pour phpmyadmin, l'erreur suivante s'affiche :
An error occurred while installing the database: mysql said: ERROR 1819 (HY000) at line 1: Your password does not satisfy the current policy requirements . Your options are: * abort - Causes the operation to fail; you will need to downgrade, reinstall, reconfigure this package, or otherwise manually intervene to continue using it. This will usually also impact your ability to install other packages until the installation failure is resolved. * retry - Prompts once more with all the configuration questions (including ones you may have missed due to the debconf priority setting) and makes another attempt at performing the operation. * retry (skip questions) - Immediately attempts the operation again, skipping all questions. This is normally useful only if you have solved the underlying problem since the time the error occurred. * ignore - Continues the operation ignoring dbconfig-common errors. This will usually leave this package without a functional database.
Cette erreur se produit parce que nous avons activé le VALIDATE PASSWORD composant tel que décrit dans la section intitulée "2.2 Modifier la méthode d'authentification pour l'utilisateur racine MySQL" dans le guide d'installation de la pile LAMP joint ci-dessus.
Pour résoudre ce problème, vous devez désactiver temporairement le composant Valider le mot de passe et le réactiver après avoir défini le mot de passe pour phymyadmin. Cliquez sur OK pour fermer le message d'erreur ci-dessus et choisissez "abandonner" pour annuler l'installation de phpmyadmin.
Connectez-vous maintenant à l'invite Mysql en exécutant la commande suivante :
$ mysql -u root -p
Depuis l'invite mysql, utilisez la commande suivante pour désactiver le plugin Validate Password :
mysql> UNINSTALL COMPONENT "file://component_validate_password";
Veuillez noter que la commande ci-dessus désactivera uniquement le plugin, mais ne le supprimera pas. Vous pourrez l'activer plus tard. Tapez ensuite "exit" pour quitter l'invite Mysql.
mysql> exit
Essayez maintenant d'installer à nouveau phpmyadmin en utilisant la commande :
$ sudo apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl
Choisissez "Oui" et appuyez sur ENTRÉE pour configurer la base de données pour phpmyadmin avec dbconfig-common. Cette fois, l'installation de phpmyadmin fonctionnera sans aucun problème.
Une fois phpmyadmin installé, réactivez le plugin Validate Password. Pour ce faire, connectez-vous à votre invite Mysql :
$ mysql -u root -p
Depuis l'invite mysql, utilisez la commande suivante pour désactiver le plugin Validate Password :
mysql> INSTALL COMPONENT "file://component_validate_password";
Tapez exit pour quitter l'invite mysql.
mysql> exit
Enfin, activez mbstring php et redémarrez le service Apache pour mettre à jour 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 chargeant le fichier info.php à partir du navigateur Web.
Pour ce faire, accédez à http://IP-address/info.php depuis votre navigateur.
Vous verrez que le plugin 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 phpmyAdmin en utilisant l'utilisateur 'phpmyadmin' ou mysql root utilisateur. Cependant, il est recommandé de créer un utilisateur dédié pour gérer les bases de données via l'interface web phpMyAdmin.
Pour ce faire, connectez-vous au shell mysql à l'aide de la commande :
$ mysql -u root -p
Entrez votre mot de passe root mysql. Vous serez maintenant dans le shell mysql.
Saisissez la commande suivante pour créer un nouvel utilisateur dédié pour phpmyadmin :
mysql> CREATE USER 'phpmyadminuser'@'localhost' IDENTIFIED BY 'Password123#@!';
Ici, phpmyadmin est le nouvel utilisateur pour accéder au tableau de bord phpmyadmin. Le mot de passe pour phpmyadminuser est Password123#@ ! . Remplacez ces valeurs par les vôtres.
Donnez ensuite les privilèges appropriés au 'phpmyadminuser' en utilisant la commande :
mysql> GRANT ALL PRIVILEGES ON *.* TO 'phpmyadminuser'@'localhost' WITH GRANT OPTION;
Quittez enfin le shell mysql :
mysql> exit
Nous avons maintenant créé un utilisateur dédié pour gérer les bases de données via l'interface web phpmyadmin. Allons-y et accédons au tableau de bord phpmyadmin.
Accéder au tableau de bord phpMyAdmin
Ouvrez votre navigateur Web et accédez à http://ip-address/phpmyadmin ou http://domain/phpmyadmin . Vous devriez voir la page de connexion phpmyadmin. Connectez-vous à l'interface phmyadmin soit en utilisant mysql root utilisateur ou le nouvel utilisateur que nous avons créé à l'étape précédente.
Voici à quoi ressemble le tableau de bord phpMyAdmin :
Désormais, vous pouvez gérer vos bases de données via l'interface web phpMyAdmin.
Sécuriser phpMyAdmin
Cette section fournit quelques conseils pour sécuriser l'installation de PhpMyAdmin. Veuillez noter que les étapes suivantes ne permettent pas de protéger phpMyAdmin à 100 % en toute sécurité. Cependant, ils ralentiront au moins toute tentative d'un auteur de pénétrer dans votre tableau de bord phpmyadmin.
Désactiver la connexion racine MySQL au tableau de bord phpmyadmin
Autoriser l'utilisateur root mysql à accéder au tableau de bord phpMyAdmin n'est pas sûr, en particulier lors de la gestion de bases de données sur le réseau. C'est pourquoi nous avons créé un utilisateur dédié dans la section précédente. Puisque nous avons déjà un utilisateur dédié, nous pouvons désactiver en toute sécurité la connexion mysql root pour accéder au tableau de bord phpmyadmin afin de minimiser les attaques.
Généralement, phpmyadmin est installé sous /usr/share/phpmyadmin/ Le répertoire et ses fichiers de configuration sont stockés dans le répertoire /etc/phpmyadmin.
Modifier le fichier de configuration phpmyadmin :
$ sudo nano /etc/phpmyadmin/config.inc.php
Ajoutez/modifiez les paramètres suivants :
[...] $cfg['Servers'][$i]['auth_type'] = 'cookie'; $cfg['Servers'][$i]['AllowRoot'] = FALSE; [...]
Enregistrez et fermez le fichier.
Redémarrez le serveur Web Apache à l'aide de la commande :
$ sudo systemctl restart apache2
Essayez maintenant de vous connecter à phpmyadmin en tant qu'utilisateur root. Vous obtiendrez le message Accès refusé message d'erreur :
Protéger la page de connexion phpMyAdmin par mot de passe
Étant donné que phpMyAdmin est une cible facile pour les attaquants, la prochaine tâche recommandée consiste à sécuriser la page de connexion Web de phpyMyAdmin. Le moyen le plus courant de protéger phpMyAdmin contre les accès non autorisés consiste à utiliser le .htaccess intégré d'Apache. fonctionnalités d'authentification et d'autorisation.
Tout d'abord, activez l'utilisation de .htaccess remplace le fichier en éditant le /phpmyadmin.conf fichier :
$ sudo nano /etc/apache2/conf-available/phpmyadmin.conf
Ajouter "Autoriser tout remplacer" dans le
<Directory /usr/share/phpmyadmin> Options SymLinksIfOwnerMatch DirectoryIndex index.php AllowOverride All
Appuyez sur CTL+X suivi de Y pour enregistrer et fermer le fichier.
Redémarrez le service Apache pour mettre à jour les modifications à l'aide de la commande :
$ sudo systemctl restart apache2
Ensuite, créez un fichier nommé .htaccess dans /usr/share/phpmyadmin/ répertoire à l'aide de la commande :
$ sudo nano /usr/share/phpmyadmin/.htaccess
Ajoutez-y les lignes suivantes :
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 n'importe quel 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 résultat :
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. Désormais, chaque fois que vous tenterez d'accéder à l'interface Web de phpMyAdmin, vous serez invité à entrer le nom d'utilisateur supplémentaire et son mot de passe que vous venez de configurer à l'étape précédente.
Une fois que vous avez entré le nom d'utilisateur et le mot de passe corrects, vous serez redirigé vers la page de connexion d'authentification phpmyadmin. Entrez simplement vos identifiants de base de données pour accéder au tableau de bord Phpmyadmin.
Lire connexe :
- Installer phpMyAdmin avec la pile LEMP sur Ubuntu 20.04 LTS