Importante
La traduzione è uno sforzo comunitario you can join. Questa pagina è attualmente tradotta al 100.00%.
6. Configurazione avanzata
6.1. Logging
Per registrare le richieste inviate al server, devi impostare la seguente variabile d’ambiente:
Con le seguenti variabili è possibile personalizzare ulteriormente la registrazione:
6.2. Variabili d’ambiente
Puoi configurare alcuni aspetti di QGIS Server impostando le environment variables.
A seconda del server HTTP e del modo in cui si esegue QGIS Server, esistono diversi modi per definire queste variabili. Questo è descritto in dettaglio in Apache HTTP Server.
Nome  | 
Descrizione  | 
Predefinito  | 
Servizi  | 
|---|---|---|---|
QGIS_OPTIONS_PATH  | 
Specifica il percorso della cartella con le impostazioni. Funziona come l’opzione   | 
“”  | 
All  | 
QGIS_PLUGINPATH  | 
Utile se stai utilizzando i plugin Python per il server, questo imposta la cartella che viene cercata per i plugin Python.  | 
“”  | 
All  | 
QGIS_PROJECT_FILE  | 
Il file di progetto  Nota che puoi anche indicare un progetto memorizzato in PostgreSQL, ad esempio   | 
“”  | 
All  | 
QGIS_SERVER_ALLOWED_EXTRA_SQL_TOKENS  | 
Elenco separato da virgole di stringhe che rappresentano i token SQL extra consentiti e accettati come componenti di un filtro di elementi.  | 
“”  | 
WMS  | 
QGIS_SERVER_API_RESOURCES_DIRECTORY  | 
Cartella di base per tutte le risorse statiche OGC API (come OAPIF/WFS3) (modelli HTML, CSS, JS, …)  | 
dipende dal packaging  | 
OAPIF/WFS3  | 
QGIS_SERVER_APPLICATION_NAME  | 
Nome dell’applicazione da utilizzare, ad esempio quando ci si connette a un database per identificare l’istanza del server QGIS connesso.  | 
Server QGIS3  | 
All  | 
QGIS_SERVER_API_WFS3_MAX_LIMIT  | 
Valore massimo per   | 
10000  | 
OAPIF/WFS3  | 
QGIS_SERVER_CACHE_DIRECTORY  | 
Specifica la cartella della cache di rete sul filesystem.  | 
  | 
All  | 
QGIS_SERVER_CACHE_SIZE  | 
Imposta la dimensione della cache di rete in MB.  | 
50 MB  | 
All  | 
QGIS_SERVER_CAPABILITIES_CACHE_SIZE  | 
Il numero massimo di capabilities del progetto da memorizzare nella cache.  | 
40  | 
All  | 
QGIS_SERVER_DISABLE_GETPRINT  | 
È un’opzione a livello di progetto per migliorare i tempi di lettura del progetto disabilitando il caricamento dei layout. L’attivazione di questa opzione disabilita la richiesta GetPrint di QGIS WMS. Imposta questo flag del progetto QGIS per non caricare i layout.  | 
false  | 
WMS  | 
QGIS_SERVER_FORCE_READONLY_LAYERS  | 
Forza QGIS Server ad aprire tutti i layer in modalità di sola lettura  | 
false  | 
All  | 
QGIS_SERVER_IGNORE_BAD_LAYERS  | 
I layer «bad» sono layer che non possono essere caricati. Il comportamento predefinito di QGIS Server è quello di considerare il progetto come non disponibile se contiene un layer non valido. Il comportamento predefinito può essere sovrascritto impostando questa variabile a   | 
false  | 
All  | 
QGIS_SERVER_LANDING_PAGE_PREFIX  | 
Prefisso del componente di percorso dell’URL di base della pagina di destinazione  | 
«»  | 
All  | 
QGIS_SERVER_LANDING_PAGE_PROJECTS_DIRECTORIES  | 
Cartelle utilizzate dal servizio di landing page per trovare i progetti .qgs e .qgz  | 
«»  | 
All  | 
QGIS_SERVER_LANDING_PAGE_PROJECTS_PG_CONNECTIONS  | 
Stringhe di connessione PostgreSQL utilizzate dal servizio di landing page per trovare i progetti  | 
«»  | 
All  | 
QGIS_SERVER_LOG_FILE  | 
Specifica il percorso e il nome del file. Assicurati che il server abbia i permessi corretti per scrivere sul file. Il file dovrebbe essere creato automaticamente, basta inviare alcune richieste al server. Se non c’è, controlla i permessi. Avvertimento QGIS_SERVER_LOG_FILE è deprecato da QGIS 3.4, utilizza invece QGIS_SERVER_LOG_STDERR. Il supporto per la registrazione dei file sarà rimosso in QGIS 4.0.  | 
“”  | 
All  | 
QGIS_SERVER_LOG_LEVEL  | 
Specifica il livello di log desiderato. I valori disponibili sono: 
  | 
