高度なインストールの設定
プロキシ/リバースプロキシ下にLizmapをインストールする
LizmapのURLはお望みのものになってはいないかもしれません。たとえば、"https" プロトコルではなく "http" プロトコルを使用している場合です。あるいは、不要なポートを含んでいるかもしれません( http://mydomain/
ではなく http://mydomain:5468/
)。また、URLに実際のドメイン名が含まれていない場合もあります。
ほとんどの場合、ウェブサーバーまたはPHP-fpmがマスターとなるウェブサーバー(プロキシまたはリバースプロキシとして機能する)の背後にあり、PHPまたはバックエンドウェブサーバーがLizmapに付与する環境変数が誤っていることが原因となります。
LizmapにHTTPSを強制的に使うようにしたり、正しいドメインを使うようにしたり、正しいポートを使うようにさせることができます。
localconfig.ini.php
には、以下のような設定パラメータがあります。
例えば、httpプロトコルでポート80(true)または8080を強制的に使用する場合
forceHTTPPort = true
# or
forceHTTPPort = 8080
例えば、httpsプロトコルで443(true)または8443を強制的に使用する場合
forceHTTPSPort = true
# or
forceHTTPSPort = 8443
Lizmapが推測できない時のために、Lizmapアプリケーションのドメイン名を指定する場合
domainName = www.example.com
バックエンドのウェブサーバのURLパスが、フロントのウェブサーバのURLパスに対応していない場合(例:プロキシが http://example.com/index.php
のようなURLをあなたのウェブサーバ http://backend.example.com/foo/bar/index.php
にリダイレクトする場合、「パブリック」なURLパス(basePath)とバックエンドのURLパス(backendBasePath)を指定する必要があります。
[urlengine]
basePath= /
backendBasePath = /foo/bar
リバースプロキシがHTTPSリクエストをHTTPにリダイレクトする場合は、HTTPSチェックを無効にする必要があります。
[urlengine]
checkHttpsOnParsing = off
Lizmap 3.0.18および3.1.6以降では、リバースプロキシ上のリクエストで使用されているプロトコルがLizmapに不明な場合、生成されるすべてのURLにHTTPSプロトコルを強制的に適用するよう指示することができます。
[urlengine]
checkHttpsOnParsing = off
forceProxyProtocol = https
環境変数を使用する
環境変数で利用可能な認証情報やパラメータがある場合には、それらを localconfig.ini.php
や profiles.ini.php
ファイルに記述することができます。環境変数が PHP-FPM プロセスまたは APACHE/NGINX プロセスで利用可能であることを確認してください。
このファイルには、${VARIABLE_NAME}
の構文を使用します。
例えば、これらの変数に格納されているpostgresqlの認証情報を示すためには以下のようにします。
LIZMAP_PGSQL_HOST=localhost
LIZMAP_PGSQL_DATABASE=lizmap
LIZMAP_PGSQL_LOGIN=admin
LIZMAP_PGSQL_PASSWORD="Sup3Rp4ssw0rd!"
この設定をprofiles.ini.phpに書き込みます。
[jdb:jauth]
driver="pgsql"
database=${LIZMAP_PGSQL_DATABASE}
host=${LIZMAP_PGSQL_HOST}
user=${LIZMAP_PGSQL_LOGIN}
password=${LIZMAP_PGSQL_PASSWORD}