Installation de QGIS Server et Lizmap sur la machine virtuelle

Liens utiles

Installation QGIS Server LTR

Cf. https://qgis.org/en/site/forusers/alldownloads.html#debian-ubuntu pour l'installer des paquets QGIS LTR sur Debian et Ubuntu

wget -qO - https://qgis.org/downloads/qgis-2020.gpg.key | sudo gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/qgis-archive.gpg --import
sudo chmod a+r /etc/apt/trusted.gpg.d/qgis-archive.gpg
sudo add-apt-repository "deb https://qgis.org/ubuntu-ltr `lsb_release -c -s` main"
sudo apt update
sudo apt install qgis-server python-qgis

Pour essayer l'installation, il est possible de lancer l'exécutable depuis un terminal :

/usr/lib/cgi-bin/qgis_mapserv.fcgi

Installation Apache2 et module FastCGI

sudo apt install libapache2-mod-fcgid
sudo a2enmod cgid
sudo systemctl restart apache2

Remarquer la directive ScriptAlias /cgi-bin/ dans /etc/apache2/conf-enabled/serve-cgi-bin.conf :

<IfModule mod_alias.c>
    <IfModule mod_cgi.c>
        Define ENABLE_USR_LIB_CGI_BIN
    </IfModule>
    <IfModule mod_cgid.c>
        Define ENABLE_USR_LIB_CGI_BIN
    </IfModule>
    <IfDefine ENABLE_USR_LIB_CGI_BIN>
        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Require all granted
        </Directory>
    </IfDefine>
</IfModule>

Pour tester, allez dans le navigateur et tapez l'adresse : http://localhost/cgi-bin/qgis_mapserv.fcgi?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities

Voir aussi https://docs.qgis.org/3.16/fr/docs/server_manual/getting_started.html#installation-on-debian-based-systems

Installation de PHP7 et PHP-FPM

sudo install php7.4-fpm
sudo apt install curl php-sqlite3 php-gd php-xml php-curl
sudo apt install php-pgsql
sudo apache2ctl configtest
sudo systemctl restart apache2

Installation du client web Lizmap (3.3)

Installation du client web

Télécharger et dézipper le client web Lizmap : https://github.com/3liz/lizmap-web-client/releases (dernière release stable : 3.3.13, à la date du 28/02/2020)

Le copier dans /var/www/

unzip lizmap-web-client-3.3.13.zip
sudo cp -r lizmap-web-client-3.3.13 /var/www/lizmap-web-client

Copier les fichiers de configuration et lancer l'installation

cd /var/www/lizmap-web-client/lizmap/var/config
sudo cp lizmapConfig.ini.php.dist lizmapConfig.ini.php
sudo cp localconfig.ini.php.dist localconfig.ini.php
sudo cp profiles.ini.php.dist profiles.ini.php
cd /var/www/lizmap-web-client
sudo lizmap/install/set_rights.sh www-data www-data
sudo php lizmap/install/installer.php

Création d'1 hôte virtuel

Créer un hôte virtuel sur lizmap.localhost pour la machine virtuelle de TP

Modifier la 1ère ligne du fichier /etc/hosts :

# Host addresses
127.0.0.1  localhost lizmap.localhost

Créer un nouveau fichier /etc/apache2/sites-avalaible/lizmap.conf :

<VirtualHost *:80>
        ServerName lizmap.localhost
        DocumentRoot /var/www/lizmap-web-client/lizmap/www
        <Directory /var/www/lizmap-web-client>
                AllowOverride All
                Require all granted
        </Directory>
        ErrorLog ${APACHE_LOG_DIR}/error_lizmap.log
        CustomLog ${APACHE_LOG_DIR}/access_lizmap.log combined
        #Include conf-available/serve-cgi-bin.conf
</VirtualHost>

Activer le site et redémarrer apache :

sudo a2ensite lizmap.conf
sudo systemctl restart apache2

Vous pouvez maintenant vous rendre sur le site http://lizmap.localhost/

Se connecter à l'interface d'administration avec admin / admin, puis relancer la définition des droits dans un terminal :

cd /var/www/lizmap-web-client
sudo lizmap/install/set_rights.sh www-data www-data

Changer le mot de passe en : admin / anf2020

Données de test dans Lizmap

Nous créons 2 répertoires qui contiendra les cartes Lizmap. Le premier public sera accessible à tous, y compris les utilisateurs anonymes. Le second prive ne sera accessible qu'aux administrateurs et utilisateurs authentifiés.

cd ~
sudo mkdir -p data/mon_travail/3_lizmap/public
sudo mkdir -p data/mon_travail/3_lizmap/prive

Puis nous copions dans public le projet QGIS qui servira à tester le bon fonctionnement Lizmap (sur la machine virtuelle, les fichiers : fra_physical.qgs et fra_physical.qgs.cfg).

Configuration des données de test dans Lizmap

Aller sur le site http://lizmap.localhost/

Se connecter en tant qu'admin (rappel : mdp = anf2020)

Aller dans Administration > Lizmap configuration

Créer un nouveau repository (= un répertoire où sont enregistrés des projets QGIS configurés pour Lizmap) avec comme caractéristiques :

  • Id = public
  • Label = ANF SIST Géomatique 2020
  • Local folder path = /home/sist/data/mon_travail/3_lizmap/public
  • View project in this repo = anonymous, admins, users

Nouveau repository

Création d'un lien symbolique pour le TP Leaflet

mkdir -p data/mon_travail/3_leaflet
cd /var/www/html
sudo ln -s /home/sist/data/mon_travail/3_leaflet 3_leaflet

Puis télécharger https://github.com/dhg/Skeleton/releases/download/2.0.4/Skeleton-2.0.4.zip et dézipper le fichier dans /home/sist/public_html. La page index.html est accessible par l'URL http://localhost/3_leaflet/.