Table des matières

Installation d'un serveur MariaDB sous Ubuntu 20.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 mysql_secure_installation

Répondre aux questions :

Enter current password for root (enter for none): ENTER
Set 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
GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'MonMotDePasse' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit

Tester le compte admin avec cette commande :

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

sudo apt install php-mysql php-mbstring
cd /home/marc/prgweb
unzip /home/marc/Downloads/phpMyAdmin-5.0.4-all-languages.zip

Chez moi cela crée un dossier /home/marc/prgweb/phpMyAdmin-5.0.4-all-languages

sudo chown www-data:www-data /home/marc/prgweb/phpMyAdmin-5.0.4-all-languages
cd /home/marc/prgweb/phpMyAdmin-5.0.4-all-languages
sudo cp config.sample.inc.php config.inc.php
config.inc.php
...
$cfg['blowfish_secret'] = 'UNE SUITE DE CARACTERES ALEATOIRES';
...

Pour générer la suite de caractères aléatoires :

openssl rand -base64 32
phpmyadmin.localhost.conf
<VirtualHost *:80>
        ServerName phpmyadmin.localhost
        ServerAdmin marc@localhost
        DocumentRoot /home/marc/prgweb/phpMyAdmin-5.0.4-all-languages
 
        <Directory /home/marc/prgweb/phpMyAdmin-5.0.4-all-languages>
                Options Indexes FollowSymLinks Multiviews
                AllowOverride all
                Require all denied
                Require all granted
                Allow from all
        </Directory>
 
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
sudo a2ensite phpmyadmin.localhost.conf
sudo systemctl reload apache2
sudo apachectl configtest