Skip to content

Annexe C - Configuration de MySQL et phpmyadmin

Les instructions suivantes font référence à l'installation de MySQL et phpmyadmin sur un serveur Ubuntu.

Premiers pas

  • Installez les mises à jour: sudo apt update && sudo apt upgrade.
  • Assurez-vous que votre machine virtuelle soit en mode bridged sinon il ne sera pas possible de se connecter à la base de données.

MySQL

  • Installer MySQL
    • sudo apt install mysql-server
  • Se connecter au serveur MySQL en tant que root
    • sudo mysql
  • Changer le mot de passe de l'utilisateur root
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'nouveau_mdp';
    
  • Sécuriser l'installation de MySQL

    • Sans être connecté au serveur, entrez la commande mysql_secure_installation
    • Suivre le script de sécurisation pour le niveau de sécurité que vous voulez.
  • Permettre de se connecter à la base de données à partir de l'extérieur du serveur

    • Localisez le fichier mysqld.cnf, normalement il se trouve à /etc/mysql/mysql.d.conf/mysqld.cnf
    • Trouvez la ligne bind-address et modifiez sa valeur pour 0.0.0.0
    • Redémarrez le serveur MySQL avec `sudo systemctl restart mysql'
  • Créer un utilisateur local

CREATE USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mdp_utilisateur';
  • Créer un utilisateur distant pouvant se connecter à partir de n'importe quelle adresse IP
CREATE USER 'username'@'%' IDENTIFIED WITH mysql_native_password BY 'mdp_utilisateur';
  • Créer une base de données
CREATE DATABASE nom_bd;
  • Donner les privilèges sur une base de données à cet utilisateur
GRANT ALL ON nom_bd.* TO 'username'@'%';

Gestion des utilisateur

Lors du déploiement de l'application, on voudra s'assurer que l'utilisateur de la base de données associé soit sécuritaire.

  • Lui donner seulement les permissions requises, généralement les opérations CRUD sur les enregistrements sont suffisants (pas de création de table, utilisateur ou modification de schéma)
  • S'assurer d'avoir un mot de passe sécuritaire.
  • Éviter de lui donner la possibilité de se connecter de n'importe quelle adresse IP.
    • Limiter à localhost si l'application est exécutée sur la même machine que la base de données.
    • Limiter à l'adresse IP de l'application web si elle ne s'exécute pas sur la même machine que la base de données.

phpmyadmin

  • Installer PHP
    • sudo apt install php
  • Installer phpmyadmin.
  • sudo apt install phpmyadmin

Attention

Assurez vous de choisir le serveur apache lorsqu'on vous demande de choisir un serveur web pour l'application. Le cochere à l'aide de la barre d'espacement.

  • Il n'est pas nécessaire d'installer une base de données.

  • Récupérez l'adresse IP de votre machine virtuelle

    • ip addr
  • Dans un navigateur web, rendez vous à l'interface de phpmyadmin
    • {adresse_ip}/phpmyadmin