Ceci est une ancienne révision du document !
Installer GeoNature DB
- Préalable : il est nécessaire d'avoir installé GeoNature sur le serveur web-srv et copié l'installation de GeoNature sur le serveur db-srv.
- Se placer dans le dossier install/ :
cd /home/geonat/www/geonature/install/
- Lancer le script d'installation de la base de données :
./install_db.sh
- Si le script indique que la base de données existe déjà et que vous souhaitez l'installer ou la réinitialiser :
- ATTENTION : cette manipulation efface tout le contenu de la base ! * Éditer le fichier settings.ini avec :
vi ../config/settings.ini
* Modifier le paramètre suivant :drop_apps_db=true
* Relancer le script d'installation de la base de données * ATTENTION : une fois terminé, repasser le paramètredrop_apps_db
du fichier settings.ini àfalse
. ===== Installer le schéma du module "OccTax" ===== * Notes : c'est la commande geonature qui lance l'installation des modules du cœur de GeoNature. Or, cette commande est lancée par le script install_app.sh qui est lancé côté instance web-srv. Nous devons donc installer manuellement le schéma du module côté instance db-srv. * Se connecter à l'instance db-srv en tant que geonat :ssh geonat@db-<region>-sinp
* Se placer dans le dossier du module :cd ~/www/geonature/contrib/occtax/
* Lancer l'installation du schéma du module :./install_db.sh
===== Erreurs ===== === (psycopg2.errors.DatetimeFieldOverflow) date/time field value out of range: "19/02/2020 00:00:00" === * Problème : saisie d'observation dans OccTax ne fonctionne pas. * Origine : cela provient d'une commande de modification du fichier /etc/postgresql/*/main/postgresql.conf présente dans le script install_all.sh de GeoNature avant la version 2.3.1 (au delà, la commande a été transférée dans le script install_db.sh). Notre installation n'utilisant pas ce script n'a pas la modification correspondante. * Solution : * Se connecter sur l'instance db-srv :ssh admin@db-<region>-sinp
* Éditer le fichier suivant :vi /etc/postgresql/11/main/postgresql.conf
* Modifier la propriété datestyle comme suit : <code ini>datestyle = 'iso, dmy'</code> * Redémarrer le service :systemctl restart postgresql
* Redémarrer vos sessions de connexion à la base de données * Vérifier la prise en compte du changement avec la requête SQL : <code sql>SHOW datestyle;</code> === sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) terminating connection due to administrator command === * Message erreur côté navigateur : <code>Blocage d’une requête multiorigines (Cross-Origin Request) … sur https://taxhub.silene.eu/api/…. Raison : l’en-tête CORS « Access-Control-Allow-Origin » est manquant.</code> * Problème : impossible de faire apparaître la liste des taxons d'autocomplétion dans OccTax. * Origine : lorsqu'on redémarre Postgresql alors que Taxhub est entrain d’exécuter une requête, le driver Python psycopg2 remonte une erreur. * Solution** : redémarre le service Taxhub avec la commandesupervisorctl restart taxhub
. De manière générale, redémarrer les services de GeoNature après un redémarrage de Postgresql est une bonne pratique.