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érer les fichiers de Lizmap (en téléchargeant une archive ZIP ou en faisant un git clone/pull)

Vous devriez

  • 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.

Then you can launch these scripts which will migrate the data.

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

If there are no errors, you can then go onto lizmap with your browser, and check that you can authenticate yourself. You should see also the list of users into the administration panel. If this is the case, you can backup files jauth.db and logs.db and you can delete them.

If something goes wrong and you cannot fix the issue, revert the database access into lizmap/var/config/profiles.ini.php as before, like this :

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

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

And Lizmap should work well, but still with Sqlite.