0  | 
All  | 
QGIS_SERVER_LOG_PROFILE  | 
Aggiungi informazioni dettagliate sul profilo ai log, efficace solo quando QGIS_SERVER_LOG_LEVEL=0  | 
false  | 
All  | 
QGIS_SERVER_LOG_STDERR  | 
Attiva la registrazione su stderr. Questa variabile non ha effetto quando  
  | 
false  | 
All  | 
QGIS_SERVER_MAX_THREADS  | 
Numero di thread da utilizzare quando si attiva il rendering parallelo. Se il valore è   | 
-1  | 
All  | 
QGIS_SERVER_OVERRIDE_SYSTEM_LOCALE  | 
Imposta LOCALE da utilizzare dal server QGIS. Il valore predefinito è vuoto (nessuna sovrascrittura). Esempio:   | 
“”  | 
All  | 
QGIS_SERVER_PARALLEL_RENDERING  | 
Attiva il rendering parallelo per le richieste di WMS GetMap. È disabilitato ( 
  | 
false  | 
WMS  | 
QGIS_SERVER_PROJECT_CACHE_CHECK_INTERVAL  | 
Controlla l’intervallo della procedura periodica per l’invalidazione della cache, in millisecondi. L’impostazione predefinita è 0, che seleziona il File system watcher legacy.  | 
All  | 
|
QGIS_SERVER_PROJECT_CACHE_STRATEGY  | 
Definisce il metodo per invalidare la cache del progetto. Le alternative disponibili sono: 
  | 
filesystem  | 
All  | 
QGIS_SERVER_SERVICE_URL  | 
Questa è un’opzione per impostare l’URL del servizio se non è presente nel progetto. L’URL del servizio è definito da (in ordine di precedenza): 
 Negli ultimi quattro casi, l’URL del servizio risultante si basa sul parametro   | 
“”  | 
All  | 
QGIS_SERVER_SHOW_GROUP_SEPARATOR  | 
Definisce se un separatore di gruppi (ad esempio, il separatore delle migliaia) deve essere usato per i valori numerici (ad esempio, nelle risposte di GetFeatureInfo). Il valore predefinito è  
  | 
false  | 
WMS  | 
QGIS_SERVER_TRUST_LAYER_METADATA  | 
Si tratta di un’opzione a livello di progetto per migliorare i tempi di lettura del progetto utilizzando le estensioni dei layer vettoriali definite nei metadati del progetto e disabilitando il controllo dell’unicità della chiave primaria dei layer PostgreSQL/PostGIS. La fiducia nei metadati del layer può essere forzata impostando questa variabile a  Non usarlo se l’estensione dei layer non viene definita durante l’uso del progetto.  | 
false  | 
All  | 
QGIS_SERVER_WCS_SERVICE_URL  | 
È un’opzione per impostare l’URL del servizio se non è presente nel progetto. Vedere QGIS_SERVER_SERVICE_URL per maggiori informazioni.  | 
“”  | 
WCS  | 
QGIS_SERVER_WFS_SERVICE_URL  | 
È un’opzione per impostare l’URL del servizio se non è presente nel progetto. Vedere QGIS_SERVER_SERVICE_URL per maggiori informazioni.  | 
“”  | 
WFS  | 
QGIS_SERVER_WMS_MAX_HEIGHT / QGIS_SERVER_WMS_MAX_WIDTH  | 
Altezza/larghezza massima per una richiesta WMS. Viene utilizzato il valore più conservativo tra questo e quello del progetto. Se il valore è ``-1””, significa che non è stato impostato un massimo.  | 
-1  | 
WMS  | 
QGIS_SERVER_WMS_SERVICE_URL  | 
È un’opzione per impostare l’URL del servizio se non è presente nel progetto. Vedere QGIS_SERVER_SERVICE_URL per maggiori informazioni.  | 
“”  | 
WMS  | 
QGIS_SERVER_WMTS_SERVICE_URL  | 
È un’opzione per impostare l’URL del servizio se non è presente nel progetto. Vedere QGIS_SERVER_SERVICE_URL per maggiori informazioni.  | 
“”  | 
WMTS  | 
QUERY_STRING  | 
La stringa di query, normalmente passata dal server web. Questa variabile può essere utile per testare i binari del server QGIS dalla riga di comando. Ad esempio, per testare una richiesta GetCapabilities sulla linea di comando a un progetto che richiede anche una connessione PostgreSQL definita in un file pg_service.conf: PGSERVICEFILE=/etc/pg_service.conf \
QUERY_STRING="MAP=/home/projects/world.qgs&SERVICE=WMS&REQUEST=GetCapabilities" \
/usr/lib/cgi-bin/qgis_mapserv.fcgi
Il risultato dovrebbe essere il contenuto della risposta di GetCapabilities o, se qualcosa non va, un messaggio di errore.  | 
“”  | 
All  | 
6.3. Riepilogo impostazioni
All’avvio di QGIS Server, viene visualizzato un riepilogo di tutti i parametri configurabili grazie alle variabili d’ambiente. Inoltre, viene visualizzato anche il valore attualmente utilizzato e l’origine.
Per esempio con spawn-fcgi:
export QGIS_OPTIONS_PATH=/home/user/.local/share/QGIS/QGIS3/profiles/default/
export QGIS_SERVER_LOG_STDERR=1
export QGIS_SERVER_LOG_LEVEL=2
spawn-fcgi -f /usr/lib/cgi-bin/qgis_mapserv.fcgi -s /tmp/qgisserver.sock -U www-data -G www-data -n
 QGIS Server Settings:
   - QGIS_OPTIONS_PATH / '' (Override the default path for user configuration): '/home/user/.local/share/QGIS/QGIS3/profiles/default/' (read from ENVIRONMENT_VARIABLE)
   - QGIS_SERVER_PARALLEL_RENDERING / '/qgis/parallel_rendering' (Activate/Deactivate parallel rendering for WMS getMap request): 'true' (read from INI_FILE)
   - QGIS_SERVER_MAX_THREADS / '/qgis/max_threads' (Number of threads to use when parallel rendering is activated): '4' (read from INI_FILE)
   - QGIS_SERVER_LOG_LEVEL / '' (Log level): '2' (read from ENVIRONMENT_VARIABLE)
   - QGIS_SERVER_LOG_STDERR / '' (Activate/Deactivate logging to stderr): '1' (read from ENVIRONMENT_VARIABLE)
   - QGIS_PROJECT_FILE / '' (QGIS project file): '' (read from DEFAULT_VALUE)
   - MAX_CACHE_LAYERS / '' (Specify the maximum number of cached layers): '100' (read from DEFAULT_VALUE)
   - QGIS_SERVER_CACHE_DIRECTORY / '/cache/directory' (Specify the cache directory): '/root/.local/share/QGIS/QGIS3/profiles/default/cache' (read from DEFAULT_VALUE)
   - QGIS_SERVER_CACHE_SIZE / '/cache/size' (Specify the cache size): '52428800' (read from INI_FILE)
 Ini file used to initialize settings: /home/user/.local/share/QGIS/QGIS3/profiles/default/QGIS/QGIS3.ini
In questo caso particolare, sappiamo che i valori QGIS_SERVER_MAX_THREADS e QGIS_SERVER_PARALLEL_RENDERING vengono letti dal file ini che si trova nella cartella QGIS_OPTIONS_PATH (definita tramite una variabile d’ambiente). Le voci corrispondenti nel file ini sono /qgis/max_threads e /qgis/parallel_rendering e i loro valori sono true e 4 thread.
6.4. Connessione a file di servizio
Per far sì che apache sia a conoscenza del file di servizio PostgreSQL ( vedere la sezione File per la connessione a Servizio PostgreSQL) devi fare in modo che il tuo file *.conf assomigli a:
SetEnv PGSERVICEFILE /home/web/.pg_service.conf
<Directory "/home/web/apps2/bin/">
  AllowOverride None
.....
6.5. Aggiungere font al server Linux
Tieni presente che puoi utilizzare progetti QGIS che puntano a font che potrebbero non esistere per impostazione predefinita su altri computer. Ciò significa che se si condivide il progetto, questo potrebbe apparire diverso su altri computer (se i font non esistono sul computer di destinazione).
Per evitare che ciò accada, devi installare i font mancanti sul computer di destinazione. Sui sistemi desktop questa operazione è di solito banale (doppio clic sui font).
Per Linux, se non hai installato un ambiente desktop (o preferisci la linea di comando), devi installarlo:
Su sistemi basati su Debian:
sudo su mkdir -p /usr/local/share/fonts/truetype/myfonts && cd /usr/local/share/fonts/truetype/myfonts # copy the fonts from their location cp /fonts_location/* . chown root * cd .. && fc-cache -f -v
Su sistemi basati su Fedora:
sudo su mkdir /usr/share/fonts/myfonts && cd /usr/share/fonts/myfonts # copy the fonts from their location cp /fonts_location/* . chown root * cd .. && fc-cache -f -v