====== Installation d'un serveur MariaDB sous Debian 12 ======
===== Installer le serveur =====
su
apt install mariadb-server
Vérifier qu'il fonctionne :
systemctl status mariadb
===== Sécurisation =====
su
mariadb-secure-installation
Répondre aux questions :
| ''Enter current password for root (enter for none):'' | **ENTER** |
| ''Switch to unix_socket authentication [Y/n]'' | **N** |
| ''Change the root password? [Y/n]'' | **N** |
| ''Remove anonymous users? [Y/n]'' | **Y** |
| ''Disallow root login remotely? [Y/n]'' | **Y** |
| ''Remove test database and access to it? [Y/n]'' | **Y** |
| ''Reload privilege tables now? [Y/n]'' | **Y** |
===== Création d'un utilisateur admin =====
su
mariadb
Créer l'utilisateur **admin@localhost** et lui donner un mot de passe **XXXXXX** :
GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'XXXXXX' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit
Tester le compte **admin** avec cette commande :
mariadb-admin -u admin -p version
===== Création d'une base de données et d'un utilisateur =====
Pour créer une base de données et un utilisateur ayant tous les droits sur cette
base de données (par exemple pour y connecter un CMS) :
Se connecter en ligne de commande :
mariadb -u admin -p
Créer la base de données :
MariaDB [(none)]> create database DATABASE_NAME;
Créer un utilisateur ayant tous les droits sur cette base de données :
MariaDB [(none)]> grant all privileges on DATABASE_NAME.* TO 'USER_NAME'@'localhost' identified by 'PASSWORD';
Appliquer les privilèges :
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit
===== Installation de phpMyAdmin =====
* Installer les librairies **PHP** requises :
su
apt install php-mysql php-mbstring
==== Téléchargement ====
* Télécharger la dernière version sur [[https://www.phpmyadmin.net/downloads/]]
wget https://files.phpmyadmin.net/phpMyAdmin/5.2.0/phpMyAdmin-5.2.0-all-languages.zip
* Décompresser l'archive
unzip phpMyAdmin-5.2.0-all-languages.zip
Cela crée un dossier **/home/marc/phpMyAdmin-5.2.0-all-languages**
* Déplacer le dossier, et changer son propriétaire :
mv phpMyAdmin-5.2.0-all-languages /var/www
chown -R www-data:www-data /var/www/phpMyAdmin-5.2.0-all-languages
==== Configuration ====
* Copier et éditer le fichier de configuration
cd /var/www/phpMyAdmin-5.2.0-all-languages
cp config.sample.inc.php config.inc.php
* Générer une suite de caractères aléatoires :
openssl rand -base64 32
* Copier cette suite de caractères dans la configuration :
...
$cfg['blowfish_secret'] = 'UNE SUITE DE CARACTERES ALEATOIRES';
...
==== VirtualHost ====
* Configurer un **Virtual Host** pour Apache
* Créer un fichier **/etc/apache2/sites-available/phpmyadmin.localhost.conf**
ServerName phpmyadmin.localhost
ServerAdmin marc@localhost
DocumentRoot /var/www/phpMyAdmin-5.2.0-all-languages
Options Indexes FollowSymLinks Multiviews
AllowOverride all
Require all denied
Require all granted
Allow from all
ErrorLog ${APACHE_LOG_DIR}/phpmyadmin.localhost/error.log
CustomLog ${APACHE_LOG_DIR}/phpmyadmin.localhost/access.log combined
* Activer le nouveau site
su
a2ensite phpmyadmin.localhost.conf
systemctl reload apache2
* Tester si la configuration est correcte :
apachectl configtest
* Accéder à l'adresse [[http://phpmyadmin.localhost]]