====== Installation d'un serveur MariaDB sous Ubuntu 22.04 ======
Source: [[https://www.digitalocean.com/community/tutorials/how-to-install-mariadb-on-ubuntu-20-04-quickstart-fr]]
===== Installer le serveur =====
sudo apt install mariadb-server
Vérifier qu'il fonctionne :
sudo systemctl status mariadb
===== Sécurisation =====
sudo 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 =====
sudo 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 :
sudo apt install php-mysql php-mbstring
==== Téléchargement ====
* Télécharger la dernière version sur [[https://www.phpmyadmin.net/downloads/]]
cd /home/marc
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 :
sudo mv /home/marc/phpMyAdmin-5.2.0-all-languages /var/www
sudo 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
sudo 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
sudo a2ensite phpmyadmin.localhost.conf
sudo systemctl reload apache2
* Tester si la configuration est correcte :
sudo apachectl configtest
* Accéder à l'adresse [[http://phpmyadmin.localhost]]