CiviCRM: Les bases de données… Paramétrages

Afin de faire fonctionner CiviCRM et Drupal ensemble, il faut une base de données pour chacun.

Vous l’avez compris sans doute, même si les termes sont souvent anglo-saxons, CiviCRM est en fait un module complètement intégré dans Drupal.

Drupal peut fonctionner seul, CiviCRM a besoin d’un CMS (Drupal, WordPress, Joomla!) pour fonctionner. Il va se servir des fonctionnalités du CMS et s’appuyer dessus afin de vous fournir toutes ses fonctionnalités de CRM spécialisé pour les organisations à but non lucratif.

Et donc, pour fonctionner correctement, les 2 ont besoin d’une base de données, qui leur permet de structurer leurs données mais aussi leurs fonctionnements respectifs. Il faut donc, avant de lancer l’installation de Drupal, puis de CiviCRM, créer une base de données Drupal et une base de données CiviCRM.

Et maintenant, c’est bien beau tout ça, mais comment fait-on pour créer une base de données utilisable pour un logiciel Web installé en local ? Comment gère-t-on une base de données ? Quel outil va-t-on utiliser ? Comment y accède-t-on ? Quel est son nom à son outil ?

Tout d’abord, le moteur de base de données, l’outil qui permet réellement l’ajout, la suppression, la modification et la gestion de bases de données s’appelle, dans notre cas, MySQL.

En général, lorsque vous avez suivi l’article suivant, vous avez installé ce que l’on appelle un LAMP, c’est à dire l’ensemble « Linux Apache MySQL PHP » nécessaire afin de faire fonctionner Drupal et CiviCRM.

Le répertoire « /var/www » est le répertoire de base des pages Web du serveur Apache. Si vous tapez ceci « http://127.0.0.1 » ou « http://localhost« , vous devriez avoir ceci:

Interro 127.0.0.1 Interro localhost

Si vous avez « It Works! » (ça marche!) alors tout va bien, le serveur Web Apache est bien installé.

Nous devons maintenant accéder au moteur de base de données, et nous avons 2 possibilités, les lignes de commandes (assez rébarbatif, même pour moi) ou une interface graphique. Il existe une interface graphique, qui se charge dans le navigateur Web, elle est assez connue et s’appelle phpMyAdmin.

Pour vérifier si c’est installé sur votre ordinateur, soit vous lancez le gestionnaire de paquets et vous cherchez en tapant totalement ou partiellement « phpmyadmin« :

Recherche paquet phpMyAdmin

Ici, vous pouvez constater que le paquet existe mais qu’il n’est pas installé. Pour l’installer, un clic droit sur la ligne phpmyadmin, puis « Sélectionner pour installation« . Ensuite cliquez sur Appliquer afin d’installer cet outil.

Vous pouvez aussi le faire en ligne de commande, soit en passant par la commande « sudo apt-get install apache2 php5 mysql-server libapache2-mod-php5 php5-mysql phpmyadmin » qui permet d’installer l’ensemble Apache, MySQL, PHP et phpMyAdmin, et si des paquets sont déjà installés, il ne le seront pas de nouveau, soit vous utilisez pour chaque paquet la commande « apt-cache showpkg phpmyadmin » (ou autre ici).

La commande « apt-get install » permet d’installer directement ce qui est absent et nécessaire.

Install LAMP

Vous voyez ici les informations suivantes:

– Apache est déjà installé et dans la version la plus récente disponible dans le dépôt,

– Les bibliothèques PHP pour Apache sont déjà installées et dans la version la plus récente disponible dans le dépôt,

– Vous avez ensuite les paquets obligatoires qui vont être installés en fonction de votre demande,

– Ensuite les paquets suggérés qui seront ajoutés,

– Les paquets qui seront supprimés,

– Un résumé des paquets qui seront installés finalement, leur nombre mis à jour, à installer, à enlever et mis à jour,

– Et finalement, votre accord avant de faire quoique ce soit.

Si vous tapez sur « o » puis « Entrée« , l’installation se fera, si vous tapez sur « n » puis « Entrée » tout s’arrête.

Pour ma part, je vais tapez sur « o » afin d’avoir les programmes et bibliothèques nécessaires afin d’effectuer l’installation.

NB: Avant toute chose, tapez les commandes suivantes afin d’avoir un système à jour: « apt-get upgrade » et ensuite « apt-get update« .

Les commandes à passer:

su -l (puis entrez votre mot de passe root puis Entrée)

apt-get upgrade

apt-get update

apt-get install apache2 php5 mysql-server libapache2-mod-php5 php5-mysql phpmyadmin

MDP MySQL

Entrez un mot de passe administrateur pour MySQL (et ne le perdez pas),

Confirmation MDP MySQL

Confirmez ce mot de passe,

et choisissez le serveur Web à configurer (dans notre cas « apache2« )

Param MySQL Apache

en cliquant simplement sur la barre d’espace, puis sur Entrée.

L’installation se poursuit, MySQL s’installe et se configure seul jusqu’à la question suivante:

MySQL DBConfig

Comme je ne suis pas un administrateur exceptionnel de base de données, et en particulier de MySQL, et que je ne suis pas plus royaliste que le roi, je lis et je prends l’option de laisser faire l’installateur en choisissant « Oui« .

MDP MySQL pour phpMyAdmin

