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.

Apache

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

apache-setup

Test for Apache and PHP

Apache setup 2

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.

ScriptAlias

change line:

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

to:

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

to:

<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

to:

AddHandler cgi-script .cgi .pl .exe

Variables

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.

Test

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.