====== 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