Créer un utilisateur pour la base et préparer ses identifiants
Objectif de la leçon
Comprendre la différence entre une base de données et un utilisateur SQL, créer un compte réservé à phpBB, lui donner des droits uniquement sur la base du forum et préparer les identifiants nécessaires pour la suite.
Explications
Où en sommes-nous ?
Dans la leçon précédente, vous avez créé une base de données vide pour votre futur forum.
Dans notre exemple, cette base s’appelle :
phpbb_ecole
Elle existe, mais phpBB ne sait pas encore comment y accéder.
Nous allons maintenant créer un utilisateur SQL réservé à phpBB. Cet utilisateur permettra au logiciel de se connecter à la base, d’y créer ses tables pendant l’installation, puis d’y lire et d’y enregistrer les informations du forum.
Nous avançons toujours dans le même environnement WampServer. Ne créez pas une nouvelle base et ne réinstallez rien.
1. Une base de données et un utilisateur SQL sont deux choses différentes
Une base de données est l’endroit où seront conservées les informations du forum.
Un utilisateur SQL est un compte connu par MySQL ou MariaDB. Le serveur de bases de données utilise ce compte pour décider :
- qui peut se connecter ;
- à quelle base cette personne ou ce logiciel peut accéder ;
- quelles opérations sont autorisées.
Autrement dit :
Base de données = endroit où sont stockées les données
Utilisateur SQL = compte autorisé à accéder à ces données
Même si nous leur donnons le même nom dans le cours, ce sont bien deux éléments différents.
2. Pourquoi ne pas utiliser le compte root ?
Dans phpMyAdmin, vous utilisez peut-être actuellement le compte
root.
Ce compte sert à administrer le serveur de bases de données. Il peut disposer de droits très étendus et accéder à plusieurs bases.
phpBB n’a pas besoin de tout cela.
Notre forum doit simplement pouvoir travailler dans sa propre base.
Nous allons donc créer un compte réservé au forum et lui donner des droits uniquement sur la base
phpbb_ecole.
Cette organisation est plus claire : chaque logiciel utilise le compte dont il a besoin, avec les accès qui lui sont nécessaires.
3. Choisir le nom de l’utilisateur
Pour rester simple, nous allons appeler l’utilisateur SQL :
phpbb_ecole
C’est également le nom de notre base, mais ce choix est uniquement pratique.
Nous aurons donc :
Base de données : phpbb_ecole
Utilisateur SQL : phpbb_ecole
Le fait que les deux noms soient identiques ne les transforme pas en un seul élément.
Si vous avez choisi un autre nom de base dans la leçon précédente, vous pouvez conserver ce nom pour la base et choisir un nom clair pour l’utilisateur, par exemple :
phpbb_ecole_user
Notez toujours les noms réellement utilisés.
4. Créer l’utilisateur dans phpMyAdmin
Ouvrez phpMyAdmin et restez sur le même serveur MySQL ou MariaDB que celui dans lequel vous avez créé votre base.
Revenez à la page principale du serveur, puis cherchez la rubrique :
Comptes utilisateurs
Activez ensuite :
Ajouter un compte d’utilisateur
Le libellé peut varier légèrement selon la version de phpMyAdmin.
Dans le champ du nom d’utilisateur, saisissez :
phpbb_ecole
Dans le champ concernant l’hôte, indiquez :
127.0.0.1
Que signifie cette adresse ?
127.0.0.1 désigne l’ordinateur sur lequel vous travaillez actuellement.
Dans notre installation locale, phpBB et le serveur MySQL ou MariaDB fonctionneront sur le même ordinateur. Nous limitons donc ce compte aux connexions provenant de cet ordinateur.
5. Choisir le mot de passe SQL
Choisissez maintenant un mot de passe pour cet utilisateur SQL.
Ce mot de passe sera utilisé plus tard par phpBB pour se connecter à la base de données.
Choisissez un mot de passe que vous ne réutilisez pas pour votre compte administrateur phpBB.
Conservez-le dans un endroit privé, par exemple dans votre gestionnaire de mots de passe.
Ne publiez pas ce mot de passe dans un exercice, dans un sujet de forum ou dans une capture d’écran.
Saisissez une seconde fois le même mot de passe dans le champ de confirmation.
6. Ne pas donner de droits sur toutes les bases
Le formulaire peut afficher une partie appelée Privilèges globaux.
Un privilège est une opération qu’un utilisateur est autorisé à effectuer.
Des privilèges globaux s’appliqueraient au serveur de bases de données dans son ensemble, c’est-à-dire potentiellement à plusieurs bases.
Ce n’est pas ce que nous voulons.
Pour cette étape, ne cochez pas « Tout cocher » dans les privilèges globaux.
Validez simplement la création du compte.
À ce moment-là, l’utilisateur existe, mais il faut encore lui donner accès à la base du forum.
7. Donner les droits sur la base phpbb_ecole
Revenez à la liste des comptes utilisateurs.
Repérez l’utilisateur que vous venez de créer. Vérifiez bien son nom et son hôte :
phpbb_ecole
127.0.0.1
Ouvrez ensuite le lien permettant de modifier ses privilèges.
Cherchez la partie consacrée aux privilèges spécifiques à une base de données.
Sélectionnez la base :
phpbb_ecole
Si votre base porte un autre nom, sélectionnez évidemment ce nom réel.
Une nouvelle page affiche les droits applicables à cette base.
Pour le forum, accordez à cet utilisateur les privilèges proposés sur cette base uniquement.
Pourquoi phpBB a-t-il besoin de ces droits ?
Pendant l’installation, il doit créer ses tables. Ensuite, il doit pouvoir lire les informations, en ajouter, les modifier et les supprimer lorsque vous utilisez normalement le forum.
Retenez surtout la différence suivante :
Tous les privilèges sur phpbb_ecole = accès complet à la base du forum
Privilèges globaux = droits étendus sur l’ensemble du serveur
Nous voulons le premier cas, pas le second.
Si phpMyAdmin affiche séparément une option permettant à cet utilisateur d’accorder lui-même des droits à d’autres utilisateurs, souvent appelée
GRANTou
GRANT OPTION, laissez cette option désactivée. phpBB n’en a pas besoin pour fonctionner.
Validez les modifications.
8. Vérifier le résultat
Revenez sur la fiche ou la page des privilèges de l’utilisateur.
Vous devez pouvoir vérifier deux choses :
1. l’utilisateur
phpbb_ecoleexiste pour l’hôte
127.0.0.1 ;
2. il possède des droits sur la base
phpbb_ecole.
Vous n’avez pas besoin de créer une seconde base ni un second utilisateur.
Si vous ne trouvez pas votre base dans la partie des privilèges spécifiques, ne donnez pas des droits globaux « pour essayer ». Vérifiez d’abord que vous êtes connecté au même serveur MySQL ou MariaDB que dans la leçon précédente.
9. Préparer les informations pour l’installation de phpBB
Notez maintenant les informations suivantes :
Serveur de bases de données : MySQL ou MariaDB
Nom de la base : phpbb_ecole
Utilisateur SQL : phpbb_ecole
Hôte local : 127.0.0.1
Conservez également le mot de passe SQL dans un endroit privé.
Nous utiliserons ces informations lorsque l’installateur de phpBB nous demandera comment se connecter à la base.
10. Ne pas confondre les différents comptes
À ce stade, vous pouvez rencontrer plusieurs comptes. Ils n’ont pas le même rôle.
Le compte de gestion MySQL ou MariaDB
Il sert à administrer le serveur de bases de données dans phpMyAdmin. Sur une installation locale neuve, il peut s’agir de
root.
L’utilisateur SQL de phpBB
C’est celui que nous venons de créer :
phpbb_ecole
phpBB l’utilisera pour accéder à sa base.
Le futur administrateur phpBB
Ce compte n’existe pas encore. Vous le créerez dans l’assistant d’installation de phpBB.
Il servira à vous connecter au forum et à le gérer dans le navigateur.
Ce compte administrateur n’est donc pas un utilisateur MySQL ou MariaDB.
Avant de passer à la suite
À la fin de cette leçon, votre environnement doit contenir :
- une base de données vide réservée au forum ;
- un utilisateur SQL réservé à phpBB ;
- des droits accordés à cet utilisateur uniquement sur la base du forum ;
- les informations de connexion notées pour la suite.
Dans la prochaine leçon, nous allons télécharger phpBB et placer ses fichiers dans le dossier qui accueillera notre forum local.
Exemple commenté
Léa a créé une base nommée :
phpbb_ecole
Elle crée ensuite dans phpMyAdmin un utilisateur SQL portant lui aussi le nom :
phpbb_ecole
Elle limite ce compte à l’hôte :
127.0.0.1
Puis elle lui donne les droits nécessaires sur la base
phpbb_ecole uniquement.
Elle note :
Base : phpbb_ecole
Utilisateur SQL : phpbb_ecole
Hôte : 127.0.0.1
Son mot de passe reste enregistré dans son gestionnaire de mots de passe.
Plus tard, Léa créera un compte administrateur dans phpBB. Ce futur compte servira à gérer le forum dans le navigateur. Il sera donc différent de l’utilisateur SQL que le logiciel utilise pour accéder à sa base.
Exercice à réaliser
À vous de préparer l’utilisateur SQL de votre forum.
1. Ouvrez phpMyAdmin sur le même serveur MySQL ou MariaDB que dans la leçon précédente.
2. Créez un utilisateur nommé
phpbb_ecole, ou choisissez un autre nom libre si nécessaire.
3. Utilisez
127.0.0.1 comme hôte pour notre installation locale.
4. Choisissez un mot de passe personnel pour ce compte et conservez-le en privé.
5. Ne donnez pas de privilèges globaux à cet utilisateur.
6. Accordez-lui les droits nécessaires sur la base
phpbb_ecole uniquement, ou sur le nom réel de votre base si vous en avez choisi un autre.
7. Vérifiez ensuite que l’utilisateur apparaît avec des droits sur cette base.
8. Notez le nom de la base, le nom de l’utilisateur et l’hôte. Ne recopiez pas votre mot de passe dans votre réponse.
Pour terminer, expliquez avec vos propres mots la différence entre la base de données et l’utilisateur SQL.
Correction et résultat attendu
L’exercice est réussi si vous avez un utilisateur SQL dédié au forum et si cet utilisateur possède des droits sur la base du forum uniquement.
Par exemple :
Base de données : phpbb_ecole
Utilisateur SQL : phpbb_ecole
Hôte : 127.0.0.1
Le mot de passe existe également, mais il doit rester privé.
La base de données est l’endroit où phpBB conservera ses informations.
L’utilisateur SQL est le compte que MySQL ou MariaDB utilisera pour autoriser phpBB à accéder à cette base.
Il est normal que la base et l’utilisateur portent le même nom dans notre exemple : ils restent deux éléments différents.
Le compte ne doit pas recevoir des privilèges globaux simplement pour faire fonctionner phpBB. Les droits utiles sont accordés sur la base du forum.
À retenir
Une base de données et un utilisateur SQL sont deux éléments différents.
La base contient les données du forum.
L’utilisateur SQL permet à phpBB de se connecter à cette base.
Nous avons créé un compte dédié afin de ne pas utiliser le compte de gestion général pour le forum.
Ce compte reçoit des droits sur la base du forum, sans recevoir inutilement des privilèges globaux sur le serveur.
L’utilisateur SQL et le futur administrateur phpBB sont deux comptes différents.
Conservez le mot de passe SQL en privé : l’installateur de phpBB en aura besoin plus tard.
Seuil de réussite, en pourcentage : 100 %. QCM obligatoire pour terminer le cours.