Installation - airpaca/CIGALE GitHub Wiki

Prérequis serveur

  • Serveur web (apache ou nginx)
  • php (5 ou 7)
  • Serveur cartographique (Geoserver)
  • Serveur PostgreSQL avec PostGIS
  • FastCGI

Prérequis base de données

Utiliser le script sql/prod2dev.sh pour exporter les données depuis la base inventaire vers le serveur de bases de données hébergeant l'application. Bien penser à configurer les variables.

Téléchargement du code

Cloner ou télécharger le répertoire CIGALE sur le serveur.

Création des fichiers de configuration

Pour faire fonctionner l'application, il est nécessaire de créer les fichiers de configuration suivants à la racine du dossier CIGALE et de les configurer en remplaçant les valeurs entre crochets:

config.js

// Configuration file for sensitive params only.
// All paths must contain the trailing "/".
// All params names must start with cfg_*

// Geoserver Host
cfg_host = "http://[myhost]/geoserver"; // Geoserver host without trailing /

// Inventaire
cfg_vinv = "[...]"; // Version d'inventaire
cfg_anmax = "[...]"; // Année max de l'inventaire émissions et consommations
cfg_anmax_prod = "[...]"; // Année max de l'inventaire productions
cfg_ans_film = [[...], [...], ...]; // Année du film de l'inventaire sans les années non calculées

config.php

<?php
$pg_host = "[...]"; // host bdd pgsql
$pg_bdd = "[...]"; // database bdd pgsql
$pg_lgn = "[...]"; // login bdd pgsql 
$pg_pwd = "[...]"; // pwd bdd pgsql
$v_inv = "[...]"; // Version d'inventaire
?>

config.sh

#!/bin/bash

# Geoserver access config
gs_url="http://[...]/geoserver" # Geoserver Host url
gs_usr="[...]" # Geoserver user
gs_pwd="[...]" # Geoserver Password

# Database access config
ds_host="[...]" # Database host ip
ds_port="[...]" # Database host port
ds_database="[...]" # Database name
ds_usr="[...]" # Database user
ds_pwd="[...]" # Database pwd

Publication des couches sous Geoserver

Le script geoserver/pub_cigale2geoserver.sh permet de publier les tables nécessaires depuis la bdd PostgreSQL vers Geoserver avec les bons noms de workspace, datastore et couches. Ces noms sont ensuite utilisés en dur dans le code de l'appli.

Configuration du serveur web

Configurer le site pour le rendre accessible.

Exemple avec le fichier conf de nginx:

        [...]
        # -- CIGALE
        location /cigale {
            alias  /path/to/app/CIGALE;
            index  index.php;

            # Si login nécessaire
            # auth_basic "Login";
            # auth_basic_user_file /opt/nginx/.htpasswd;  
            
            location ~ \.php$ {             
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME $request_filename;  
                include        fastcgi_params;             
            }            
          
        }
        [...]