publik-infra/installation-7.md

5.5 KiB
Raw Blame History

Paramétrage du partage de fichiers

Démarrer les services uniquement après le montage de /srv/nfs

Ajouter pour les services liés à Publik un supplément RequiresMountsFor= à la description du service

Exemple pour Combo :

cat /etc/systemd/system/combo.service.d/wait-for-mnt-data.conf

[Unit]

RequiresMountsFor=/srv/nfs

Faire de même avec :

  • les services systemd-isés qui ont besoin de /srv/nfs : Combo, Fargo, Passerelle.
  • les services bientôt systemd-isés (avant fin 2017, donc prévoir dès maintenant le supplément) : authentic2-multitenant, hobo, hobo-agent, wcs

Mise en place de léquilibrage de la charge

Vue générale

Le principe est de déplacer vers le partage de fichier (NFS) les éléments de configuration de web1 :

  • les répertoires de configuration /etc/xxx des composants Publik, copiés vers /srv/nfs/publik/etc/xxx,
  • les données /var/lib/xxx de ces mêmes composants, copiés vers /srv/nfs/publik/var-lib/xxx,
  • la configuration nginx ; copiés vers /srv/nfs/publik/etc/nginx/xxx et /srv/nfs/publik/var-www/html.

Sur web1 et sur web2, on utilise alors des liens symboliques :

  • Configuration : /etc/xxx/srv/nfs/publik/etc/xxx,
  • Données : /var/lib/xxx/srv/nfs/publik/var-lib/xxx,
  • Configuration nginx.

Détail des opérations

Création des répertoires partagés :

  • configurations: /srv/nfs/publik/etc,
  • données des tenants: /srv/nfs/publik/var-lib/,
  • éléments web (favicon, robots.txt): /srv/nfs/publik/var-www/,

Déplacement des configurations et données des services Publik

  1. Service wcs

    service wcs stop
    mv /etc/wcs /srv/nfs/publik/etc/
    ln -sf /srv/nfs/publik/etc/wcs /etc/wcs
    mv /var/lib/wcs /srv/nfs/publik/var-lib/
    ln -sf /srv/nfs/publik/var-lib/wcs /var/lib/wcs
    service wcs start
    
  2. Service combo

    service combo stop
    mv /etc/combo /srv/nfs/publik/etc/
    ln -sf /srv/nfs/publik/etc/combo /etc/combo
    mv /var/lib/combo /srv/nfs/publik/var-lib/
    ln -sf /srv/nfs/publik/var-lib/combo /var/lib/combo
    service combo start
    
  3. Même procédure avec fargo

  4. Même procédure avec passerelle

  5. Même procédure avec hobo

  6. Même procédure avec authentic2-multitenant

  7. Configuration hobo-agent

    service supervisor stop
    mv /etc/hobo-agent /srv/nfs/publik/etc/
    ln -sf /srv/nfs/publik/etc/hobo-agent /etc
    service supervisor start
    

Autres partages via NFS :

  1. Configurations nginx

    service nginx stop
    mkdir /srv/nfs/publik/etc/nginx
    cd /etc/nginx
    mv conf.d includes sites-available sites-enabled /srv/nfs/publik/etc/nginx/
    ln -sf /srv/nfs/publik/etc/nginx/* .
    service nginx start
    
  2. Éléments web statiques

    cd /var/www
    mv html /srv/nfs/publik/var-www/
    ln -sf /srv/nfs/publik/var-www/html .
    
  3. APT : dépôts et préférences backports

    mkdir /srv/nfs/publik/etc/apt
    cd /etc/apt
    mv sources.list.d preferences.d /srv/nfs/publik/etc/apt/
    ln -sf /srv/nfs/publik/etc/apt/* .
    

Opérations sur web2

Attention : l'UID et le GUID de l'utilisateur "web" doit être identique.

On prépare les répertoires de configuration et de données des composants Publik avant leur installation :

  1. Service wcs

    ln -sf /srv/nfs/publik/etc/wcs /etc/wcs
    ln -sf /srv/nfs/publik/var-lib/wcs /var/lib/wcs
    
  2. Service combo

    ln -sf /srv/nfs/publik/etc/combo /etc/combo
    ln -sf /srv/nfs/publik/var-lib/combo /var/lib/combo
    
  3. Même procédure avec fargo

  4. Même procédure avec passerelle

  5. Même procédure avec hobo

  6. Même procédure avec authentic2-multitenant

  7. Configuration hobo-agent

    ln -sf /srv/nfs/publik/etc/hobo-agent /etc/hobo-agent
    

On utilise aussi les autres configurations partagées via NFS :

  1. Configurations nginx

    service nginx stop
    cd /etc/nginx
    rm -rf conf.d includes sites-available sites-enabled
    ln -sf /srv/nfs/publik/etc/nginx/* .
    service nginx start
    
  2. Éléments web statiques

    cd /var/www
    rm -rf html
    ln -sf /srv/nfs/publik/var-www/html .
    
  3. APT : dépôts et préférences backports

    cd /etc/apt
    rm -rf sources.list.d preferences.d
    ln -sf /srv/nfs/publik/etc/apt/* .
    

On peut alors lancer l'installation des composants packagés. Attention, lors de cette étape, toujours refuser les éventuelles demandes de modification des fichiers de configuration (on utilise ceux partagés par NFS) :

apt install wcs wcs-au-quotidien
apt install combo
apt install fargo
apt install passerelle
apt install hobo
apt install authentic2-multitenant
apt install hobo-agent

Nous comparons la liste des paquets installés entre web1 et web2 (obtenue avec dpkg -l), et installons les paquets suivants :

  • python-authentic2-auth-fc,
  • python-combo-plugin-macollectivite,
  • publik-base-theme,
  • gettext

Désactivation des crons Publik sur web2

Il est très important de désactiver les crons de Publik sur web2, pour ne pas avoir de compétition/conflit avec ceux déjà en place sur web1, puisqu'ils agissent sur les mêmes données.

Il faut donc poser des # devant les lignes des crons suivants :

  • /etc/cron.d/wcs,
  • /etc/cron.d/authentic2-multitenant,
  • /etc/cron.d/passerelle,
  • /etc/cron.hourly/python-combo,
  • /etc/cron.hourly/fargo.