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