Configurazione avanzata

Lizmap dietro un Proxy/reverse proxy

A volte, alcuni URL in Lizmap possono non essere quello che volevi. Per esempio, stanno usando il protocollo «http» invece del protocollo «https». O potrebbero contenere una porta indesiderata ( http://mydomain:5468/ invece di http://mydomain/ ). O l’url potrebbe non contenere il vero nome del dominio.

Nella maggior parte dei casi, questo è dovuto al fatto che il server web o PHP-fpm è dietro un server web master (che agisce come proxy o reverse proxy), e quindi i parametri di ambiente dati da PHP o dal server web backend a Lizmap sono sbagliati.

Potete dire a Lizmap di forzare l” HTTPS, di usare il dominio giusto o di usare la porta giusta.

In localconfig.ini.php, puoi usare i seguenti parametri di configurazione.

Per forzare l’uso della porta 80 (true) o la 8080 per esempio con il protocollo http:

forceHTTPPort = true
# or
forceHTTPPort = 8080

Per forzare l’uso della porta 443 (true) o la 8443 per esempio con il protocollo https:

forceHTTPSPort = true
# or
forceHTTPSPort = 8443

Per specificare il nome del dominio della vostra applicazione Lizmap, se Lizmap non riesce ad indovinarlo:

domainName = www.example.com

Se il percorso URL del server web di backend non corrisponde al percorso URL del server web frontale (es: il proxy reindirizza url come http://example.com/index.php al tuo server web http://backend.example.com/foo/bar/index.php, devi indicare il percorso URL «pubblico» (basePath) e il percorso URL di backend (backendBasePath):

[urlengine]
basePath= /
backendBasePath = /foo/bar

Se il reverse proxy reindirizza la richiesta HTTPS a HTTP, devi disattivare il controllo HTTPS:

[urlengine]
checkHttpsOnParsing = off

A partire da Lizmap 3.0.18 e 3.1.6, è possibile indicare di forzare tutti gli URL generati con il protocollo HTTPS, quando Lizmap non sa qual è il protocollo utilizzato dalle richieste sul reverse proxy:

[urlengine]
checkHttpsOnParsing = off
forceProxyProtocol = https

Utilizzare le variabili d’ambiente

Se alcune credenziali o parametri sono disponibili in variabili d’ambiente, puoi indicarle nei file localconfig.ini.php o profiles.ini.php. Assicurati che le variabili d’ambiente siano disponibili al processo PHP-FPM o al processo APACHE/NGINX.

In questi files viene usata la sintassi «${VARIABILE_NOME}».

Per esempio, per utilizzare le credenziali postgresql salvate nelle seguenti variabili:

LIZMAP_PGSQL_HOST=localhost
LIZMAP_PGSQL_DATABASE=lizmap
LIZMAP_PGSQL_LOGIN=admin
LIZMAP_PGSQL_PASSWORD="Sup3Rp4ssw0rd!"

nel file profiles.ini.php si scrive:

[jdb:jauth]
driver="pgsql"
database=${LIZMAP_PGSQL_DATABASE}
host=${LIZMAP_PGSQL_HOST}
user=${LIZMAP_PGSQL_LOGIN}
password=${LIZMAP_PGSQL_PASSWORD}