3.7 KiB
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 d’utiliser 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.6 recommandée).
Installation de PostgreSQL
Vérifier que les extensions PostgreSQL sont bien activées :
apt install postgresql 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 automatisée des bases de données:
Nous proposons un script pour la création des base-de-données, l'utilisation standard s'adresse à un cluster postgresql local. Il est possible d'adapter le fichier publik.conf pour spécifier des paramètres de connexions spécifiques :
cp /etc/publik/publik.conf.example /etc/publik/publik.conf publik-create-databases
Création des utilisateurs avec UID identiques sur web1 et web2
Lors de partage de fichiers sur un réseau (NFS par exemple), il faut que les UID des utilisateurs Unix concernés soient les mêmes sur les deux machines web1 et web2.
Nous fournissons un script pour faire cela :
publik-create-users
Alternativement vous pouvez utiliser :
#!/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