Gevorderde configuratie

Loggen

To log requests sent to the server, set the following environment variables:

  • QGIS_SERVER_LOG_FILE: Specify path and filename. Make sure that the server has proper permissions for writing to file. File should be created automatically, just send some requests to server. If it’s not there, check permissions.

  • QGIS_SERVER_LOG_LEVEL: Specify desired log level. Available values are:

    • 0 INFO (log all requests),
    • 1 WARNING,
    • 2 CRITICAL (log just critical errors, suitable for production purposes).

    Example:

    SetEnv QGIS_SERVER_LOG_FILE /var/tmp/qgislog.txt
    SetEnv QGIS_SERVER_LOG_LEVEL 0
    

Notitie

  • When using Fcgid module use FcgidInitialEnv instead of SetEnv!
  • Server logging is also enabled if executable is compiled in release mode.

Omgevingsvariabelen

You can configure some aspects of QGIS server by setting environment variables. For example, to set QGIS server on Apache to use /path/to/config/QGIS/QGIS2.ini settings file, add to Apache config:

SetEnv QGIS_OPTIONS_PATH "/path/to/config/"

or, if using fcgi:

FcgidInitialEnv QGIS_OPTIONS_PATH "/path/to/config/"

This is a list of the variables supported by QGIS server:

  • QGIS_OPTIONS_PATH: Specifies the path to the directory with settings. It works the same way as QGIS application –optionspath option. It is looking for settings file in <QGIS_OPTIONS_PATH>/QGIS/QGIS2.ini.
  • QUERY_STRING: The query string, normally passed by the web server. This variable can be useful while testing QGIS server binary from the command line.
  • QGIS_PROJECT_FILE: the .qgs project file, normally passed as a parameter in the query string, you can also set it as an environment variable (for example by using mod_rewrite Apache module).
  • QGIS_SERVER_LOG_FILE: Specify path and filename. Make sure that server has proper permissions for writing to file. File should be created automatically, just send some requests to server. If it’s not there, check permissions.
  • QGIS_SERVER_LOG_LEVEL: Specify desired log level. See Loggen
  • MAX_CACHE_LAYERS: Specify the maximum number of cached layers (default: 100).
  • DISPLAY: This is used to pass (fake) X server display number (needed on Unix-like systems).
  • QGIS_PLUGINPATH: Useful if you are using Python plugins for the server, this sets the folder that is searched for Python plugins.
  • DEFAULT_DATUM_TRANSFORM: Define datum transformations between two projections, e.g. EPSG:21781/EPSG:2056/100001/-1;EPSG:2056/EPSG:21781/-1/100001 sets the transformation between CH1903 LV03 (EPSG:21781) and CH1903 LV95 (EPSG:2056) and vice versa. You also need to place grid shift .gsb files in the directory where proj4 stores the grid shift files, e.g. in /usr/share/proj. You need to run crssync after you added new .gsb files and look up the ID in the srs.db. Look at attribute coord_op_code of table tbl_datum_transform in srs.db to find the correct entry.

Verkorte namen voor lagen, groepen en project

Een aantal elementen heeft zowel een <Name> als een <Title>. De Naam is een teksttekenreeks gebruikt voor communicatie van machine-naar-machine terwijl de Titel ten behoeve van mensen is.

Een gegevensset kan bijvoorbeeld de beschrijvende Titel Maximum Atmospheric Temperature hebben en kan worden bevraagd met de verkorte Naam ATMAX. Gebruikers kunnen al titels instellen voor lagen, groepen en het project.

OWS-naam is gebaseerd op de gebruikte naam in de boom van lagen. Deze naam is meer een label voor mensen dan een naam voor communicatie van machine-naar-machine.

QGIS Server ondersteunt:

  • bewerkingen van verkorte naam in Laageigenschappen. U kunt dit wijzigen door met rechts te klikken op een laag en te kiezen voor Eigenschappen ‣ tab Metadata ‣ Omschrijving ‣ Korte naam.

  • dialoogvenster voor gegevens van WMS om de boom van lagen te groeperen (verkorte naam, titel, abstract)

    Door met rechts te klikken op een lagengroep en de optie Groeperen WMS-gegevens instellen te selecteren zult u krijgen:

    ../../../../_images/set_group_wms_data.png

    Dialoogvenster Groeperen WMS-gegevens instellen

  • bewerkingen voor verkorte naam voor projecteigenchappen - voeg een validatie als reguliere expressie “^[A-Za-z][A-Za-z0-9._-]*” toe om bewerking voor verkorte naam toegankelijk te houden via een statische methode

  • voeg een validatie voor regexp “^[A-Za-z][A-Za-z0-9._-]*” toe om bewerking voor verkorte naam toegankelijk te houden via een statische methode

    U kunt een verkorte naam voor de bron van het project kiezen door te gaan naar Projecteigenschappen ‣ OWS Server ‣ Service-mogelijkheden (Capabilities) ‣ Korte naam.

  • toevoegen van een element TreeName aan de fullProjectSettings

Als een korte naam is ingesteld voor lagen, groepen en project wordt die door QGIS Server gebruikt als de laagnaam.

Verbinding naar servicebestand

U dient, om Apache het PostgreSQL servicebestand te kunnen laten herkennen (zie het gedeelte PostgreSQL service verbindingsbestand), uw bestand *.conf er als volgt uit te laten zien:

SetEnv PGSERVICEFILE /home/web/.pg_service.conf

<Directory "/home/web/apps2/bin/">
  AllowOverride None
.....

Lettertypen aan uw server van Linux toevoegen

Onthoud dat u projecten van QGIS kunt gebruiken die verwijzen naar lettertypen die niet als standaard op andere machines zijn geïnstalleerd. Dat betekent dat als u het project gaat delen, het er op andere machines anders uit kan zien (als de lettertypen niet bestaan op de doelmachine).

U dient eenvoudigweg de ontbrekende lettertypen te installeren op de doelmachine om er voor te zorgen dat dit niet gebeurt. Dit op machines als desktopsystemen te doen is gewoonlijk triviaal (dubbelklikken op de lettertypen).

Voor Linux, als u geen dekstopomgeving hebt geïnstalleerd (of als u liever via de opdrachtregel werkt) dient u:

  • Op Debian gebaseerde systemen:

    $ 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
    
  • Op Fedora gebaseerde systemen:

    $ 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