Wisemapping

Installation de quelques outils dont on a besoin

sudo apt install jetty9 maven git nodejs npm

Récupération des sources

git clone https://bitbucket.org/wisemapping/wisemapping-open-source.git

Configuration et compilation

cd wisemapping-open-source
# On configure
vi wise-webapp/src/main/webapp/WEB-INF/app.properties
mvn package

Pour virer les appels à Google analytics, après la compilation :

for i in $(grep -Rcl google-analytics)
do
    sed -i -e "s@https://www\.google-analytics\.com/analytics\(_debug\)\?\.js@@g" $i
done
mvn package

Pour créer et initialiser la base de données, regarder dans config/database/, modifier les fichiers (parce que le mot de passe password, c’est très bof, et ça force le nom de la base de données utilisée) et exécuter le SQL.

Installation dans Jetty

cp -a wise-webapp/target/wisemapping.war /usr/share/jetty9/webapps/root.war
chown jetty: /usr/share/jetty9/webapps/root.war
systemctl restart jetty9.service

Jetty devrait écouter de base sur http://127.0.0.1:8080 (il me semble), y a plus qu’à mettre un nginx devant avec, pour l’essentiel :

    location / {
        include proxy_params;
        proxy_pass  http://127.0.0.1:8080;
    }

Pour que Jetty prenne en compte les en-têtes X-Forwarded envoyés par Nginx (configurés dans /etc/nginx/proxy_params), il faut ajouter http-forwarded à la liste des modules de Jetty, dans /etc/jetty9/start.ini. Par exemple, il faut passer de

--module=deploy,http,jsp,jstl,websocket,ext,resources

à

--module=deploy,http,jsp,jstl,websocket,ext,resources,http-forwarded

et redémarrer Jetty :

systemctl restart jetty9.service

Cela permet à Jetty de rediriger vers la bonne adresse (sans ça, à la connexion, il renvoie vers la version non-sécurisée (http) du site quand bien même on a pris soin de mettre en place du https.