Entrez le mot de passe pour accéder à la base (le mot de passe que vous avez défini un peu plus haut et que vous n’avez pas oublié) et ensuite tapez sur « Entrée« , puis confirmez-le de nouveau.

L’installation est terminée:

Install LAMP Terminée

mais ne fermez pas le terminal de commande. Lancez votre navigateur est allez sur localhost ou 127.0.0.1.

Vous devez avoir « It Works! » de nouveau.

Vérifions maintenant que nous pouvons accéder au moteur de base de données MySQL à travers phpMyAdmin dans le navigateur internet.

Tapez soit « http://localhost/phpmyadmin/« , soit « http://127.0.0.1/phpmyadmin/« , vous devriez obtenir ceci:

Ecran connexion phpMyAdmin

Si c’est le cas, parfait, sinon, j’ai une méthode assez radicale qui marche en général, je désinstalle tout ce que je viens d’installer, y compris les fichiers de paramétrage (la demande est faite lors de la demande de désinstallation) et ensuite je redémarre l’ordinateur (virtuel ou pas) et je réinstalle le tout. C’est assez bourrin comme méthode, je l’avoue, mais ça marche tellement de fois… et je perds beaucoup moins de temps surtout. Par contre, si vous avez déjà copié les fichiers Drupal et CiviCRM dans le répertoire Apache « /var/www/« , vous devrez sans doute refaire la copie les manipulations expliquées sur l’article précédent.

Nous allons admettre que tout s’est bien passé, vous avez l’écran de connexion phpMyAdmin vers la base de données MySQL.

Nous avons défini un mot de passe pour l’utilisateur root pendant l’installation. Donc entrons donc avec cet utilisateur qui a tout pouvoir sur la base de données MySQL.

Connexion MySQL par phpMyAdmin

et nous arrivons ici, dans phpMyAdmin:

Ecran accueil MySQL phpMyAdmin

Et maintenant, nous allons créer nos bases de données pour Drupal et CiviCRM tout simplement en suivant la procédure suivante.

Au niveau de l’écran d’accueil, vous avez la partie « MySQL localhost« , avec juste en dessous « Créer une base de données« . Nous allons entrer le nom des bases que nous allons créer pour notre test, en l’occurrence « drupal7 » et « civicrm« . Libre à vous de choisir d’autres noms et de les retenir pour la suite.

Création base drupal7

Cliquez sur « Créer » et vous obtenez ceci:

Base drupal7 créée

Pour ne pas être embêté par la suite, lors de l’installation de Drupal, nous allons créer un utilisateur administrateur juste pour cette base de données drupal7.

Sur cette écran, nous allons cliquer sur Privilèges:

Privilèges drupal7

Nous obtenons la liste de tous les utilisateurs existants ainsi que leurs privilèges (permissions) sur la base de données drupal7.

Privilèges drupal7 ajout utilisateur

Cliquez sur « Ajouter un utilisateur« , et entrez les informations nécessaires à la création d’un compte avec tous les privilèges:

Ajout utilisateur drupal7

J’ai donné un nom explicite à cet utilisateur, il ne servira que sur localhost (j’ai donc choisi dans la liste déroulante du serveur le paramètre local qui remplit automatiquement le champ suivant avec localhost), puis j’ai entré un mot de passe et confirmez celui-ci (ce mot de passe nous servira lors de l’installation de Drupal).

NB: Vérifiez bien que « Donner tous les privilèges sur la base de données « drupal7 » » est coché !

Utilisateur drupal7 créé plus grant à faire

Voilà, votre utilisateur est créé, nous devons lui donner tous les droits.

Grant drupal7 exécuter

Cochez « Grant » et cliquez sur « Exécuter« , voici le résultat:

Grant all drupal7

C’est fait, vous êtes prêt pour installer Drupal.

Tant que nous y sommes, nous allons en profiter pour crée la base « civicrm« , puis l’utilisateur ad-hoc « cicicrm » (par exemple) avec exatecment les mêmes paramètres que précédemment sur la base de CiviCRM.

Cliquez sur le bouton « Accueil » de phpMyAdmin:

Boutons phpMyAdmin

Vous voici revenu sur l’écran d’accueil, vous n’avez plus qu’à suivre la procédure précédente pour CiviCRM.

Pour moi ça donne ceci:

– base de données: civicrm4

– utilisateur: civicrm

– Serveur: local et localhost

Grant coché

Au final, voici la liste des bases de données:

BDD Drupal et CiviCRM

et celle des utilisateurs:

Utilisateur drupal et civicrm

Nous venons donc d’installer, éventuellement, mySQL et phpMyAdmin, de créer les bases de données indispensables et ensuite de créer les utilisateurs de ces bases de données.

Nous sommes fin prêt pour passer à la suite, l’installation de Drupal 7 très prochainement.

Vous pouvez bien sur approfondir vos connaissances sur la base de données mySQL et sur l’outil phpMyAdmin en attendant.

Bonne base de données….

[MAJ]: en cours d’installation, mes bases de données sont passées en « utf8_swedish_ci« , ce qui occasionne un problème sur l’accentuation (les é, è, ê, etc… prennent de drôle de tête) assez gênant. Dès que je trouve la solution à ce problème, je partagerai sans délai la solution que j’ai trouvé.

Publicités

Une réflexion sur “CiviCRM: Les bases de données… Paramétrages

  1. Pingback: CiviCRM: la gestion pour association… Préparation. | 1969 : Génération perdue ?

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s