Lizmap Web Clientをインストールする際の必要な要件

注釈

もし、Lizmap Web Clientをいくつかのステップで素早くインストールしてテストしたい場合は、DockerとDocker-Composeを使用して、 以下の手順<https://github.com/3liz/lizmap-docker-compose> の通りに行います。

Server administration knowledge

Installing and maintaining a Lizmap Web Client instance requires some knowledge about system administration.

You will need to be familiar with:

  • installing a web server (Nginx, Apache...). Lizmap is written in PHP, so you should be familiar with a stack similar to LAMP. This documentation will not cover the Apache section because it can be adapted

  • reading and setting an environment variable

  • understanding how processes are launched on a server

  • reading logs from stderr for QGIS Server

  • managing a PostgreSQL database

  • debugging HTTP queries with cURL

These concepts are not explained in the Lizmap Web Client documentation. The documentation is focusing only on specific parts related to Lizmap Web Client.

GIS data and QGS files

Lizmap Web Client does not enforce where to store data on the disk. You are free to store your files where you want on the server.

For instance, you can use /srv/lizmap/data/. Then, when configuring Lizmap, you can choose the rootRepositories variable to define the root repositories for all your data. Lizmap Web Client will display a dropdown menu showing directories in the root folder.

Otherwise, if you don't want to define a root repository for your GIS data, you will need to use absolute path when defining a new Lizmap repository. There won't be a dropdown menu but a text field instead.

注釈

Lizmap Web Client does not provide any file transfer from your QGIS desktop to your server. You must setup your own way to transfer files between your computer and your server.

QGIS Server

警告

QGIS Server部分をインストールする前に、QGIS DesktopとQGIS Serverで 同じ バージョンを使用することを 強く お勧めします。

一部の機能が動作したとしても、2つのバージョンが 異なる 場合、一部の設定が動作しない可能性があります。

その理由は、QGIS DesktopバージョンYで作成したQGISプロジェクトにQGIS ServerバージョンXが対応できない場合があるからです。

Follow the QGIS Server documentation on how to install QGIS Server.

ウェブサーバ(Apache または Nginx)を使用する場合は、QGIS Server をインストールする必要があります。Nginxでは、 spawn-fcgi を使用するのが望ましい方法です。 fcgiwrap` は使用 しない でください。

Nginxの設定では、 QGIS_OPTIONS_PATH 変数に www-data の書き込み権限のあるフォルダを指定するのが良いでしょう。これらについては、QGIS Serverのドキュメントで説明されています。

また、QGISドキュメントに記載されている XVFB のインストールと設定も行ってください。これはPDFを印刷するのに使用されます。サーバーサイドでPDFを印刷する予定がない場合にのみ、このセクションをスキップすることができます。

QGIS-ServerでWebサーバを設定した後、QGIS ServerのURLが機能しているかどうかを確認します。おそらく、以下のようなXMLが表示されると思います。

<ServerException>Project file error</ServerException>

このURLは、後でLizmapの管理画面で使用するので、とっておいてください。

警告

‎我々は ** 強く ** lizmap Web クライアントとは異なる仮想ホストにQGISサーバーを設定することをお勧めします。QGISサーバーのURLは、lizmap PHPアプリケーション ** のみ ** でアクセス可能なプライベートな場所にする必要があります。‎

‎それ以外の場合、特にQGIS Serverの ** Lizmap ** プラグインがインストールされた後、ユーザーは直接QGISサーバーURLを使用して、lizmapに渡せばプライベートデータにアクセスできるかもしれません。

QGIS Serverプラグイン

Some plugins can be added to QGIS Server. Please check the QGIS Server documentation about plugins on the server side.

警告

The Lizmap server plugin is required.

Plugins listed below will enable some features in Lizmap Web Client.

Either you should setup the QGIS_PLUGINPATH environment variable during the installation of QGIS Server or use the default one provided by QGIS.

Tip

QGIS サーバのプラグインを管理するには、プラグインをインストールおよびアップグレードするための CLI ツールである qgis-plugin-manager を使用することをお勧めします。 https://pypi.org/project/qgis-plugin-manager/

Tip

Look to other QGIS server plugins on the official repository.

But, install only plugins you need you. On QGIS server, plugins are like hooks into QGIS server, they can alter input or output of QGIS server. They can produce unexpected result if you don't know how the plugin works. Please refer to their respective documentation.

Lizmap QGISサーバープラグイン

The Lizmap QGIS Server plugin is required and will add some features on Lizmap Web Client :

  • ‎QGISサーバーから情報を取得します。‎

  • evaluate QGIS Expressions in forms about :

  • 地物とレイヤーのユーザーアクセス権(ACL)の確認 :

    • ポリゴンでフィルタ‎

    • ‎属性による

  • use the Form popup, read QGIS Drag&Drop Form popup.

  • ‎QGISプロジェクトで @lizmap_userlizmap_user_groups 変数を有効にする‎

インストール
‎QGISサーバー側‎

Please check the QGIS Server documentation about plugins on the server side.

The Lizmap server plugin, called Lizmap server, is required in the correct folder for QGIS Server.

With 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'

警告

You must install the Lizmap server plugin. The Lizmap plugin is designed only for QGIS desktop. Do not keep both on your server.

For security reason, to enable the API on the QGIS server side, you must enable the environment variable

QGIS_SERVER_LIZMAP_REVEAL_SETTINGS with the value set to True on QGIS server.

この変数は、Lizmap Web Clientで使用されるQGISサーバーのバージョンなどのサーバー設定を 公開 するものです。

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

警告

Webサーバー上でこのAPI http://your.qgis.server.url/lizmap/server.json が保護されていることを 確認 する必要があります。 一番良い のは、インターネットからアクセスできないバーチャルホスト上のQGISサーバー http://your.qgis.server.url へのアクセスを制限することです。QGISサーバーへのすべてのリクエストは、Lizmap Web Clientから送信されます。QGISサーバーは、外部からアクセスできないようにする必要があります。以前からQGISサーバーをインターネットから保護することを 強く 推奨しています。Lizmap Web Clientが提供するWFS/WMSリンクをユーザーが使用する 必要 があり、Lizmapはユーザーの権限を確認することができます。

‎管理パネル‎

If your are using QGIS Server with FCGI, the Lizmap API URL must be empty.

Otherwise, if you are using Py-QGIS-Server, the Lizmap API URL must be configured in the administration interface. In Py-QGIS-Server, you must explicitly publish the API as well.

Starting from Py-QGIS-Server version 1.8.4, it's possible to enable the Lizmap API endpoint with the environment variable QGSRV_API_ENDPOINTS_LIZMAP=yes otherwise, add the configuration below in your configuration file :

[api.endpoints]
lizmap_api=/lizmap

[api.enabled]
lizmap_api=yes

Py-QGIS-Serverでは、OWSのURLが http://map:8080/ows/ であれば、Lizmap APIのエンドポイントのURLは http://map:8080/lizmap/ であることを意味します。

PostgreSQL

PostgreSQLは、Lizmapの中で 3つ の異なる目的で使用することができます。

  • To store GIS data. No configuration is needed on the Lizmap Web Client server side, only the PostgreSQL server must be accessible from the Lizmap Web Client server and QGIS Server. It's possible to edit layers with Lizmap, but the layer must be stored in PostgreSQL. See ‎前提条件‎.

  • To store Lizmap Web Client users and user actions. Lizmap uses tables. This setting must be done when installing Lizmap.

  • lizmap_search を使用するには、 ‎PostgreSQL検索‎ を参照してください。Lizmapサーバでのこの設定は、必要なときに設定すればよいです。