Onglet Eoledb : Gestion des bases de données

EoleDB est disponible depuis la version 2.5.2 d'EOLE. C'est une re-implémentation de l'ancien gestionnaire des bases de données EOLE (eole-sql) dont les objectifs principaux sont :

  • n'utiliser qu'un seul fichier de configuration ;

  • supporter nativement plusieurs types de bases de données (MySQL, PostgreSQL, SQLite, ...) ;

  • supporter nativement l'externalisation des bases de données sur d'autres serveurs ;

  • ne plus avoir à fournir des scripts python dans les paquets d'application web du projet EOLE pour pouvoir générer ou mettre à jour des bases de données (cf eole-sql : /usr/share/eole/applications/gen/, /usr/share/eole/applications/passwords/, /usr/share/eole/applications/updates/).

EoleDB rend possible l'externalisation des bases de données d'un module EOLE.

Remarque

Pour le moment, EoleDB gère uniquement les bases de données MySQL[1] et PostgreSQL[2].

Cet onglet est disponible en mode expert sur les modules Scribe et AmonEcole.

Sur les autres modules, il est possible d'installer manuellement le paquet eole-db :

# apt-eole install eole-db

Par défaut le serveur de base de données est paramétré comme étant local. Dans le cas où le serveur est distant quelques variables sont à renseigner.

  • Adresse du serveur de base de données : adresse IP, nom de machine ou nom de domaine du serveur de base de données distant. Cette valeur est utilisée pour toutes les applications web qui ne définiront pas elles-mêmes un serveur de base de données.

  • Port du serveur de base de données : port du serveur de base de données utilisé, par exemple 3306 pour le serveur MySQL fourni par EOLE.

  • Nom d'utilisateur d'administration : identifiant du gestionnaire de la base de données distante.

  • Fichier de mot de passe : chemin d'accès vers le fichier qui contient le mot de passe du gestionnaire, par exemple /root/bdpass.txt. Ce fichier doit être accessible par EoleDB, idéalement le fichier doit avoir les droits 600.

  • Machines qui peuvent utiliser le serveur de BDD : permet d'autoriser des machines à accéder à l'administration des bases distantes #fixme, si rien n'est renseigné l'adresse IP du serveur utilisant EoleDB est ajoutée automatiquement dans le fichier de configuration.

Paramètre Eoledb associés aux applications liées

Par défaut, le serveur de base de données est paramétré comme étant local.

Pour chaque application installée et activée (notamment les application Envole), une ligne de paramétrage supplémentaire s'ajoute dans l'onglet EoleDB.

Exemple

De base, trois applications sont disponibles : Posh-Profile, Roundcube et Nextcloud (depuis EOLE 2.8.1).

Les applications ont leur serveur pré-configuré à défaut, ce qui induit qu'elles reprennent la configuration indiquée plus haut dans la section Configuration l'onglet EoleDB.

Comprendre posh-profile

En laissant la valeurs sur default, les informations de configuration de l'onglet EoleDB seront automatiquement reprises. Il s'agit de la configuration la plus répandue correspondant à la majorité des cas.

Posh-profile permet la synchronisation des comptes utilisateurs entre les différentes applications web EOLE et la base utilisateur EoleDB. Exemple d'application web : eole-nextcloud (toutes les applications envole utilisent cette mécaniques)

Valeurs : <externe>

Écran
  • 1
    Variable EOLE : <poshprofil_db_mode>

    Emplacement de la base de donnée utilisé par Posh-profile.

  • 2
    Variable EOLE : <poshprofil_dbserver>

    Adresse du serveur de base de données.

  • 3
    Variable EOLE : <poshprofil_dbport>

    Port d'accès à la base de donnée distante, par défaut 3306.

  • 4
    Variable EOLE : <poshprofil_allow_hosts>

    Identification des hôtes autorisé à accéder à la base de donnée.

  • 5
    Variable EOLE : <poshprofil_db_mode>

    Identifiant de l'utilisateur à utiliser sur la base de donnée.

  • 6
    Variable EOLE : <poshprofil_dbpass>

    Emplacement du fichier de mot de passe de la base de donnée, exemple : /root/.mysql

Plusieurs base de données.

Dans le cas ou il y aurait plusieurs bases de données auxquelles se connecter, il est nécessaire de sélectionner la variable "externe".

  1. Indiquer l'emplacement de la base de donnée.

  2. Renseigner l'adresse de la base de donnée. Attention dans le cas ou ces bases de données ce trouvent dans le même domaine, il sera nécessaire de leur donner différents Alias afin de les distinguer.

  3. Remplir avec le port renseigné pour la base de donnée EoleDB distante. (par défaut 3306)

  4. Indiquer Tous les hôtes autoriser à ce connecter à la base de données distantes. Lors de la première connexion ils seront ajouté dans la base et autorisé à communiquer avec celle-ci.

  5. Renseigner l'identifiant de l'utilisateur permettant l'accès à la base de données.

  6. Emplacement du fichier de mot de passe de la base de donnée, couramment : /root/.mysql

ExempleExemple de cas d'usage où la variable externe est nécessaire.

Dans ce cas il est nécessaire de changer la variable pour Appli_WEB4 qui utilise une autre base de données eole-db.

Base de type local

Écran
  • 1
    Variable EOLE : <poshprofil_db_mode>

    Emplacement de la base de donnée utilisée par Posh-profile.

  • 2
    Variable EOLE : <poshprofil_allow_hosts>

    Adresse des hôtes autorisés à accéder à la base de données.

Truc & astuce

Dans le cas ou vous avez plusieurs applications web mais que certaines ne doivent pas avoir accès à la base EoleDB locale, vous avez la possibilité de les spécifier dans l'option Hôtes autorisés à utiliser la base de données.