Mettre à jour Lizmap Web Client

Mettre à jour depuis Lizmap 2.x

Voir documentation de Lizmap 3.1 <https://docs.lizmap.com/3.1/en/install/upgrade.html> _.

Mettre à jour depuis une version Lizmap 3.x

Depuis la version 3.0 et supérieur, voici comment faire la mise à jour

Sauvegarde des données

Sauvegardez vos données dans un répertoire (ex : /tmp) avec le script lizmap/install/backup.sh, afin que vous puissiez les réinstaller si l’installation échoue.

lizmap/install/backup.sh /tmp

Si vous voulez sauvegarder manuellement, vous devriez sauvegarder au moins ces fichiers :

  • var/db/jauth.db

  • var/db/logs.db

  • var/config/installer.ini.php

  • var/config/liveConfig.ini.php (si il existe)

  • var/config/lizmapConfig.ini.php

  • var/config/localconfig.ini.php

  • var/config/profiles.ini.php

Remplacer les fichiers lizmap

Récupérez l’archive de Lizmap en téléchargeant depuis la page release de Github.

Vous devez alors :

  • remplacez le répertoire lib/ par le nouveau répertoire lib/

  • remplacez les fichiers dans le répertoire lizmap/ par les nouveaux fichiers dans lizmap/

  • Si le remplacement a effacé des fichiers que vous avez sauvegardé, restaurez-les avec « lizmap/install/restore.sh /tmp »

Démarrez l’installeur

Vous devez lancer le programme d’installation, il mettra à jour certaines choses: tables de base de données, configuration, etc.

sudo lizmap/install/clean_vartmp.sh
php lizmap/install/installer.php
sudo lizmap/install/clean_vartmp.sh

Note

Si vous réalisez une mise à jour de 3.0 ou 3.1 vers Lizmap 3.2/3.3, et si vous utilisez l’authentification ldap avec le module ldpadao, vous devez savoir que ce module est inclus dans Lizmap 3.2/3.3 et est pré-configuré. Donc, avant de lancer l’installation, vous devez supprimer le module ldapdao que vous avez installé, et vous devez configurer le module ldapdao d’une manière légèrement différente que lorsque vous l’installez manuellement. Regardez la section de configuration du ldap dans ce manuel.

Supprimer les fichiers temporaires de Jelix

rm -rf /var/www/$MYAPP-$VERSION/temp/lizmap/*

Redéfinir les droits sur les fichiers de l’application

cd /var/www/$MYAPP-$VERSION
chown :www-data temp/ lizmap/var/ lizmap/www lizmap/install/qgis/edition/ -R
chmod 775 temp/ lizmap/var/ lizmap/www lizmap/install/qgis/edition/ -R

Migration de Sqlite vers Postgresql

Vous pourriez avoir installé Lizmap avec Sqlite. Vous devriez alors avoir ces fichiers lizmap/var/db/jauth.db et lizmap/var/db/logs.db, où sont stockés des données comme les utilisateurs, les permissions, les journaux. Et vous devriez avoir cette configuration dans lizmap/var/config/profiles.ini.php :

[jdb:jauth]
driver=sqlite3
database="var:db/jauth.db"

[jdb:lizlog]
driver=sqlite3
database="var:db/logs.db"

Si vous avez une telle configuration, vous pouvez migrer les données vers une base Postgresql.

Tout d’abord, créez une base de données Postgresql, et ensuite changez la configuration dans lizmap/var/config/profiles.ini.php, en mettant les paramètres d’accès à la base Postgresql. Il est recommandé de créer un schéma dans la base, par exemple « lizmap », si elle contient déjà des tables.

Voici un exemple :

[jdb:jauth]
driver=pgsql
host=localhost
port=5432
database="your_database"
user=my_login
password=my_password
search_path=lizmap,public

[jdb:lizlog]
driver=pgsql
host=localhost
port=5432
database="your_database"
user=my_login
password=my_password
search_path=lizmap,public

Voir le chapitre sur l’installation pour en savoir plus sur ces paramètres.

Puis vous pouvez lancer ces scripts qui migrerons les données.

php lizmap/scripts/script.php lizmap~database:migrateusers
php lizmap/scripts/script.php lizmap~database:migratelog

Si il n’y a pas d’erreurs, vous pouvez aller dans Lizmap avec votre navigateur, et vérifier que vous pouvez vous authentifier. Vous devriez voir également la liste des utilisateurs dans le panneau d’administration. Si c’est le cas, vous pouvez sauvegarder les fichier jauth.db et logs.db et les supprimer.

Si quelque chose ne va pas et que vous ne pouvez corriger le problème, remettez les accès à la base dans lizmap/var/config/profiles.ini.php  comme avant, comme ceci :

[jdb:jauth]
driver=sqlite3
database="var:db/jauth.db"

[jdb:lizlog]
driver=sqlite3
database="var:db/logs.db"

Et Lizmap devrait de nouveau fonctionner, mais toujours avec Sqlite.