publik-infra/installation-4.md

3.2 KiB
Raw Blame History

Création des bases de données

Vue générale

Chaque brique utilise une ou plusieurs bases de données PostgreSQL. Il est courant dutiliser une installation à deux machines identiques en master/slave. Publik peut utiliser un système PostgreSQL existant, le cas échéant. Publik nécessite PostgreSQL en version 9 (>9.4 recommandée).

Pré-requis : extensions PostgreSQL

Vérifier que les extensions PostgreSQL sont bien activées :

apt install postgresql-contrib

Création des bases

Chaque composant Publik doit disposer :

  • d'une base de données dédiée,
  • d'un accès spécifique à cette base via un usager postgreSQL dédié (avec un mot de passe SQL à créer pour chaque composant).

Principe pour le composant combo :

CREATE USER combo PASSWORD 'indiquer-ici-le-mot-de-passe-pour-combo';

CREATE DATABASE combo WITH OWNER = combo TEMPLATE = template0 LC_COLLATE = 'fr_FR.UTF_8' LC_CTYPE = 'fr_FR.UTF-8';

Remarque : template0 et LC_COLLATE et LC_CTYPE nécessaires parce que template1 est en en_US.UTF-8.

La même opération doit être répétée pour chaque brique logicielle (bien sûr à chaque fois il faut noter le mot de passe choisi, il sera nécessaire par la suite) :

  • Combo
  • Hobo
  • Authentic
  • Passerelle
  • Fargo
  • Bijoe
  • Chrono
  • Corbo
  • Mandayejs
  • Welco

Une brique est spécifique : w.c.s.. Pour w.c.s., il n'y a pas besoin de création d'une base, elle sera effectuée lors de l'instanciation. En revanche, l'utilisateur w.c.s. sur PostgreSQL doit avoir le droit CREATEDB, donc :

CREATE USER wcs PASSWORD 'indiquer-ici-le-mot-de-passe-pour-wcs' CREATEDB;

Création des utilisateurs avec UID identiques sur web1 et web2

Comme des fichiers vont être partagés en NFSv3, il faut que les UID des utilisateurs Unix concernés soient les mêmes sur les deux machines web1 et web2.

Voici un script pour faire cela sur web1 et web2 :

#!/bin/sh

uid=2100

for user in hobo authentic-multitenant wcs wcs-au-quotidien passerelle combo fargo welco chrono corbo bijoe mandayejs
do
    echo "create group $user ($uid)"
    addgroup --system --gid $uid $user
    echo "create user $user ($uid)"
    adduser --disabled-password --system --uid $uid --gecos "$user daemon" --ingroup $user --no-create-home --home /var/lib/$user $user uid=$(($uid+1))
done

Résultat dans /etc/passwd:

hobo:x:2101:2101:hobo daemon,,,:/var/lib/hobo:/bin/false
authentic-multitenant:x:2102:2102:authentic2-multitenant
daemon,,,:/var/lib/authentic2-multitenant:/bin/false
wcs:x:2103:2103:wcs daemon,,,:/var/lib/wcs:/bin/false
wcs-au-quotidien:x:2104:2104:wcs-au-quotidien
daemon,,,:/var/lib/wcs-au-quotidien:/bin/false
passerelle:x:2105:2105:passerelle
daemon,,,:/var/lib/passerelle:/bin/false
combo:x:2106:2106:combo daemon,,,:/var/lib/combo:/bin/false
fargo:x:2107:2107:fargo daemon,,,:/var/lib/fargo:/bin/false
welco:x:2108:2108:welco daemon,,,:/var/lib/welco:/bin/false
chrono:x:2109:2109:chrono daemon,,,:/var/lib/chrono:/bin/false
corbo:x:2110:2110:corbo daemon,,,:/var/lib/corbo:/bin/false
bijoe:x:2111:2111:bijoe daemon,,,:/var/lib/bijoe:/bin/false
mandayejs:x:2112:2112:mandayejs daemon,,,:/var/lib/mandayejs:/bin/false