diff options
author | Ătienne Loks <etienne.loks@iggdrasil.net> | 2023-06-12 14:48:41 +0200 |
---|---|---|
committer | Ătienne Loks <etienne.loks@iggdrasil.net> | 2023-06-12 15:19:58 +0200 |
commit | 1ad952925395934db4f2e1f974e6435f2f382509 (patch) | |
tree | 9c4e9ea8286e508b5e577894d2e9c6a07c9aa182 /docs/fr | |
parent | b849a09c1f1f8d2b355efb1ed4b27440e617c11d (diff) | |
download | Ishtar-1ad952925395934db4f2e1f974e6435f2f382509.tar.bz2 Ishtar-1ad952925395934db4f2e1f974e6435f2f382509.zip |
đ update installation instruction for version 4
Diffstat (limited to 'docs/fr')
-rw-r--r-- | docs/fr/source/installation.rst | 154 |
1 files changed, 113 insertions, 41 deletions
diff --git a/docs/fr/source/installation.rst b/docs/fr/source/installation.rst index 38b2926c1..39a8d8b02 100644 --- a/docs/fr/source/installation.rst +++ b/docs/fr/source/installation.rst @@ -5,47 +5,46 @@ Installation ============ :Auteur: Ătienne Loks -:Date: 2020-09-23 +:Date: 2023-06-12 :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. +Seule l'installation sous Debian GNU/linux via le paquet Debian est dĂ©crite. Cet environnement est le seul sous lequel un suivi de sĂ©curitĂ© et des dysfonctionnements est assurĂ©, l'installer hors de cet environnement est dĂ©conseillĂ©. 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 ------------------------------------- +Installation sur serveur Debian Bullseye +---------------------------------------- -Un dĂ©pĂŽt a Ă©tĂ© mis en place pour installer sous Debian Buster. +Un dĂ©pĂŽt a Ă©tĂ© mis en place pour installer sous Debian Bullseye. 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 - + wget -O - http://deb.iggdrasil.net/iggdrasil.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 + deb http://deb.iggdrasil.net/apt/debian/ bullseye main + deb-src http://deb.iggdrasil.net/apt/debian/ bullseye 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 + wget -O - http://deb.iggdrasil.net/apt/debian/dists/bullseye/iggdrasil.list > /etc/apt/sources.list.d/iggdrasil.list -.. _iggdrasil.list: http://deb.iggdrasil.net/apt/debian/dists/buster/iggdrasil.list +.. _iggdrasil.list: http://deb.iggdrasil.net/apt/debian/dists/bullseye/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 + apt update + apt 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. - +* **ishtar-libreoffice** : installe libreoffice en mode serveur pour faciliter des imports / exports aux formats bureautique. Il est nĂ©cessaire pour gĂ©nĂ©rer les tableaux depuis les types d'import. Ce paquet dĂ©pends de la version libreoffice-nogui : la couche graphique n'est pas installĂ©e sur le serveur. Enfin pour crĂ©er une nouvelle instance d'Ishtar :: @@ -57,16 +56,16 @@ Un ensemble de questions vous sera posĂ© afin de dĂ©terminer les paramĂštres qui .. 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. .. warning:: - 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 : + En termes de serveur Web, l'installateur fonctionne avec la configuration que nous considĂ©rons comme la plus optimisĂ©e qui est le couple nginx / uwsgi. Si vous avez des services tournant sous Apache ou sous un autre serveur web, plusieurs options se prĂ©sentent Ă vous : - - faire tourner nginx sur un autre port ; + - faire fonctionner 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`_). + - configurer Ishtar pour fonctionner avec votre serveur web (rĂ©fĂ©rez vous Ă la `documentation de Django`_). -.. _`documentation de Django`: https://docs.djangoproject.com/fr/1.11/howto/deployment/wsgi/modwsgi/ +.. _`documentation de Django`: https://docs.djangoproject.com/fr/2.2/howto/deployment/wsgi/ 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. +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 (le nom que vous avez 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 @@ -74,24 +73,8 @@ 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 :: +Lors de l'installation du paquet, Ă l'exception des communes (trop lourdes pour ĂȘtre inclues de base), cette initialisation est faite. - cd $PROJECT_PATH - ./manage.py loaddata ../ishtar_common/initial_importtypes-fr.json Initialisation des communes *************************** @@ -102,18 +85,107 @@ Une liste des communes française peut ĂȘtre tĂ©lĂ©chargĂ©e et chargĂ©e :: 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 + ISHTAR_PATH=/srv/ishtar # rĂ©pertoire par dĂ©faut de l'installation pour le paquet Debian + PROJECT_PATH=$ISHTAR_PATH/le_nom_de_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. +Mise Ă jour +----------- + +Mise Ă jour version 3 (buster) vers la version 4 (bullseye) +*********************************************************** + +Comme lors de toute migration non triviale, il est prĂ©fĂ©rable de faire une sauvegarde de la base de donnĂ©es et des medias associĂ©s juste avant de lancer la mise Ă jour. + +Le changement de version nĂ©cessite prĂ©alablement la mise Ă jour vers la nouvelle version de Debian. + +Pour faciliter cette mise Ă jour, si ceux-ci ont Ă©tĂ© installĂ©s, il est conseillĂ© de purger en amont les paquet `ishtar-libreoffice`, `libreoffice` associĂ©s et `ishtar-tasks`:: + + apt purge ishtar-libreoffice ishtar-tasks libreoffice-* + apt autoremove + + +Ceux-ci pourront ĂȘtre rĂ©installĂ© une fois la mise Ă jour vers bullseye finie. + +Ăteignez les services web et ensuite procĂ©dez Ă la mise Ă jour de Debian selon la documentation Debian officielle (ou votre protocole/vos habitudes). Ne changez pas tout de suite le fichier source list (ou les lignes) correspondant au dĂ©pĂŽt Ishtar. + +Sur cette nouvelle version, la gestion du service rabbitmq et des files associĂ©es n'est plus assurĂ©e via systemd mais via supervisor pour gĂ©rer cette migration supprimez les fichiers de configuration systemd rĂ©siduels :: + + rm -f /etc/systemd/system/rabbitmq-notify-email\@.service + rm -f /etc/systemd/system/rabbitmq-server.service + rm -f /etc/systemd/system/multi-user.target.wants/rabbitmq-server.service + +Ensuite vous pouvez opĂ©rer la migration de la base de donnĂ©es postgresql vers la version 13 :: + + systemctl stop postgresql + pg_dropcluster 13 main + pg_upgradecluster -m dump 11 main # utiliser "dump" pour Ă©viter les complications avec postgis + systemctl start postgresql + + +Mettez Ă jour vers bullseye le dĂ©pĂŽt correspondant Ă Ishtar (a priori dans le fichier `/etc/apt/sources.list.d/iggdrasil.list`) et lancez la mise Ă jour :: + + apt update + apt upgrade + apt dist-upgrade + +Le paquet `python3-weasyprint` empĂȘche parfois la mise Ă jour. Dans ce cas, le supprimer explicitement et relancer le paramĂ©trage :: + + apt remove python3-weasyprint + apt --fix-broken install + +Pour finaliser la mise Ă jour des paquets, supprimer les paquets obsolĂštes :: + + apt autoremove + +Vous pouvez ensuite, le cas Ă©chĂ©ant, rĂ©-installer les paquets `ishtar-libreoffice` et `ishtar-tasks` :: + + apt install ishtar-tasks ishtar-libreoffice + +On peut ensuite passer Ă la migration des donnĂ©es. Attention cette migration peut ĂȘtre longue (plusieurs heures), assurez vous que le processus de migration ne soit pas intĂ©rrompu (lancez le a minimum via un outil comme `screen`). Pour chaque instance dans le rĂ©pertoire `/srv/ishtar/` :: + + cd /srv/ishtar/{le_nom_de_mon_instance} + # mise Ă jour des donnĂ©es par dĂ©faut + ./manage.py loaddata /usr/share/python3-django-ishtar/fixtures/initial_data-auth-fr.json + ./manage.py loaddata /usr/lib/python3/dist-packages/archaeological_files/fixtures/initial_data-fr.json + # migration des donnĂ©es pour la nouvelle gestion gĂ©ographique + ## nombre-de-processus dĂ©pend du processeur et du nombre de fil d'execution disponible + ## plus y en a plus rapide est la conversion mais laissez quand mĂȘme un peu de marge pour nepas rendre + ## la machine inutilisable + ./manage.py migrate_to_geo_v4 --process {nombre-de-processus} + +La migration de systemd vers supervisor n'est pas gĂ©rĂ©e, seule les nouvelles instances ont un fichier supervisor créé Ă l'installation. La suppression des anciennes configuration puis la crĂ©ation des nouvelles se fait ainsi la gestion du service rabbitmq et des files associĂ©es n'est plus assurĂ©e via systemd mais via supervisor pour gĂ©rer cette migration supprimez les fichiers de configuration systemd rĂ©siduels et crĂ©ez les fichiers de configuration pour chaque instance :: + + rm -f /etc/monit/conf-enabled/celery-* + rm -f /etc/systemd/system/celery-* + rm -f /etc/systemd/system/multi-user.target.wants/celery-* + + # pour chaque instance listĂ©e dans /etc/ishtar/instances + editor /etc/supervisor/conf.d/celery_le_nom_de_mon_instance.conf + + [program:celery_le_nom_de_mon_instance] + command=/usr/bin/celery -A le_nom_de_mon_instance worker --loglevel=INFO -c 6 + directory=/srv/ishtar/ + user=www-data + autostart=true + autorestart=true + stdout_logfile=/var/log/celery/le_nom_de_mon_instance.log + redirect_stderr=true + stopasgroup=true + + supervisorctl reread # prise en compte des nouveaux fichiers de configuration + supervisorctl update # mise Ă jour + +La migration est a priori terminĂ©e. En ce qui concerne le paramĂ©trage, il est impĂ©ratif de d'Ă©diter les permissions pour accĂ©der aux donnĂ©es gĂ©ographiques. Ouvrez votre instance sur un navigateur web en admin et rendez-vous ) la page : http(s)://{my-ihstar}/admin/ishtar_common/profiletypesummary/ pour ajouter les permissions nĂ©cessaires. + +Une fois que vous vous ĂȘtes assurĂ© que tout est fonctionnel vous pourrez effacer l'ancien cluster postgresql correspondant Ă la version 11 :: + + pg_dropcluster 11 main .. TODO: |