Installation du service de base de donnés MariaDB et de PhpMyadmin

Test du serveur Debian

accédez à votre machine virtuelle Debian,

Ouvrez une session avec le compte root (mot de passe btssio),

Effectuer une mise à jour de votre serveur avec les commandes suivantes :

# apt update
# apt upgrade

Visualisez et testez la configuration IP du serveur avec les commandes suivantes :

# ip a
# ping www.onisep.fr

Installation du serveur MariadDB

installation éventuelle des prérequis

# apt install libapache2-mod-php php-mysql

installez le paquetage MariaDB :

# apt install mariadb-server

L'installation des paquetages nécessaires va se faire ainsi que la configuration de Mariadb.

Création d'un compte admin pour l'administration de MariaDB mot de passe btssio

# mariadb -u root -e "CREATE USER admin@'%'; GRANT ALL PRIVILEGES ON *.* to admin@'%' IDENTIFIED BY 'btssio' WITH GRANT OPTION; FLUSH PRIVILEGES;"

Test du serveur MySQL :

Lancez les commandes suivantes

# ps aux | grep mysqld

Le processus serveur s'appelle mysqld.

Le caractère | est obtenu par ALT 124

Gestion du service

arrêter MySQL

# systemctl stop mysqld

lancer MySQL

# systemctl start mysqld

Connexion à MariaDB

Vous allez utiliser sur le serveur Debian un client mysql en mode texte pour visualiser les comptes et mots de passe (chiffrés) actuellement créés dans MySQL :

connexion à MySQL

# mysql -u root -p
Welcome to the MySQL monitor.

Le paramètre -p permet de saisir un mot de passe, on peut se connecter directement à la base de données voulue.

visualiser les bases de données existantes

MariaDB [none]> show databases;

choisir la base de données mysql

MariaDB [none]> use mysql;

visualiser toutes les tables existantes dans la BDD mysql

MariaDB [mysql]> show tables;

visualiser les colonnes de la table user

MariaDB [mysql]> show columns from user;

visualiser les comptes existants

MariaDB [mysql]> select host, user, password from user;
+-----------+------------+-------------------------------------------+
| host | user | password |
+-----------+------------+-------------------------------------------+
| localhost | root | |
| localhost | phpmyadmin | *67FB196439A190C83D2F15B6B2A3A040D07C864A |
| % | admin | *051EE6D715E32156AA5783A812D83B2D5BAE2A79 |
+-----------+------------+-------------------------------------------+
3 rows in set (0.002 sec)

quitter le client mysql

MariaDB [mysql]> quit	→

Pour se connecter à MariaDB

# mysql --user=root --password=btssio

Installez PHPMyAdmin

Téléchargement de phpmyadmin

# wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz

Décompression de l’archive

# tar -xzf phpMyAdmin-latest-all-languages.tar.gz --one-top-level=phpmyadmin --strip-components=1

Placement dans le dossier de publication /var/www/html/ du serveur Web (solution simple)

# mv phpmyadmin /var/www/html/

Création la base de données phpmyadmin et d’un compte administrateur de phpmyadmin

# mariadb -u root -e "CREATE DATABASE phpmyadmin DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; GRANT ALL ON phpmyadmin.* TO 'phpmyadmin'@'localhost' IDENTIFIED BY 'btssio'; FLUSH PRIVILEGES;"

Création des tables nécessaire dans la base de données phpmyadmin

# mysql -u admin -pbtssio < /var/www/html/phpmyadmin/sql/create_tables.sql

* Création puis modification du fichier config.inc.php (24 opérations)

# mv /var/www/html/phpmyadmin/config.sample.inc.php /var/www/html/phpmyadmin/config.inc.php

* Modification des lignes du fichier /var/www/html/phpmyadmin/config.inc.php pour obtenir

$cfg['blowfish_secret'] = 'IL_FAUT_32_CARACTERES_AZERTYUIOP'; $cfg['Servers'][$i]['controluser'] = 'phpmyadmin'; $cfg['Servers'][$i]['controlpass'] = 'btssio'; /* Storage database and tables */ $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; $cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark'; $cfg['Servers'][$i]['relation'] = 'pma__relation'; $cfg['Servers'][$i]['table_info'] = 'pma__table_info'; $cfg['Servers'][$i]['table_coords'] = 'pma__table_coords'; $cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages'; $cfg['Servers'][$i]['column_info'] = 'pma__column_info'; $cfg['Servers'][$i]['history'] = 'pma__history'; $cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs'; $cfg['Servers'][$i]['tracking'] = 'pma__tracking'; $cfg['Servers'][$i]['userconfig'] = 'pma__userconfig'; $cfg['Servers'][$i]['recent'] = 'pma__recent'; $cfg['Servers'][$i]['favorite'] = 'pma__favorite'; $cfg['Servers'][$i]['users'] = 'pma__users'; $cfg['Servers'][$i]['usergroups'] = 'pma__usergroups'; $cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding'; $cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches'; $cfg['Servers'][$i]['central_columns'] = 'pma__central_columns'; $cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings'; $cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';

Création du répertoire pour les templates temporaires de phpmyadmin (2 opérations)“

# mkdir /var/www/html/phpmyadmin/tmp # chown -R www-data:www-data /var/www/html/phpmyadmin/tmp

Installation des extensions php- pour phpmyadmin (2 opérations, 6 extensions supplémentaires)

# Voir la doc officielle : https://docs.phpmyadmin.net/fr/latest/require.html#php # apt -y install php-json php-mbstring php-zip php-gd php-xml php-curl # systemctl reload apache2

S'authentifier sur PhpMyAdmin avec le compte admin

Pour s'authentifier sur Phpmyadmin utiliser le admin à l'adresse http://adreseIP/phpmyadmin :

Redémarrer le service mysql

root@debian10M:~# systemctl restart mysql