Prérequis d’infrastructure

Machine hôte

Les ressources nécessaires varient en fonction de la quantité de données à traiter. Une installation de développement peut aisément tenir sur une machine virtuelle.

Par exemple, voici les ressources d’une machine applicative standard :

  • CPU 4 cœurs
  • 16 Go de mémoire vive
  • 200 Go d’espace disque
  • Debian stable (ou old-stable) installé en architecture amd64 (installation minimale)

La brique w.c.s. (formulaires) doit disposer d’un volume plus important pour gérer les documents des usagers. Ceux-ci sont stockés sur le système de fichier, son volume est donc à évaluer en fonction de l’usage prévu.

Réseau

On ne traite que du cas ou tous les services sont sur un seul serveur. Les ports réseaux suivants doivent être ouverts, sans filtre (très important !) et sans proxy:

  • en entrée :
    • SSH (22/tcp)
    • HTTPS (443/tcp)
  • en sortie :
    • SMTP (25/tcp)
    • DNS (53/udp et 53/tcp)
    • HTTPS (443/tcp)
    • LDAP (389/tcp et 636/TCP)

Certificat X509

Publik utilise le protocole de transport chiffré HTTPS.

Un ou plusieurs certificats x509 valides et reconnus sont requis ; ceux-ci doivent couvrir tous les noms des briques qui seront installées. Pratiquement un certificat wildcard suffit généralement (un certificat wildcard couvrant *.eservices.macollectivite.fr et eservices.collectivite.fr). L’utilisation de certificats Let's Encrypt est possible et encouragée.

Résolution de noms

Avant l’installation de Publik, il faut vérifier que les enregistrements DNS sont fonctionnels ; Publik nécessite autant de domaines que de composants.

Typiquement :

  • portail usager (composant combo) : eservices.macollectivite.fr,
  • portail agents (composant combo) : agents.eservices.macollectivite.fr,
  • démarches (composant wcs/wcs-au-quotidien) : demarches.eservices.macollectivite.fr,
  • fournisseur d’identités (composant authentic) : connexion.eservices.macollectivite.fr,
  • hub de webservice (composant passerelle) : passerelle.eservices.macollectivite.fr,
  • gestion de rendez-vous et évènements (composant chrono) : agenda.eservices.macollectivite.fr,
  • gestion de tarification et facturation (composant lingo) : paiement.eservices.macollectivite.fr

Par exemple, voici à quoi pourraient ressembler les entrées d’un serveur Bind:

publik         A     a.b.c.d   ; addresse IP de «publik»
hobo           CNAME publik    ; système de déploiement (brique : hobo)
portail        CNAME publik    ; portail usage (brique : combo)
backoffice     CNAME publik    ; portail agent (brique : combo)
connexion      CNAME publik    ; fournisseur d'identités (brique : authentic)
demarches      CNAME publik    ; téléservices (brique : wcs)
passerelle     CNAME publik    ; hub de webservices (brique : passerelle)
agenda         CNAME publik    ; gestion des événements et agenda (brique : chrono)
paiement       CNAME publik    ; gestion des tarifs et facture (brique : lingo)


Toutes ces entrées DNS doivent pointer vers le proxy de répartition de charge (dans le cas d’une installation avec répartition de charge).

Par ailleurs, les serveurs applicatifs doivent impérativement avoir un fichier /etc/hosts consistant.

Horloges synchronisées

Il est indispensable que les machines soient exactement à la même heure. Les systèmes récents utilisent systemd-timesyncd par défaut. Ntp est également possible.

Envois des emails

Les serveurs applicatifs doivent disposer d’un MTA local (par exemple exim4-daemon-light) avec le port SMTP ouvert et capable d’expédier des mails vers tout Internet, en passant éventuellement par un relais. Les mails seront envoyés avec le domaine « @eservices.macollectivite.fr ». Nous recommandons vivement de les relayer via un smarthost officiel de votre réseau.

Pour davantage de détails sur l’envoi de courriel, se référer à https://dev.entrouvert.org/projects/publik/wiki/Envois_de_courriels .

Configuration de la localisation

Sur toutes les machines, il est nécessaire de reconfigurer la locale utilisée par défaut pour utiliser fr_FR.UTF-8:

dpkg-reconfigure locales