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)
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 :
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