Installation du serveur web
Vous pouvez installer le serveur de votre choix néanmoins seul Apache2 et NginX ont été correctement testé.
Préambule : Télécharger le zip contenant les sources de l'application.
Apache 2
sudo apt install apache2
Nous vous invitons également à installer les modules suivants
sudo a2enmod ssl
sudo a2enmod rewrite
sudo a2enmod headers
Configurer le host de apache en fonction du dossier d'installation :
*Faites pointer le dossier sur le répertoire /var/www/archimage.26.5/Archimage2/www/
sudo nano /etc/apache2/sites-available/000-default.conf
Exemple de fichier de conf Apache2 :
<VirtualHost *:443>
ServerName archimage.com
ServerAdmin admin@archimage.com
ErrorLog ${APACHE_LOG_DIR}/archimage-error.log
CustomLog ${APACHE_LOG_DIR}/archimage-acces.log combined
# ALOWW CORS
<IfModule mod_headers.c>
Header always unset Access-Control-Allow-Origin
Header add Access-Control-Allow-Origin "*"
</IfModule>
DocumentRoot /var/www/archimage/Archimage2/www/
<Directory /var/www/archimage/Archimage2/www/>
AllowOverride All
require all granted
LimitRequestBody 40048576000
</Directory>
RewriteEngine on
RewriteRule ^/image_request_iiif/([^/]+)/info\.json$ /action.php?kroute=iiif_json_public&id=$1 [R=302,L]
RewriteRule ^/image_request_iiif/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/.]+)\.([^/]+)$ /index.php?kroute=image_request_iiif&id=$1®ion=$2&size=$3&rotation=$4&quality=$5&format=$6 [R=302,L]
RewriteRule ^/image_request_iiif/([0-9]+)$ /action.php?kroute=iiif_json_public&id=$1 [R=302,L]
ErrorDocument 404 /index.php
# Possible values include: debug, info, notice, warn, error, crit,
LogLevel warn
</VirtualHost>
Non recommandé : Rajouter le module Apache PHP
sudo apt install libapache2-mod-php
puis le recharger :
sudo systemctl reload apache2
Recommandé rajouter PHP-FPM
sudo apt install php8.5-fpm
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.5-fpm
*si vous avez déjà activé Apache2 :
sudo a2dismod php8.5
Puis relancer les services :
sudo systemctl restart php8.5-fpm
sudo systemctl restart apache2
NginX
sudo apt install nginx -y
sudo apt install php8.5-fpm
Modifier les fichiers par défaut :
sudo nano /etc/php/8.4/fpm/pool.d/www.conf
sudo nano /etc/nginx/sites-available/default
Un fichier d'exemple de cpnfiguration Nginx :
server {
listen 443 ssl;
server_name archimage.com;
index index.php;
# Haerdenning
server_tokens off;
etag off;
root /var/www/archimage/Archimage2/www;
location / {
try_files $uri $uri/ =404;
}
# pass PHP scripts on Nginx to FastCGI (PHP-FPM) server
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# Nginx php-fpm sock config:
fastcgi_pass unix:/run/php/php8.5-fpm.sock;
# Nginx php-cgi config :
# Nginx PHP fastcgi_pass 127.0.0.1:9000;
}
# IIIF REWRITES
rewrite ^/image_request_iiif/(.*)/info.json$ "https://archimage.com/action.php?kroute=iiif_json_public&id=$1";
rewrite ^/image_request_iiif/(.*)/(.*)/(.*)/(.*)/(.*)\.(.*)?$ https://archimage.com/index.php?kroute=image_request_iiif&id=$1®ion=$2&size=$3&rotation=$4&quality=$5&format=$6;
rewrite ^/image_request_iiif/([0-9]+)$ "https://archimage.com/action.php?kroute=iiif_json_public&id=$1";
# deny access to Apache .htaccess on Nginx with PHP,
# if Apache and Nginx document roots concur
location ~ /\.ht {
deny all;
}
# return 404;
}
puis le recharger :
sudo nginx -t
sudo systemctl reload nginx