Update for QGIS 3.4:
Change line

SetEnv PYTHONHOME “C:OSGeo4W64appsPython36”

To line SetEnv PYTHONHOME “C:OSGeo4W64appsPython37”

Please note there is issue with 3.4 reported here: https://issues.qgis.org/issues/20873

Let’s try to setup brand new QGIS Server 3.0 on Windows 10 and Apache Web Server.


Download XAMPP distribution (you will also install PHP, probably you need it anyway). You can remove all other options as only installing Apache and PHP.

Apache setup


Test for Apache and PHP

Apache setup 2


Test for Apache and PHP

QGIS Server 3.0

Download 64 bit OSGeo4W installer. Choose advanced installation, from web and then select QGIS Server from Web part. I also needed QGIS Desktop on that machine so I checked also QGIS Desktop.


change line:

ScriptAlias /cgi-bin/ "C:/xampp/cgi-bin/"


ScriptAlias /cgi-bin/ "c:/OSGeo4W64/apps/qgis/bin/"

QGIS Server configuration

change part:

<Directory "C:/xampp/cgi-bin"
  AllowOverride None
  Options None
  Require all granted


<Directory "c:/OSGeo4W64/apps/qgis/bin">
  SetHandler cgi-script
  AllowOverride None
  Options ExecCGI
  Order allow,deny
  Allow from all
  Require all granted

Cgi handler

change line:

AddHandler cgi-script .cgi .pl .asp


AddHandler cgi-script .cgi .pl .exe


insert at bottom of http.conf:

SetEnv GDAL_DATA "C:OSGeo4W64sharegdal"
SetEnv QGIS_AUTH_DB_DIR_PATH "C:OSGeo4W64appsqgisresources"
SetEnv PYTHONHOME "C:OSGeo4W64appsPython36"
SetEnv PATH "C:OSGeo4W64bin;C:OSGeo4W64appsqgisbin;C:OSGeo4W64appsQt5bin;C:WINDOWSsystem32;C:WINDOWS;C:WINDOWSSystem32Wbem"
SetEnv QGIS_PREFIX_PATH "C:OSGeo4W64appsqgis"
SetEnv QT_PLUGIN_PATH "C:OSGeo4W64appsqgisqtplugins;C:OSGeo4W64appsQt5plugins"

That completes Apache configuration.


Restart Apache server (from XAMPP Control Panel) and open a GetCapabilities request to QGIS Server

You should receive standard WMS Capabilities XML response from QGIS Server.