WindowsへのLizmap Web Clientのインストール
注釈
いくつかのステップを経てLizmap Web Clientを素早くインストールしてテストしたい場合は、以下の `手順<https://github.com/3liz/lizmap-docker-compose>`_ の通りに行います。
このドキュメントでは、Lizmap Web Clientを Windows 7 および Windows 10 の環境にインストールするために必要な手順を説明しています。その他のバージョンのWindowsでも問題はないはずです。
注釈
このドキュメントでは、Lizmap Web Clientの*バージョン3.3*を使用しています。インストールしたいバージョンに応じて、必ず調整してください(最新バージョンを推奨します)。
必要要件
テキストエディタ (e.g. Notepad++ , Visual Studio Code )
Microsoft Visual C++ Redistributable 64-bits (このインストールでは、ApacheとPHPのコンパイルバージョンを考慮する必要があります。) ( Microsoft VCs C++ )
Webサーバー (Apache 24 64-bits )
PHP 7.3.10 (非スレッドセーフ )
QGIS Server 3 64-bits (OSGeo4W Network Installer (64 bit))
Lizmap Web Client 3.x (Github Lizmap リリース )
Apache 2.4.41 サーバーの設定
C:\ に近いフォルダ(例:C:Webserver)を作成することから始めます。その後、Apache 64ビットとそのモジュールをダウンロードします。このドキュメントの時点では、 VC16コンパイルバージョン を使用しています。
注釈
他のApacheをインストールして使用することができますが、正しくApacheのインストールのために、適したMicrosoft Visual C++ Redistributables(例:VC15、VC16)とそのモジュールをインストールするように注意する必要があります。
Apache24 の zip ファイルを C:\webserver\ に展開し、フォルダ名を httpd-2.4.41-win64-VS16 から Apache24 に変更します。その後、すべてのモジュールを解凍し、すべての .so ファイルを C:\webserver\Apache24\modules フォルダにコピーします。. 次に、Apache の設定ファイルである C:\webserver\Apache24\conf\httpd.conf を開き、テキストエディタで編集し、グローバル変数 ServerRoot を C:\webserver\Apache24 に置き換えます。これにより、Apacheがインストールされているパスを認識できるようになります。
Define SRVROOT "c:/webserver/Apache24" #Variable to define the root folder
ServerRoot "${SRVROOT}"
変数 SRVROOT を使用する目的は、ファイルの残りの部分で定義されたパスを認識するために、${SRVROOT}を自動的に置き換えることです。さて、Apacheがどのポートを「 listen 」するかを見てみましょう。デフォルトでは、Apacheは**ポート80** を使用します。
注釈
1664 など、別のポートを使用する場合は、Apacheの httpd.conf ファイルに Listen オプションを追加してください。
Listen 80 #Activated Default Apache port
#Listen 1664 Example port if default Apache port is taken
#You can activate or deactivate the ports using the # symbol
ポートを選択した後は、設定ファイルで Apache モジュールを有効にする必要があります。そのためには、Apache の設定ファイル C:\webserver\Apache24\conf\httpd.conf を変更し、必要なモジュールを有効にする必要があります。LoadModule コマンドラインを検索し、以下のモジュールのチェックを外してください(# を削除)。
LoadModule fcgid_module modules/mod_fcgid.so
LoadModule actions_module modules/mod_actions.so
LoadModule ssl_module modules/mod_ssl.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule headers_module modules/mod_headers.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule expires_module expires_module modules/mod_expires.so
LoadModule ext_filter_module modules/mod_ext_filter.so
LoadModule ident_module modules/mod_ident.so
注釈
異なるポートを使用する必要がある場合は、 proxyモジュール に関連する他のモジュールを有効にする必要があります。
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
LoadModule cache_module modules/mod_cache.so
LoadModule cache_disk_module modules/mod_cache_disk.so
その後、:kbd:`Ctrl+F`で変数 ServerName を検索し、次の ServerName localhost を追加してください。引き続き、このファイルには DirectoryIndex index.html が表示されますので、 DirectoryIndex index.html index.php に置き換えてください。最後にファイルを 保存 します。
Windows+R を押下した後に、 cmd と入力しコマンドプロンプトを起動し、 C:\webserver\Apache24\bin\httpd.exe と入力しApacheを開始します。 cmd を終了しないでおいてください。
警告
コマンドラインで 右クリック して「管理者として実行」し、完全にアクセスできるようにすることが重要です。 CMD を使用する必要があるときは、毎回この操作を行ってください。
コマンドラインのコマンドの後に Enter を押すと、Windowsファイアウォールのダイアログが表示されるので、 Allow Access For all のオプションをチェックする必要があります。
ブラウザで http://localhost と入力してEnterキーを押すと、インストールに問題がなければ、 **"It Works"* というテキストのページが開きます。
警告
ファイアウォールのウィンドウが表示されない場合は、アンチウィルスソフトがファイアウォールを管理している可能性があります。この場合は、設定を確認して、手動で apache サービスを許可する必要があります。もう1つの重要なヒントは、Windowsファイアウォールが前のダイアログを表示しない場合、Windowsファイアウォールの詳細設定( Control Planel > Administrative Tools > Windows Firewall with Advanced Security )で、80番ポートを受信/送信ポートとして手動で追加する必要があります。
前の Apache を起動したコマンドを実行した cmd を開いて、 Ctrl+C を押して Apache を停止します。WindowsのシステムパスにApacheを追加して、 cmd で直接アクセスするには、 Windows を押しながら、 Edit System environments を検索する必要があります。その結果をクリックすると、 Environment Variables のダイアログが表示されます。次のステップでは、;C:\webserver\Apache24\bin を Path 変数に追加(置換ではありません!)します(「Path」の行をダブルクリックします)。その後、cmd を閉じ、再び cmd を開いて、Apache が System path に正しく宣言されていることを確認します。このテストでは、 cmd を開き、 httpd と入力して Enter キーを押すと、Apache が実行されます。もし正常な場合は、コンビネーションキー Ctrl+C の使用して停止します。
このステップでは、コマンドラインを開いて httpd -k install と入力する必要があります。これでApacheがWindowsサービスとして起動します。
Apacheのインストールが成功したら、QGISサーバとLizmap Web Clientにサービスを提供するために、残りのApacheの設定を追加することになります。設定ファイル C:\webserverApache24\httpd.conf を再度開き、ファイルの最後に以下の行を追加します。
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\\.0[678] no-gzip
BrowserMatch \\bMSIE !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI \\.(?:gif|jpe?g|png|rar|zip)$ no-gzip dont-vary
Header append Vary User-Agent env=!dont-vary
</IfModule>
この設定は、ファイルの圧縮に対応するために重要です。この設定が終わったら、Windowsのコマンドラインで次のコマンド httpd -k restart を使ってApacheを再起動し、Enterキーを押して新しい設定を有効にしてください。次は、phpバージョンを提供するための設定を行います。まず、Apacheの設定ファイルを作成して、 C:\webserver\Apache24\conf\extra\ の php73.conf という名前のファイルにあるPHPの設定を使用するようにします。これは、テキストエディタ(Notepad++、Visual Studio Codeなど)を開いて、以下のコードを使用して保存することができます。
FcgidInitialEnv PHPRC "C:\webserver\php73"
<FilesMatch \.php$>
AddHandler fcgid-script .php
FcgidWrapper "C:/webserver/php73/php-cgi.exe" .php
</FilesMatch>
FcgidInitialEnv PHPRC "C:\\webserver\\php73"
FcgidInitialEnv PATH "C:\OSGeo4W64\bin;C:\OSGeo4W64\apps\qgis-ltr\bin;C:\OSGeo4W64\apps\Qt5\bin;C:\OSGeo4W64\apps\grass\grass-6.4.3\lib;C:\OSGeo4W64\apps\grass\grass-6.4.3\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\WBem"
FcgidInitialEnv QT_PLUGIN_PATH "C:\OSGeo4W64\apps\qgis-ltr\qtplugins;C:\OSGeo4W64\apps\Qt5\plugins"
FcgidInitialEnv PYTHONHOME "C:\OSGeo4W64\apps\Python37"
FcgidInitialEnv PYTHONPATH "C:\OSGeo4W64\apps\qgis-ltr\.\python;C:\OSGeo4W64\apps\qgis-ltr\.\python\plugins;C:\OSGeo4W64\apps\Python37\DLLs;C:\OSGeo4W64\apps\Python37\lib;C:\OSGeo4W64\bin;C:\OSGeo4W64\apps\Python37;C:\OSGeo4W64\apps\Python37\lib\site-packages"
FcgidInitialEnv QGIS_SERVER_LOG_LEVEL 0
FcgidInitialEnv QGIS_SERVER_LOG_FILE "C:\webserver\Apache24\logs\qgis_server.log"
FcgidIOTimeout 120
FcgidInitialEnv LC_ALL "en_US.UTF-8"
FcgidInitialEnv PYTHONIOENCODING UTF-8
FcgidInitialEnv LANG "en_US.UTF-8"
FcgidInitialEnv QGIS_DEBUG 1
FcgidInitialEnv QGIS_SERVER_LOG_FILE "C:\webserver\Apache24\logs\qgis_server.log"
FcgidInitialEnv QGIS_SERVER_LOG_LEVEL 0
FcgidInitialEnv QGIS_PLUGINPATH "C:\OSGeo4W64\apps\qgis-ltr\python\plugins"
SetEnvIf Request_URI ^/qgis QGIS_PREFIX_PATH "C:\OSGeo4W64\apps\qgis-ltr"
SetEnvIf Request_URI ^/qgis TEMP "C:\Windows\Temp"
SetEnvIf Request_URI ^/qgis GDAL_DATA "C:\OSGeo4W64\share\gdal"
SetEnvIf Request_URI ^/qgis GDAL_DRIVER_PATH "C:\OSGeo4W64\bin"
SetEnvIf Request_URI ^/qgis PDAL_DRIVER_PATH "C:\OSGeo4W64\bin"
SetEnvIf Request_URI ^/qgis GDAL_SKIP "JP2ECW"
SetEnvIf Request_URI ^/qgis PROJ_LIB "C:\OSGeo4W64\share\proj"
<FilesMatch \.php$>
AddHandler fcgid-script .php
FcgidWrapper "C:/webserver/php73/php-cgi.exe" .php
</FilesMatch>
注釈
このファイルの拡張子が:kbd:`.conf`であることを確認してください。
C:\webserver\Apache24\conf\httpd.conf のファイルを開き、Include conf\extra\httpd-vhosts.conf の部分のコメントを外して保存します。これにより、C:\webserver\Apache24\conf\extra\httpd-vhosts.conf でのバーチャルホストの設定が反映されます。バーチャルホストの設定を行う vhosts を C:\webserver\Apache24\conf\extra\httpd-vhosts.conf ファイルに記述します。その中の2つの例(およそ23行目から38行目の間)をコメントまたは削除してください。デフォルトの例にコメントを付けた場合は、次の設定の後(コメントや削除した前の部分)をコピー&ペーストしてください。
<VirtualHost *:80>
Include conf/extra/php73.conf #include the diretory conf file for php73 configuration
ServerName localhost # name of the server, in this case is localhost
DocumentRoot "C:/webserver/lizmap/" #Path to the root document Directory
<Directory "C:/webserver/lizmap">
Options -Indexes +FollowSymLinks +ExecCGI
AllowOverride All
Require all granted
</Directory>
CustomLog "logs/lizmap-access.log" common
ErrorLog "logs/lizmap-error.log"
<IfModule mod_fcgid.c>
RewriteEngine on
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
#Parameters for maximum requests and timeout connections of fgci module
<IfModule fcgid_module>
FcgidMaxRequestLen 51200000
FcgidConnectTimeout 60
</IfModule>
</VirtualHost>
この後、ファイルを保存します。
警告
以前の設定は、apacheが正しく設定されているかどうかを確認するのに役立ちます。同じファイルを使って、インストールに伴う残りの追加作業を進めていきます。 Lizmap Web Clientのホームを準備する セクションでは、2つの環境を受け取るようにこの設定を変更します。
php 7.3.10 の設定
警告
Lizmap Web clientは、Jelix PHPフレームワークをベースにしています。フル機能を利用するには、少なくとも**7**バージョンのPHPをインストールする必要があります。また、dom、simplexml、pcre、session、tokenizer、spl の各拡張モジュールが必要です(通常、PHP 7.xのインストールでは、これらの拡張モジュールはオンになっています)。
このインストールでは、PHP 7.3.10を使用していますが、以前にこのドキュメントのMicrosoft Visual C++ Redistributable for Apacheバージョンをインストールした場合は、再度インストールする必要はありません。PHPバイナリ にアクセスして、**Zip**という名前のリンクをダウンロードします。**必ず**非スレッドセーフのファイルであることを確認してください。
ダウンロード後、C:\webserver\ の中にphp73という名前のフォルダを作成し、その中にファイルを解凍します。 C:\webserver\php73\php.ini-production ファイルを C:\webserver\php73\php.ini へ変更します。:kbd:`php.ini`を開き、extension dirディレクティブを探して、EXT**フォルダの適切な場所に変更します。 **extension_dir = "C:\webserver\php73\ext" のようにフルパスを入力したことを確認してください。ここでPHPモジュールを有効にしますが、そのためには以下の行のコメントを外す必要があります。
extension=php_curl.dll
extension=php_fileinfo.dll
extension=php_gd2.dll
extension=php_mbstring.dll
; driver for PostgreSQL
extension=php_pdo_pgsql.dll
; driver for SQLite
extension=php_pdo_sqlite.dll
; driver for PostgreSQL
extension=php_pgsql.dll
; driver for SQLite3
extension=php_sqlite3.dll
php拡張機能を有効にした後、同じファイルでアップロードの値をデフォルトの値から15Mに変更すると、 upload_max_filesize = 15M のようになります。また、post_max_sizeについても同様に、デフォルト値から post_max_size = 15M に変更し、ファイルに変更を保存してください。このファイルを閉じる前に、 C:\webserver に sessions という名前のフォルダを作成し、以下のパスを追加してください。
; The path can be defined as:
;
session.save_path = "C:\webserver\sessions"
;
WindowsのシステムパスにPHPを追加することで、 cmd で直接apacheを呼び出すことができます。この作業のためには、 Windows キーを押しながら、 Pause を押します。次に、Advanced System Settings をクリックし、 Environment Variables をクリックします。次のステップでは、パス ;C:\php-7.3 を Path 変数に追加(置換ではありません!)します("Path"の行でダブルクリックします)。この後、cmd を閉じ、再度 cmd を開いて、cmd を使って php -m とタイプし、System path に PHP が正しく宣言されていることを確認します。 httpd -S でApacheの設定を確認します。
C:\webserver\lizmap の中にlizmapという名前のフォルダを作り、拡張子が.phpのファイルを追加し、その中にこのコードを入れて保存します。
<?php phpinfo(); ?>
コマンドラインから httpd -k restart でApacheを再起動し、すべてが正しく動作するかどうかを確認します。問題ない場合、ブラウザを開いて http://localhost/index.php を開くと、PHPプロパティのページが表示されます。
QGIS Serverのインストール
https://www.qgis.org/en/site を開き、Osgeo4W Network installer (64 bit) を取得し、インストーラを実行します。次のオプションを選んでください。
Advanced Installer;
Install from internet;
ルートディレクトリを C:\OSGeo4W64 にし、 all users 用にインストール。
ローカルパッケージディレクトリとスタートメニュー名はデフォルトのままにします。
不要な場合はプロキシを設定しないでください。
ダウンロード先を選択する (e.g. https://download.osgeo.org )。
パッケージを選択する : command line_Utilities/gdal, Desktop/QGIS full , Web/QGIS server, lib/fcgi を選び、次へ (安定板であるQGIS LTRバージョンを使用します)。
依存関係を満たすためにパッケージを取得することを受け入れる : 次に、ダウンロードが完了するのを待ち、すべてのライセンスに同意します。
注釈
このプロセスは長くなることがあります(~1時間)。
インストール後は、QGIS Server が fcgi でアクセスできるように設定する必要があります。そのためには、以前のバーチャルホストの設定ファイル C:\webserver\Apache24\conf\extra\httpd-vhosts.conf を変更する必要があります。
<VirtualHost *:80>
Include conf/extra/php73.conf
ServerName localhost # name of the server, in this case is localhost
DocumentRoot "C:/webserver/lizmap/" #Path to the root document Directory
<Directory "C:/webserver/lizmap">
Options -Indexes +FollowSymLinks +ExecCGI
AllowOverride All
Require all granted
</Directory>
# Added QGIS Server Folder
Alias /qgis/ "C:/OSGeo4W64/apps/qgis-ltr/bin/"
<Directory "C:/OSGeo4W64/apps/qgis-ltr/bin/">
SetHandler fcgid-script
Options +ExecCGI
AllowOverride All
Require all granted
</Directory>
CustomLog "logs/lizmap-access.log" common
ErrorLog "logs/lizmap-error.log"
<IfModule mod_fcgid.c>
RewriteEngine on
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
#Parameters for maximum requests and timeout connections of fgci module
<IfModule fcgid_module>
FcgidMaxRequestLen 51200000
FcgidConnectTimeout 60
</IfModule>
</VirtualHost>
変更後、apacheを再起動し、コマンドラインでコマンドを入力してください。
httpd -k restart
次に、QGISサーバーをテストして、fcgiでアクセスできるかどうかを確認します。ブラウザで次のリンク http://localhost/qgis/qgis_mapserv.fcgi.exe を入力します。すべて問題なければ、次のようなレスポンスが表示されます。
<ServiceExceptionReport version="1.3.0">
ServiceException code="OperationNotSupported">Please check the value of the REQUEST parameter</ServiceException>
</ServiceExceptionReport>
Lizmap Web Clientのホームを準備する
本番環境とプリプロダクション環境(新機能をテストするためのマスター環境)の2つの環境を用意すると便利です。そのためには、 C:\webserver\lizmap\prod\ と C:\webserver\lizmap\preprod\ というフォルダーを作成し、Apache VirtualHostの設定を変更する必要があります。
まず、3Lizの Githubリポジトリのタグ にアクセスして、最新バージョンをZIP形式で取得します。例えば、prodフォルダには、Lizmap-web-client 3.3.4 を使います。
それぞれの環境には並行してバージョンが存在します。例えば、release_3_3 と master です。そのためには、release_3_3 のバージョンを C:\webserver\lizmap\prod に、master のバージョンを C:\webserver\lizmap\preprod に解凍する必要があります。そして、本番環境用のタイルキャッシュを置くディレクトリとして、C:\webserver\cache\prod とmaster環境用のタイルキャッシュを置くディレクトリとして C:\webserver\cache\preprod を作成します。キャッシュフォルダを作成したら、各環境のlizmap Webクライアントアプリケーションの wwwフォルダ を指すようにバーチャルホストを変更します。C:\webserver\Apache24\conf\extra\httpd-vhosts.conf ファイルにアクセスし、以下の設定に変更してください。
# example configuration in httpd-vhosts.conf
<VirtualHost *:80>
Include conf/extra/php73.conf
ServerName localhost
# Lizmap Production
# Version 3_3
Alias /webgis/ "C:/webserver/lizmap/prod/release_3_3/lizmap/www/"
<Directory "C:/webserver/lizmap/prod/release_3_3/lizmap/www">
Options -Indexes +FollowSymLinks +ExecCGI
AllowOverride All
Require all granted
</Directory>
# Lizmap Pre-production (master)
# Version master
Alias /preprod/ "C:/webserver/lizmap/preprod/master/lizmap/www/"
<Directory "C:/webserver/lizmap/preprod/master/lizmap/www">
Options -Indexes +FollowSymLinks +ExecCGI
AllowOverride All
Require all granted
</Directory>
Alias /qgis/ "C:/OSGeo4W64/apps/qgis-ltr/bin/"
<Directory "C:/OSGeo4W64/apps/qgis-ltr/bin/">
SetHandler fcgid-script
Options +ExecCGI
AllowOverride All
Require all granted
</Directory>
CustomLog "logs/lizmap-access.log" common
ErrorLog "logs/lizmap-error.log"
# ABP: needed for authentication in Lizmap
<IfModule mod_fcgid.c>
RewriteEngine on
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
<IfModule fcgid_module>
FcgidMaxRequestLen 51200000
FcgidConnectTimeout 60
</IfModule>
</VirtualHost>
置換の後、ファイルを保存し、コマンドラインで次の子メンドを実行しApacheを再起動します。
httpd -k restart
lizmapのバージョンが3.0以上の場合、いくつかのスクリプトを使って適切にインストールする必要があります(https://github.com/3liz/lizmap-web-client/blob/master/INSTALL.md 参照)。コマンドライン(cmd.exe)を開いて、次のコマンドを実行してください。
REM Production folder
cd C:\webserver\lizmap\prod\release_3_3\
cd lizmap\var\config
copy lizmapConfig.ini.php.dist lizmapConfig.ini.php
copy localconfig.ini.php.dist localconfig.ini.php
copy profiles.ini.php.dist profiles.ini.php
cd ..\..\..
REM PreProd (Master) folder
cd C:\webserver\lizmap\preprod\master\
cd lizmap\var\config
copy lizmapConfig.ini.php.dist lizmapConfig.ini.php
copy localconfig.ini.php.dist localconfig.ini.php
copy profiles.ini.php.dist profiles.ini.php
cd ..\..\..
両方の環境でデモ用リポジトリを有効にしたい場合は、このインストールの前に、両環境の localconfig.ini.php ファイルに以下のコードを追加する必要があります。
[modules]
lizmap.installparam=demo
管理者用データベースとしてPostgreSQLを使用する(オプション)
注釈
必要要件: PostgreSQL/PostGISのインストール
デフォルトでは、Lizmap Web Clientをインストールすると、sqliteデータベースがインストールされ、そこにユーザーや権限などの情報が保存されます。
あなたがGISマネージャーで、lizmapのユーザーとパスワードの認証情報をPostgreSQLのユーザーとパスワードの認証情報にリンクさせたいと考えていたとします。
そのためには、Lizmap Web clientをインストールする前に、両環境の C:\webserver\lizmap\prod\release_3_3\lizmap\var\config(本番フォルダ) と C:\webserver\lizmap\preprod\master\lizmap\var\config (プレ本番フォルダ) の中にあるファイル profiles.ini.php を次のように変更する必要があります。
default=jauth
jacl2_profile=jauth
; を追加して、sqliteデータベースを無効にします。
;[jdb:jauth]
;driver=sqlite3
;database="var:db/jauth.db"
;[jdb:lizlog]
;driver=sqlite3
;database="var:db/logs.db"
; when you have charset issues, enable force_encoding so the connection will be
; made with the charset indicated in jelix config
;force_encoding = on
; with the following parameter, you can specify a table prefix which will be
; applied to DAOs automatically. For manual jDb requests, please use method
; jDbConnection::prefixTable().
;table_prefix =
; を削除し、PostgreSQLの認証情報を入力します。
;Example of different driver (e.g PostgreSQL)
[jdb:jauth]
driver="pgsql"
database="name_of_database"
host="localhost"
user="Admin_user_postgreSQL"
password="put_here_the_password"
[jdb:lizlog]
driver="pgsql"
database="name_of_database"
host="localhost"
user="Admin_user_postgreSQL"
password="put_here_the_password"
; Example for pdo (eg. MySQL):
;driver=pdo
;dsn=mysql:host=your_host;dbname=name_of_database
;user=
;password=
これまでのすべての変更を終えて、コマンドライン(cmd)で両方の環境に対応したlizmapのインストーラを起動する準備ができました。
REM Production Lizmap
cd C:\webserver\lizmap\prod\release_3_3\
php lizmap\install\installer.php
REM PreProduction Lizmap
cd C:\webserver\lizmap\prod\master\
php lizmap\install\installer.php
Lizmap管理パネルの設定
[PROD] 本番環境 ( webgis )
インストーラを使って正しくインストールした後、http://localhost/webgis/index.php を開くと、デモプロジェクトMontpellier - Transportを含むLizmapアプリケーションのホームページが表示されます。次に、Lizmap管理パネルを設定します。http://localhost/webgis/admin.php にアクセスして、ログインしてください。
user=admin;
password=admin;
そして、セキュリティ上の提案として、adminのパスワードを変更してください。例えば lizmap_12345 のように。問題があるならば、ユーザーのlizadminとlogintranetを削除することができます。グループについても同様に、ここではイントラネットデモグループとLizadminグループを削除します。
Lizmap設定メニュー>「intranet」リポジトリの削除(一番下)を行います。次に、 WMSサーバーのURL を変更する必要があります。Lizmapの設定メニュー / サービスフォームの編集で、WMSサーバーのURLを次のように変更します: http://127.0.0.1/cgi-bin/qgis_mapserv.fcgi から http://localhost/qgis/qgis_mapserv.fcgi.exe にする。その後、キャッシュディレクトリを C:\Windows\Temp\ から C:\webserver\cache\prod\ に変更し設定内容を保存します。
Montpellierのデモプロジェクトが動作していることを確認します。http://localhost/webgis/index.php/view/map/?repository=montpellier&project=montpellier
[PREPROD]プレ本番環境 ( preprod )
インストーラを使って正しくインストールした後、http://localhost/preprod/index.php を開くと、デモプロジェクトMontpellier - Transportを含むLizmapアプリケーションのホームページが表示されます。次に、Lizmap管理パネルを設定します。 http://localhost/preprod/admin.php にアクセスして、ログインしてください。
user=admin;
password=admin;
そして、セキュリティ上の提案として、adminのパスワードを変更してください。例えば lizmap_12345 のように。問題があるならば、ユーザーのlizadminとlogintranetを削除することができます。グループについても同様に、ここではイントラネットデモグループとLizadminグループを削除します。
Lizmap設定メニュー>「intranet」リポジトリの削除(一番下)を行います。次に、WMSサーバーのURL を変更する必要があります。Lizmapの設定メニュー / サービスフォームの編集で、WMSサーバーのURLを次のように変更します: http://127.0.0.1/cgi-bin/qgis_mapserv.fcgi から http://localhost/qgis/qgis_mapserv.fcgi.exe にする。その後、キャッシュディレクトリを C:\Windows\Temp\ から C:\webserver\cache\preprod\ に変更し設定内容を保存します。
Montpellierのデモプロジェクトが動作していることを確認します。http://localhost/preprod/index.php/view/map/?repository=montpellier&project=montpellier
Lizmapのディレクトリの設定
構造化の目的のために、Lizmapディレクトリ・アーキテクチャを作成する必要があります。*.bat ファイルを使って、以下のディレクトリを作成してください(notepad, notepad++などを使ってファイルを開き、行末が正しいことを確認してください。)
REM common folder for both environments
mkdir C:\webserver\data\common\
REM common folder to publish SVG and images files in QGIS Server
mkdir C:\webserver\data\document\
REM directory of prod data
mkdir C:\webserver\data\prod\
REM common folder between rep in production environment
mkdir C:\webserver\data\prod\common\
mkdir C:\webserver\data\prod\rep1\
mkdir C:\webserver\data\prod\rep1\media\
mkdir C:\webserver\data\prod\rep1\media\js\
mkdir C:\webserver\data\prod\rep2\
mkdir C:\webserver\data\prod\rep2\media\
mkdir C:\webserver\data\prod\rep2\media\js\
REM directory of preprod data
mkdir C:\webserver\data\preprod\
REM common folder between rep in preprod (master) environment
mkdir C:\webserver\data\preprod\common\
mkdir C:\webserver\data\preprod\rep1\
mkdir C:\webserver\data\preprod\rep1\media\
mkdir C:\webserver\data\preprod\rep1\media\js\
mkdir C:\webserver\data\preprod\rep2\
mkdir C:\webserver\data\preprod\rep2\media\
mkdir C:\webserver\data\preprod\rep2\media\js\
次に、GIS管理者がQGISプロジェクトファイル、各プロジェクト用のLizmap設定ファイル、これらのフォルダに格納されたGISデータ、その他のドキュメントを送信できるように、C:\webserver\data\prod およびそのサブフォルダへのアクセス権を付与する必要があります。http://localhost/admin.php のLizmap管理パネルにアクセスして、新しいリポジトリを以下の手順で作成します。
Lizmapの設定 / 新規リポジトリの作成(ページ下部のボタン)
id = rep1
ラベル = リポジトリのラベル(後からでも変更可能です)
パス = /webserver/data/prod/rep1/
注釈
リポジトリのパスの重要性 -> C:\webserver\data\prod\rep1 は使用しないでください。
Apacheでは、SVGや画像ファイルをHTTPで公開するためにvhostを追加する必要があります。これにより、Windows上のQGIS Serverで相対パスを指定した場合にSVGアイコンが表示されないというバグを回避することができます。以前、 C:\webserver\data\document\ というフォルダを作成しましたが、今回は、C:\webserver\Apache24\conf\extra\httpd-vhosts.conf というファイルを変更して、以下のディレクトリを追加します。
#Add this configuration before of the two environments directories.
Alias /document/ "C:/webserver/data/document/"
<Directory "C:/webserver/Data/document">
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
この手順の後、Apacheを保存して再起動します。例えば、C:\webserver\Data\document\svg\my_icon.svg というsvgファイルをフォルダ内に追加し、http://localhost/webgis/document/svg/my_icon.svg でアクセスして、ベクターレイヤーのスタイルプロパティでSVGパスとして使用できるかどうかをご確認ください。
FTPサーバーの設定(例:Filezilla)
この設定は、リモートサーバーを使用している場合にのみ適用されます。
ここでは、リモートアクセスのためのFTPを設定し、qgisプロジェクトとそのプロジェクトに必要な一式をサーバに簡単にデプロイできるようにします。まず、FTPサーバー をダウンロードしてください。その後、デフォルトの設定をサーバにインストールします。
注釈
「管理者権限で実行する」 のを忘れないでください。
ポート: 14147 を指定します。
Windowsメニュー>すべてのプログラム>FileZilla Server>FileZilla Server InterfaceでFileZilla Server Interfaceを開き、OK をクリックして接続します(パスワードはまだ必要ありません)。
メニュー「編集」>「設定」でいくつかのオプションを変更し、必要に応じてIPフィルタを変更します。一部のIPだけをフィルタリングするには、最初のブロックで "*" を使用し、2番目のブロックでマスクを追加します。
パッシブモードの設定 > 次のIPを使用する、でのパブリックIPアドレスを入力し、ポートレンジを 5500-5700 に変更してください。
ロギング: ファイルへのロギングを有効にして、ログファイルのサイズを 500KB に制限します。
SSL/TLS設定:FTPのSSL/TLSを有効にし、証明書を C:\webserver\cert\ftp_certificate.crt ファイルとして生成します。 明示的なFTP over TLSを許可し、暗号化されていないプレーンなFTPを禁止します。最後に、 ポート 990 を残します。
Autoban - デフォルト値で有効にします。
ユーザーを作成します。編集 > ユーザー - 追加ボタンを押下し、 user= lizmap_user と pass= choose_a_password でユーザーを追加します。
フォルダの共有 (PROD と PREPROD 環境へのアクセス): C:\webserver\lizmap を追加し、ファイルとディレクトリにチェックを入れて全ての権限を与えます。
必要に応じて、ここにIPフィルターを追加することもできます。
リモート設定後、GIS管理者のワークステーションでは、フォルダの管理をサポートするために、リモートのフォルダ構造を正確に再現することができます。利用する際にはFTPクライアントをインストールする必要がありますす。 必要要件 セクションを参照してください。もう一つは、GISマネージャがリモート側で作成したクライアント証明書が必要です。その後、以下の方法:Server = リモートIPで接続してみてください。パッシブモードを使用し、IPV6をチェックします。
注釈
こちらのチュートリアル(フランス語のみ)をご覧ください: https://forum.hardware.fr/hfr/WindowsSoftware/Tutoriels/filezilla-serveur-securise-sujet_300273_1.htm