Požadavky před instalací webového klienta Lizmap

Poznámka

Pokud chcete rychle nainstalovat a otestovat Lizmap Web Client v několika krocích, můžete postupovat podle těchto instrukcí pomocí Dockeru a Docker-Compose.

Znalost správy serveru

Instalace a údržba instance klienta Lizmap Web Client vyžaduje určité znalosti o správě systému.

Potřebujete znát:

  • instalace webového serveru (Nginx, Apache…). Lizmap je napsán v jazyce PHP, takže byste měli znát stack podobný LAMP. Tato dokumentace se nebude zabývat sekcí Apache, protože ji lze přizpůsobit

  • načtení a nastavení proměnné prostředí

  • pochopení způsobu spouštění procesů na serveru

  • čtení protokolů z stderr pro QGIS Server

  • správa databáze PostgreSQL

  • ladění dotazů HTTP pomocí cURL

Tyto pojmy nejsou v dokumentaci webového klienta Lizmap vysvětleny. Dokumentace se zaměřuje pouze na konkrétní části týkající se Lizmap Web Client.

Data GIS a soubory QGS

Lizmap Web Client nevynucuje, kam se mají data na disku ukládat. Soubory si můžete na serveru uložit, kam chcete.

Můžete například použít /srv/lizmap/data/. Při konfiguraci Lizmap pak můžete zvolit proměnnou rootRepositories a definovat kořenová úložiště pro všechna data. Webový klient Lizmap zobrazí rozbalovací nabídku s adresáři v kořenové složce.

V opačném případě, pokud nechcete definovat kořenové úložiště pro data GIS, musíte při definování nového úložiště Lizmap použít absolutní cestu. Nebude k dispozici rozbalovací nabídka, ale místo toho textové pole.

Poznámka

Lizmap Web Client neumožňuje přenos souborů z pracovní plochy QGIS na server. Musíte si nastavit vlastní způsob přenosu souborů mezi počítačem a serverem.

QGIS Server

Varování

Před instalací části QGIS Server se velmi důrazně doporučuje používat stejnou verzi QGIS Desktop a QGIS Server.

I když některé funkce mohou fungovat, je pravděpodobné, že některé konfigurace nebudou fungovat, pokud jsou tyto dvě verze rozdílné.

Důvodem je, že QGIS Server verze X nemusí umět projekt QGIS vytvořený pomocí QGIS Desktop verze Y.

Postupujte podle dokumentace QGIS Server, jak nainstalovat QGIS Server.

Při použití webového serveru (Apache nebo Nginx) je nutné nainstalovat QGIS Server. V případě Nginxu se upřednostňuje použití spawn-fcgi. Nepoužívejte** fcgiwrap, toto řešení není efektivní.

V konfiguraci Nginxu je dobré použít proměnnou QGIS_OPTIONS_PATH pro složku s právy zápisu pro www-data. Ty jsou vysvětleny v dokumentaci k serveru QGIS.

Měli byste si také nainstalovat a nakonfigurovat XVFB uvedený v dokumentaci QGIS. To je užitečné pro tisk PDF. Tuto část můžete přeskočit pouze v případě, že neplánujete tisknout PDF na straně serveru.

Po nastavení webového serveru s QGIS-Serverem zkontrolujte, zda je URL adresa QGIS Serveru funkční. Pravděpodobně se zobrazí XML jako:

<ServerException>Project file error</ServerException>

Tuto adresu URL si ponechte, budeme ji používat později v panelu správce Lizmap.

Varování

Důrazně doporučujeme nastavit QGIS Server na jiném virtuálním hostiteli než Lizmap Web Client. Adresa URL serveru QGIS by měla zůstat neveřejná, přístupná pouze aplikaci Lizmap PHP.

V opačném případě, zejména po instalaci zásuvného modulu Lizmap na server QGIS, může mít uživatel přístup k soukromým datům, pokud obejde Lizmap pomocí přímé adresy URL serveru QGIS.

Zásuvné moduly QGIS Server

Některé zásuvné moduly lze přidat do serveru QGIS. Ohledně zásuvných modulů na straně serveru se podívejte do dokumentace QGIS Serveru.

Varování

Je vyžadován zásuvný modul Lizmap server.

Níže uvedené zásuvné moduly povolí některé funkce webového klienta Lizmap.

Buď byste měli nastavit proměnnou prostředí QGIS_PLUGINPATH během instalace QGIS Serveru, nebo použít ``defaultní proměnnou poskytovanou QGISem <https://docs.qgis.org/latest/en/docs/server_manual/config.html#environment-variables>`_.

Tip

Pro správu zásuvných modulů serveru QGIS doporučujeme používat qgis-plugin-manager, nástroj CLI pro instalaci a aktualizaci zásuvných modulů. https://pypi.org/project/qgis-plugin-manager/

