Installation

Auteur:Étienne Loks
Date:2020-09-23
Copyright:CC-BY 3.0

Ce document présente les instructions d’installation d’Ishtar.

Pour l’instant, elles se limitent à l’installation sous Debian GNU/linux via le paquet Debian.

Un nom de domaine dédié est nécessaire pour chaque instance (une instance Ishtar n’est pas installable dans un sous-répertoire). Par contre un sous-domaine est tout à fait utilisable (par exemple : ishtar.mon-domaine.net).

Note

Sauf mention explicite, chaque commande est exécutée en tant qu’utilisateur root. Les utilisateurs de sudo l’ajouteront à chaque commande faite.

Installation sur poste Debian Buster

Un dépôt a été mis en place pour installer sous Debian Buster. Ce dépôt est signé, pour ajouter la clé du dépôt à votre gestionnaire de paquet, lancez la commande

wget -O - http://deb.iggdrasil.net/contact@iggdrasil.net.gpg.key | apt-key add -

Puis, au choix, ajoutez le dépôt à votre /etc/apt/sources.list

deb http://deb.iggdrasil.net/apt/debian/ buster main
deb-src http://deb.iggdrasil.net/apt/debian/ buster main

Ou sauvegardez le fichier iggdrasil.list dans votre répertoire /etc/apt/sources.list.d/

wget -O - http://deb.iggdrasil.net/apt/debian/dists/buster/iggdrasil.list > /etc/apt/sources.list.d/iggdrasil.list

Ensuite mettez à jour la base de données de votre gestionnaire de paquet et installez le paquet

apt-get update
apt-get install python3-django-ishtar

Deux paquets optionnels peuvent être installés :

  • ishtar-tasks : installe un service de tâche pour gérer en tâche de fond les opérations longues (par exemple les imports). Cette installation est conseillée si vous n’êtes pas juste en ressources serveur.
  • ishtar-libreoffice : installe libreoffice en mode serveur pour faciliter des imports / exports aux formats bureautique. Ce service permettra notamment à terme de gérer les formats Office Open XML de la suite Microsoft Office. Peu utilisé pour le moment, l’installation de ce paquet est tout à fait optionnelle.

Enfin pour créer une nouvelle instance d’Ishtar

ishtar-prepare-instance

Un ensemble de questions vous sera posé afin de déterminer les paramètres qui concernent cette instance.

Note

Le nom de domaine doit bien entendu pointer vers l’adresse IP du serveur. Si à l’issue de l’installation, le service n’est pas joignable, verifiez bien votre configuration DNS ou le cas échéant verifez bien auprès du gestionnaire de nom de domaine que c’est le cas.

Avertissement

En terme de serveur Web, cette première version de l’installateur fonctionne avec la configuration que nous considérons comme la plus optimisée qui est le couple nginx / uwsgi. À terme, l’installateur prendra aussi en compte Apache. Pour l’instant, si vous avez des services tournant sous Apache, plusieurs options se présentent à vous :

  • faire tourner nginx sur un autre port ;
  • faire fonctionner vos autres services avec nginx (je vous laisse découvrir l’abondante documentation en ligne en cherchant « nginx + le nom de mon service ») ;
  • configurer Ishtar pour fonctionner avec Apache (référez vous à la documentation de Django).

L’installateur vous demandera un identifiant / mot de passe pour le compte administrateur. Une fois l’instance préparée une base de données a été crée avec un nom du type ishtar-le_nom_de_mon_instance (ou le nom que vous avez spécifiquement donné), Ishtar est joignable à l’adresse donnée par la variable URL et les données de cette instances sont stockées dans le répertoire /srv/ishtar/le_nom_de_mon_instance.

Initialisation de la base de données

Ishtar dispose de beaucoup de tables de paramétrage permettant d’avoir un logiciel au plus proche de vos besoins. Remplir toutes ces tables est fastidieux, c’est pour cela que des jeux de données de base sont disponibles. Lors de l’installation du paquet, à l’exception des communes (trop lourdes pour être inclues de base), cette initialisation est faite. Si vous avez opté pour cette installation vous pouvez passer tout de suite à l’initialisation des communes.

Initialisation des paramètres de base

Pour charger toutes les données par défaut

ISHTAR_PATH=/srv/ishtar # dépend de votre installation
PROJECT_PATH=$ISHTAR_PATH/mon_instance
cd $PROJECT_PATH
for data in $(find ../ -name "initial_*-fr.json"); do
    ./manage.py loaddata $data
done

Sinon regarder le détail de chaque fichier json et charger individuellement. Exemple

cd $PROJECT_PATH
./manage.py loaddata ../ishtar_common/initial_importtypes-fr.json

Initialisation des communes

Une liste des communes française peut être téléchargée et chargée

cd /tmp
wget "http://ishtar-archeo.net/fixtures/initial_towns-fr.tar.bz2"
tar xvjf initial_towns-fr.tar.bz2

ISHTAR_PATH=/srv/ishtar # dépend de votre installation
                        # ici pour le paquet Debian
PROJECT_PATH=$ISHTAR_PATH/mon_instance
cd $PROJECT_PATH
./manage.py loaddata /tmp/towns_norel-fr.json
./manage.py loaddata /tmp/towns-fr.json
rm /tmp/initial_towns-fr.tar.bz2
rm /tmp/towns-*

Sinon un script est mis à disposition pour charger des communes depuis des données OSM : $ISHTAR_PATH/scripts/import_towns_from_osm.py.

Lisez les instructions contenu dans le fichier pour savoir comment procéder.