Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
mysql:installation_mariadb_ubuntu_2204 [2022/07/29 09:19] marclebrun [Création d'un utilisateur admin] |
— (Version actuelle) | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== 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 ===== | ||
- | |||
- | <code bash> | ||
- | sudo apt install mariadb-server | ||
- | </code> | ||
- | |||
- | Vérifier qu'il fonctionne : | ||
- | |||
- | <code bash> | ||
- | sudo systemctl status mariadb | ||
- | </code> | ||
- | |||
- | ===== Sécurisation ===== | ||
- | |||
- | <code bash> | ||
- | sudo mysql_secure_installation | ||
- | </code> | ||
- | |||
- | 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 ===== | ||
- | |||
- | <code bash> | ||
- | sudo mariadb | ||
- | </code> | ||
- | |||
- | Créer l'utilisateur **admin@localhost** et lui donner un mot de passe **XXXXXX** : | ||
- | |||
- | <code> | ||
- | GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'XXXXXX' WITH GRANT OPTION; | ||
- | FLUSH PRIVILEGES; | ||
- | exit | ||
- | </code> | ||
- | |||
- | Tester le compte **admin** avec cette commande : | ||
- | <code bash> | ||
- | mysqladmin -u admin -p version | ||
- | </code> | ||
- | |||
- | ===== 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 : | ||
- | |||
- | <code bash> | ||
- | mariadb -u admin -p | ||
- | </code> | ||
- | |||
- | Créer la base de données : | ||
- | |||
- | <code mysql> | ||
- | MariaDB [(none)]> create database DATABASE_NAME; | ||
- | </code> | ||
- | |||
- | Créer un utilisateur ayant tous les droits sur cette base de données : | ||
- | |||
- | <code mysql> | ||
- | MariaDB [(none)]> grant all privileges on DATABASE_NAME.* TO 'USER_NAME'@'localhost' identified by 'PASSWORD'; | ||
- | </code> | ||
- | |||
- | Appliquer les privilèges : | ||
- | |||
- | <code mysql> | ||
- | MariaDB [(none)]> flush privileges; | ||
- | MariaDB [(none)]> exit | ||
- | </code> | ||
- | |||
- | ===== Installation de phpMyAdmin ===== | ||
- | |||
- | * Installer les librairies **PHP** requises : | ||
- | |||
- | <code bash> | ||
- | sudo apt install php-mysql php-mbstring | ||
- | </code> | ||
- | |||
- | * Télécharger la dernière version sur [[https://www.phpmyadmin.net/downloads/]] | ||
- | * Décompresser l'archive | ||
- | |||
- | <code bash> | ||
- | cd /home/marc/prgweb | ||
- | unzip /home/marc/Downloads/phpMyAdmin-5.0.4-all-languages.zip | ||
- | </code> | ||
- | |||
- | Chez moi cela crée un dossier **/home/marc/prgweb/phpMyAdmin-5.0.4-all-languages** | ||
- | |||
- | * Changer le propriétaire de ce dossier : | ||
- | |||
- | <code bash> | ||
- | sudo chown www-data:www-data /home/marc/prgweb/phpMyAdmin-5.0.4-all-languages | ||
- | </code> | ||
- | |||
- | * Copier et éditer le fichier de configuration | ||
- | |||
- | <code bash> | ||
- | cd /home/marc/prgweb/phpMyAdmin-5.0.4-all-languages | ||
- | sudo cp config.sample.inc.php config.inc.php | ||
- | </code> | ||
- | |||
- | <code php config.inc.php> | ||
- | ... | ||
- | $cfg['blowfish_secret'] = 'UNE SUITE DE CARACTERES ALEATOIRES'; | ||
- | ... | ||
- | </code> | ||
- | |||
- | Pour générer la suite de caractères aléatoires : | ||
- | |||
- | <code bash> | ||
- | openssl rand -base64 32 | ||
- | </code> | ||
- | |||
- | * Configurer un **Virtual Host** pour Apache | ||
- | * Créer un fichier **/etc/apache2/sites-available/phpmyadmin.localhost.conf** | ||
- | |||
- | <code apache 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> | ||
- | </code> | ||
- | |||
- | * Activer le nouveau site | ||
- | |||
- | <code bash> | ||
- | sudo a2ensite phpmyadmin.localhost.conf | ||
- | sudo systemctl reload apache2 | ||
- | </code> | ||
- | |||
- | * Tester si la configuration est correcte : | ||
- | |||
- | <code bash> | ||
- | sudo apachectl configtest | ||
- | </code> | ||
- | |||
- | * Accéder à l'adresse [[http://phpmyadmin.localhost]] | ||
- | |||