Tip

Podívejte se na další zásuvné moduly serveru QGIS na official repository.

Nainstalujte si však pouze zásuvné moduly, které potřebujete vy. Na serveru QGIS jsou pluginy jako háčky do serveru QGIS, mohou měnit vstup nebo výstup serveru QGIS. Pokud nevíte, jak zásuvný modul funguje, mohou přinést neočekávaný výsledek. Prostudujte si prosím jejich příslušnou dokumentaci.

Zásuvný modul Lizmap QGIS Server

Zásuvný modul Lizmap QGIS Server je vyžadován a přidá některé funkce do webového klienta Lizmap :

  • načítání informací ze serveru QGIS.

  • vyhodnoťte QGIS Expressions ve formulářích o :

  • zkontrolujte přístupová práva uživatele (ACL) pro funkce a vrstvy :

    • filtrovat podle polygonu

    • podle atributu

  • použít vyskakovací okno Form, čtěte Vyskakovací okno formuláře QGIS Drag&Drop.

  • povolení proměnných @lizmap_user a lizmap_user_groups v projektech QGIS.

Instalace
Strana QGIS Server

Podívejte se prosím do dokumentace QGIS Server o zásuvných modulech na straně serveru.

Zásuvný modul Lizmap server, nazvaný Lizmap server, je vyžadován ve správné složce pro QGIS Server.

Pomocí QGIS-Plugin-Manager :

# Not correct, this plugin is only for QGIS desktop
# qgis-plugin-manager install Lizmap

# Correct, the plugin designed for QGIS server
qgis-plugin-manager install 'Lizmap server'

Varování

Je nutné nainstalovat zásuvný modul Lizmap server. Zásuvný modul Lizmap je určen pouze pro QGIS desktop. Nemějte na serveru oba dva.

Chcete-li povolit rozhraní API na straně serveru QGIS, musíte z bezpečnostních důvodů povolit proměnnou prostředí

QGIS_SERVER_LIZMAP_REVEAL_SETTINGS s hodnotou nastavenou na True na serveru QGIS.

Tato proměnná odhalí nastavení serveru, například verzi serveru QGIS, kterou používá Lizmap Web Client.

# Apache FCGI example
FcgidInitialEnv QGIS_SERVER_LIZMAP_REVEAL_SETTINGS True
# nginx fastcgi
fastcgi_param  QGIS_SERVER_LIZMAP_REVEAL_SETTINGS  True;

Varování

Musíte se ujistit, že toto rozhraní API http://your.qgis.server.url/lizmap/server.json je na vašem webovém serveru chráněno. Nejlepší** je omezit přístup k serveru QGIS http://your.qgis.server.url na virtuálním hostiteli, který není přístupný z internetu. Všechny požadavky na server QGIS budou odesílány prostřednictvím webového klienta Lizmap. Server QGIS nesmí být přístupný zvenčí. Již dříve bylo velmi doporučeno chránit server QGIS před internetem. Uživatelé musí používat odkazy WFS/WMS poskytované Lizmap Web Client, aby Lizmap mohl kontrolovat oprávnění uživatelů.

Administrační panel

Pokud používáte QGIS Server s FCGI, musí být adresa URL rozhraní Lizmap API prázdná.

V opačném případě, pokud používáte Py-QGIS-Server, musí být adresa API Lizmap konfigurována v administračním rozhraní. V systému Py-QGIS-Server musíte rozhraní API také explicitně zveřejnit.

Od verze Py-QGIS-Server 1.8.4 je možné povolit koncový bod Lizmap API pomocí proměnné prostředí QGSRV_API_ENDPOINTS_LIZMAP=yes, v opačném případě přidejte níže uvedenou konfiguraci do konfiguračního souboru :

[api.endpoints]
lizmap_api=/lizmap

[api.enabled]
lizmap_api=yes

Pokud je adresa URL pro OWS http://map:8080/ows/, znamená to, že adresa URL pro koncový bod Lizmap API je http://map:8080/lizmap/.

PostgreSQL

V aplikaci Lizmap lze PostgreSQL použít pro tři různé účely:

  • Ukládání dat GIS. Na straně serveru Lizmap Web Client není potřeba žádná konfigurace, ze serveru Lizmap Web Client a serveru QGIS musí být přístupný pouze** server PostgreSQL. Pomocí Lizmap je možné vrstvy upravovat, ale musí být uloženy v PostgreSQL. Viz Předpoklady.

  • Uložení uživatelů a uživatelských akcí klienta Lizmap Web Client. Lizmap používá tabulky. Toto nastavení je třeba provést při instalaci Lizmap.

  • Chcete-li použít lizmap_search, viz Hledání v PostgreSQL. Toto nastavení na serveru Lizmap lze nastavit, když ho potřebujete.