Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)

Installation et configuration de IIPImage avec lighttpd (eole3)

De AJLSM
(diff) ← Version précédente | Version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

Installation et configuration de IIPImage avec lighttpd (eole3)

[modifier | modifier le wikicode]

Installation des paquets

[modifier | modifier le wikicode]

Les paquets nécessaires sont disponibles directement via les dépôts Ubuntu.

apt update
apt install lighttpd iipimage-server

Remarque importante

[modifier | modifier le wikicode]

Le paquet iipimage-server installe un service systemd iipsrv.service. Cependant, dans l’architecture utilisée sur eole3 (comme sur eole2), ce service n’est pas utilisé.

IIPImage est exécuté via lighttpd et mod_fastcgi.

Il est donc recommandé de désactiver le service :

systemctl disable --now iipsrv

Activation du module FastCGI

[modifier | modifier le wikicode]
lighty-enable-mod fastcgi

Configuration de IIPImage dans lighttpd

[modifier | modifier le wikicode]

Créer le fichier de configuration :

cat > /etc/lighttpd/conf-available/20-iipsrv.conf <<'EOF'
fastcgi.server = ( "/fcgi-bin/iipsrv.fcgi" =>
  (( "host" => "127.0.0.1",
     "port" => 9000,
     "check-local" => "disable",
     "min-procs" => 1,
     "max-procs" => 1,
     "bin-path" => "/usr/lib/iipimage-server/iipsrv.fcgi",
     "bin-environment" => (
        "LOGFILE" => "/var/log/iipsrv-lighttpd.log",
        "VERBOSITY" => "3",
        "MAX_IMAGE_CACHE_SIZE" => "5000",
        "FILENAME_PATTERN" => "_pyr_",
        "JPEG_QUALITY" => "90",
        "MAX_CVT" => "50000"
      )
  ))
)
EOF

Activer la configuration :

lighty-enable-mod iipsrv

Configuration du port lighttpd

[modifier | modifier le wikicode]

Par défaut, lighttpd écoute sur le port 80. Sur eole3, il est configuré pour écouter sur le port 9001 :

sed -i 's/^[[:space:]]*server\.port[[:space:]]*=.*/server.port = 9001/' /etc/lighttpd/lighttpd.conf

Vérification et redémarrage

[modifier | modifier le wikicode]

Vérifier la configuration :

lighttpd -tt -f /etc/lighttpd/lighttpd.conf

Redémarrer le service :

systemctl restart lighttpd

Vérification du fonctionnement

[modifier | modifier le wikicode]

Vérifier les ports :

ss -ltnp | egrep '9000|9001'

Résultat attendu :

  • lighttpd écoute sur 0.0.0.0:9001
  • iipsrv.fcgi écoute sur 127.0.0.1:9000

Test local :

curl http://127.0.0.1:9001/fcgi-bin/iipsrv.fcgi

Une page HTML indiquant la version de IIPImage doit être retournée.

Architecture retenue

[modifier | modifier le wikicode]

Sur eole3, le fonctionnement est le suivant :

  • lighttpd écoute sur le port 9001
  • les requêtes /fcgi-bin/iipsrv.fcgi sont transmises en FastCGI
  • iipsrv.fcgi est exécuté localement sur 127.0.0.1:9000

Le service systemd iipsrv.service n’est pas utilisé.

Test fonctionnel avec image (IIIF)

[modifier | modifier le wikicode]

Un test complet peut être réalisé via une requête IIIF sur une image présente sur le serveur.

Exemple :

curl "http://127.0.0.1:9001/fcgi-bin/iipsrv.fcgi?IIIF=/var/data/pleade.com-data/data/images-preparees/hidef/SS_Y_445/SHDMV__MV_SS_Y_445__0001__T.JPG.tif/full/400,/0/default.jpg"

Résultat attendu :

Warning: Binary output can mess up your terminal.

Ce message est normal : le serveur retourne une image binaire (JPEG).

Pour vérifier correctement le résultat, enregistrer l’image :

curl -o test.jpg "http://127.0.0.1:9001/fcgi-bin/iipsrv.fcgi?IIIF=/var/data/pleade.com-data/data/images-preparees/hidef/SS_Y_445/SHDMV__MV_SS_Y_445__0001__T.JPG.tif/full/400,/0/default.jpg"

Vérifier le type du fichier :

file test.jpg

Résultat attendu :

test.jpg: JPEG image data ... 400x300 ...

Vérifier la taille :

ls -lh test.jpg

Exemple :

-rw-r--r-- 1 root root 25K ...

Exemple avec un navigateur :

http://51.178.110.230:9001/fcgi-bin/iipsrv.fcgi?IIIF=/var/data/pleade.com-data/data/images-preparees/hidef/SS_Y_445/SHDMV__MV_SS_Y_445__0001__T.JPG.tif/full/400,/0/default.jpg

Conclusion du test

[modifier | modifier le wikicode]

Si ces tests sont concluants :

  • IIPImage est correctement installé
  • l’interface FastCGI fonctionne
  • lighttpd est correctement configuré
  • l’accès aux fichiers images est opérationnel
  • le service IIIF est fonctionnel

La chaîne complète de traitement est validée.

Problèmes et solutions : iipimageserver et Cockpit

[modifier | modifier le wikicode]

Voir aussi : Mise_en_place_de_Cocckpit_et_du_module_cockpit-zfs

Dans notre configuration, iipsrv n'est pas utilisé via le service systemd iipsrv.service, mais directement piloté par lighttpd.

Par défaut, Cockpit signale ce service comme en erreur s’il n’est pas démarré.

Pour éviter cette alerte inutile, on masque explicitement le service :

systemctl disable iipsrv.service
systemctl mask iipsrv.service
systemctl reset-failed iipsrv.service

Résultat :

  • le service ne peut plus être démarré par erreur
  • il n’apparaît plus en échec dans Cockpit