====== 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**
{{ :reseau:debian:mysql_02.png |}}
===== 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