高度なインストールの設定

プロキシ/リバースプロキシ下に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.phpprofiles.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}