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 à partir d’une version de Lizmap inférieure à 3.5

Vous devez d’abord migrer vers la version 3.5. Voir documentation de Lizmap 3.5. Ensuite, vous pouvez migrer vers la version 3.7

Mise à jour de la version 3.5 ou 3.6 de Lizmap

Voici comment mettre à jour Lizmap depuis 3.5 ou 3.6

Sauvegarde des données

Sauvegardez vos données et vos fichiers de configuration dans un répertoire (ex : /tmp) avec le script lizmap/install/backup.sh de Lizmap 3.5 ou 3.6.

lizmap/install/backup.sh /tmp

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

  • var/db/jauth.db (s’il existe)

  • var/db/logs.db (s’il existe)

  • var/config/installer.ini.php

  • var/config/liveConfig.ini.php

  • var/config/localframework.ini.php (s’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 :

  • renommer le répertoire lizmap/` en lizmap.bak/ par exemple

  • extraire le répertoire lizmap/ de l’archive, ainsi il devient le nouveau répertoire lizmap/.

  • exécuter le script lizmap/install/restore.sh /tmp ou réinstallez à la main les fichiers que vous aviez sauvegardé.

Note : il n’y a plus de répertoire lib/.

Démarrez l’installeur

Vous devez lancer le configurateur (il mettra à jour des fichiers de configurations), et ensuite l’installateur, qui mettra à jour certaines choses : tables de bases de données, données etc..

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

Nettoyez et testez

Vous devez alors supprimer tous les fichiers de caches et temporaires.

sudo lizmap/install/clean_vartmp.sh

Ensuite vous devez appeler le script qui applique des droits sur les fichiers. Les paramètres sont les noms de l’utilisateur et du groupe utilisé par le serveur web pour exécuter Lizmap. Su un serveur Debian, il s’agit en général de www-data.

sudo lizmap/install/set_rights.sh www-data www-data

Ensuite chargez Lizmap dans votre navigateur, vous devriez voir vos cartes sans erreurs.

Si c’est le cas, vous pouvez supprimer les vieux répertoires lib/ et lizmap.bak/.

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/console.php database:migrateusers
php lizmap/console.php 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.