5. プラグイン
5.1. プラグインのリスト
プラグインはQGIS Serverにもインストールすることができます。
サーバー向けに設計されたプラグインのいくつかは、公式の QGIS repository に見つかります。
自分の目的に必要なプラグインだけをインストールしてください。QGISサーバでは、プラグインはQGISサーバへのフックのようなもので、QGISサーバの入出力を変更することができます。プラグインがどのように動作するのかを知らないと、予期しない結果をもたらす可能性があります。どのプラグインが役に立つかは、それぞれのドキュメントやQGISサーバのプラグインを必要とするアプリケーションを参照してください。
5.2. プラグインの場所
デフォルトで、Debian ベースのシステムでは、QGIS Server は /usr/lib/qgis/plugins
にあるプラグインを探します。デフォルト値はQGIS Serverの起動時にログに表示されます。ウェブサーバの設定で環境変数 QGIS_PLUGINPATH
を定義することで、カスタムパスを設定することができます。
5.3. インストール
5.3.1. ZIPを使って手動で行う
例えば、サーバをテストするために HelloWorld プラグインを特定のフォルダを使ってインストールするためには、まずサーバプラグインを格納するディレクトリを作成する必要があります。これは仮想ホストの設定で指定され、環境変数を通してサーバに渡されます:
mkdir -p /var/www/qgis-server/plugins
cd /var/www/qgis-server/plugins
wget https://github.com/elpaso/qgis-helloserver/archive/master.zip
unzip master.zip
mv qgis-helloserver-master HelloServer
警告
説明文 によると、HelloServer プラグインは開発およびデモ用に設計されています。このプラグインが不要な場合は、本番環境用に使用しないでください。
5.3.2. コマンドラインツールを使う
QGISプラグインリポジトリに保存されているプラグインをインストールしたり、定期的にアップグレードする必要がある場合、QGIS-Plugin-Manager を使うことができます。これはコマンドラインからプラグインを管理するためのツールです。
インストールにはpipを使用します。仮想環境にインストールするのは良い方法ですが、必須ではありません:
pip3 install qgis-plugin-manager
ツールを更新するには:
pip3 install --upgrade qgis-plugin-manager
その後、コマンドラインから qgis-plugin-manager
実行ファイルを使うことができます:
cd /var/www/qgis-server/plugins
qgis-plugin-manager list
QGIS server version 3.19.0
List all plugins in /var/www/qgis-server/plugins
------------------------------------------------------------------------------------------------------------------------------------------------------------
| Folder | Name | Version | Experimental | QGIS min | QGIS max | Author | Action ⚠ |
------------------------------------------------------------------------------------------------------------------------------------------------------------
|wfsOutputExtension |wfsOutputExtension |1.6.2 | |3.0 | |3Liz | |
|qgis_server_render_geojson |GeoJson Renderer |v0.4 | |3.4 | |Matthias Kuhn (OPENGIS.ch) | |
|DataPlotly |Data Plotly |3.7.1 | |3.4 |3.98 |Matteo Ghetta (Faunalia) |Upgrade to 3.8.1 |
------------------------------------------------------------------------------------------------------------------------------------------------------------
このツールでプラグインをインストールしたりアップグレードしたりする方法については、 readme ファイル にある完全なドキュメントを読むことをお勧めします。
5.4. HTTPサーバー構成
5.4.1. Apache
サーバー プラグインが使えるようにするには、FastCGI がどこを見るか知る必要があります。そのため、FastCGI に QGIS_PLUGINPATH
環境変数を示すように Apache 設定ファイルを変更する必要があります:
FcgidInitialEnv QGIS_PLUGINPATH "/var/www/qgis-server/plugins"
さらに、以前に紹介したHelloWorldプラグインで遊ぶためには、基本的なHTTP認証が必要です。そこで、最後にApacheの設定ファイルを更新する必要があります:
# Needed for QGIS HelloServer plugin HTTP BASIC auth
<IfModule mod_fcgid.c>
RewriteEngine on
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
それから、Apacheを再起動します:
systemctl restart apache2
5.5. プラグインの使用方法
HelloWorldのプラグインでサーバーをテストします:
wget -q -O - "http://localhost/cgi-bin/qgis_mapserv.fcgi?SERVICE=HELLO"
HelloServer!
QGISサーバーのデフォルトのGetCapabilitiesをご覧ください:
http://localhost/cgi-bin/qgis_mapserv.fcgi?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities