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

注釈

もし、Lizmap Web Clientをいくつかのステップで素早くインストールしてテストしたい場合は、DockerとDocker-Composeを使用して、 取扱説明書<https://github.com/3liz/lizmap-docker-compose> に従うことができます。

QGIS Server

警告

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

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

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

QGIS ドキュメントに記載されている QGIS Server のインストール方法に従ってください。https://docs.qgis.org/latest/en/docs/server_manual/

ウェブサーバ(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プラグイン

いくつかのプラグインは、QGISサーバーに追加することができます。これにより、Lizmapのいくつかの機能が有効になります。必須ではありませんが、場合によってはその方が良い場合もあります。

QGIS Server のインストール時に QGIS_PLUGINPATH 環境変数を設定するか、QGIS が提供するデフォルトのものを使用する必要があります。https://docs.qgis.org/latest/en/docs/server_manual/config.html#environment-variables

Tip

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

Lizmap QGIS Server plugin

lizmap QGISサーバープラグインを追加すると、lizmap Web クライアントにいくつかの機能が追加されます:‎

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

  • evaluate QGIS Expressions in forms about :

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

    • ポリゴンでフィルタ‎

    • ‎属性による

  • use the Form popup, read ‎地物情報フォーム.

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

  • https://github.com/3liz/qgis-lizmap-server-plugin

  • プラグインは必須ではありませんが、プラグインがインストールされていなかったり、アップグレードされていないと、いくつかの機能が期待通りに動作しません。

  • プラグイン名は、Lizmap server です。 デスクトップ用 Pythonプラグインである Lizmap プラグインはインストールしないでください。

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

Lizmapプラグインは、QGIS Serverの正しいフォルダにインストールされている必要があります。QGIS Serverで環境変数が設定されている必要があります。プラグイン名は、 Lizmap 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'

警告

For security reason, to enable all features on the QGIS server side, you must enable the environment variable QGIS_SERVER_LIZMAP_REVEAL_SETTINGS with the value True on QGIS server.

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はユーザーの権限を確認することができます。

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

‎管理パネル‎

QGISプロジェクトを試す前に、管理パネルで「サーバー情報」というテーブルが正しく動作していることが 必要 です。

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つ の異なる目的で使用することができます。

  • GISデータを格納する場合。Lizmap Web Clientサーバー側での設定は 不要 で、Lizmap Web ClientサーバーとQGISサーバーからPostgreSQLサーバーにアクセスできること だけ が必要です。Lizmapでレイヤーを編集することは可能ですが、レイヤーはPostgreSQLに保存されている必要があります。 ‎前提条件‎ を参照してください。

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

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