Passer au contenu principal

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 site-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/html/archimage_26.5/Archimage2/www/
	<Directory /var/www/html/archimage_26.5/Archimage2/www/>
        AllowOverride All
        require all granted
		LimitRequestBody 40048576000
	</Directory>

    RewriteEngine on
    
    ### /iiif/id_document/info.json
    #RewriteRule ^/iiif/([^/]+)/info\.json$ /action.php?kroute=iiif_json_public&id=$1 [L]

    ### /iiif/id_document/full/800,/0/default.jpg
    #RewriteRule ^/iiif/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/.]+)\.([^/]+)$ /index.php?kroute=image_request_iiif&id=$1&region=$2&size=$3&rotation=$4&quality=$5&format=$6 [L]

    #### /iiif/id_document
    #RewriteRule ^/iiif/([0-9]+)$ /action.php?kroute=iiif_json_public&id=$1 [L]

   

	ErrorDocument 404 /index.php

	# Possible values include: debug, info, notice, warn, error, crit,
	LogLevel warn
	
</VirtualHost>

 

Non recommandé : Utiliser seulement Apache2 et donc 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.5/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 site-archimage.com;

    index index.php;


    # Haerdenning
    server_tokens off;
    etag off;
   
    root /var/www/html/archimage_26.5/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    ^/iiif/(.*)/info.json$  "https://archimage.com/action.php?kroute=iiif_json_public&id=$1";
#rewrite ^/iiif/(.*)/(.*)/(.*)/(.*)/(.*)\.(.*)?$ https://archimage.com/index.php?kroute=image_request_iiif&id=$1&region=$2&size=$3&rotation=$4&quality=$5&format=$6;
#rewrite    ^/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