Pour ne plus avoir besoin de passer par le biais de la ligne de commande pour effectuer des actions dans la base de données il est pratique d'utiliser des outils graphiques tels que PhpMyAdmin, nous allons voir comment l'installer et le configurer.
 

Installation des prérequis 

Dans un premier temps, il nous faut un serveur pour gérer les requêtes http/https, ici apache2 :
sudo apt install apache2

Pour que le site fonctionne au même titre que bon nombre de sites internet, il nous faut installer php et quelques unes de ses dépendances :

sudo apt install php php-mysql php-common php-cgi php-mysqli php-pear php-mbstring libapache2-mod-php php-phpseclib

Pour finir, mariadb qui va être notre système de base de données :

sudo apt install mariadb-server

Installation de PhpMyAdmin

Récupérer l'archive

Maintenant que tout est prêt, l'installation de l'outil qui nous intéresse peut commencer en récupérant la dernière version disponible sur le dépôt officiel :
wget -P Downloads https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz

Décompresser et configurer l'application

Avant de décompresser l'archive, nous allons créer un répertoire dans lequel placer l'application :
sudo mkdir /usr/share/phpmyadmin

(usr/share est utilisé ici mais /var/www fonctionne aussi, il faudra adapter le code qui suit si ce choix est effectué)
Et un second répertoire pour y stocker les fichiers temporaires :

mkdir -p /var/lib/phpmyadmin/tmp

Maintenant, il est possible d'extraire le contenu de l'archive dans le dossier créé :

sudo tar xvf phpMyAdmin-latest-all-languages.tar.gz --strip-components=1 -C /usr/share/phpmyadmin

Pour configurer l'application il faut générer le fichier de configuration à partir de celui qui est fourni par défaut :

sudo cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php

Pour utiliser le système de cookies sur le site, il va falloir fournir une chaine de 32 charactères au fichier de configuration, au lieu de taper cette chaine à la main, on peut la générer avec la commande qui suit :

openssl rand -base64 32

Maintenant, nous pouvons ouvrir le fichier :

nano /usr/share/phpmyadmin/config.inc.php

Il nous faut trouver la ligne suivante et écrire une chaine de 32 caractères ou copier celle générée au dessus :

$cfg['blowfish_secret'] = ''

Dans ce même fichier nous allons ajouter la prise en compte du dossier destiné aux fichiers temporaires créé au dessus :

 $cfg['TempDir'] = '/var/lib/phpmyadmin/tmp';


La configuration de base de l'application elle même est terminée, il ne reste plus qu'à faire en sorte que l'on puisse y accéder grâce à apache2 installé au début de l'article.
 

Prise en compte par apache

Pour que PhpMyAdmin soit pris en compte par apache et que l'on puisse y accéder, il faut créer un fichier de configuration :
sudo nano /etc/apache2/conf-available/phpmyadmin.conf

La configuration qui suit est une proposition parmi tant d'autres, l'objectif ici est de fournir une base fonctionnelle :

# Un alias permet de remplacer l'url /phpmyadmin par /pasphpmyadmin ici pour qu'il soit moins évident pour un acteur extérieur de savoir si vous utilisez PhpMyAdmin ou pas
Alias /pasphpmyadmin /usr/share/phpmyadmin

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

  # Les 3 lignes qui suivent visent à réduire l'accès à des IPs bien précises (l'utilisateur local uniquement dans l'exemple) pour éviter l'accès à /pasphpmyadmin par des acteurs extérieurs
  Order deny,allow
  Deny from all
  Allow from 127.0.0.1/24

  <IfModule mod_php.c>
    <IfModule mod_mime.c>
      AddType application/x-httpd-php .php
    </IfModule>
    <FilesMatch ".+\.php$">
      SetHandler application/x-httpd-php
    </FilesMatch>

    php_value include_path .
    php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
    php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
    php_admin_value mbstring.func_overload 0
  </IfModule>

</Directory>

# Suppression de l'accès à un certain nombre de dossiers depuis le web
<Directory /usr/share/phpmyadmin/templates>
  Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/libraries>
  Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib>
  Require all denied
</Directory>

Maintenant que tout est prêt, il faut faire en sorte que apache2 prenne en compte notre fichier de configuration :

sudo a2enconf phpmyadmin.conf

Et recharger le service :

sudo systemctl reload apache2

Maintenant, en allant sur http://mon-ip/pasphpmyadmin on obtient :



PhpMyAdmin est maintenant fonctionnel et il est possible d'y accéder sur notre navigateur.