1. 简述
关于QGIS Server相关的文档真的很少,国内也只有几篇关于QGIS Server安装的教程,而且随着QGIS的更新,这些教程逐步落后不再适用。
这篇教程使用的是当前长期稳定版本QGIS3.10,只适合当前版本,后期QGIS不断更新可能不再适用,仅供参考。
该教程只记录windows 10上安装使用的过程,在linux下过程也差不多,这里可以建议大家去看QGIS文档里的QIGS Server模块内容。
2. 使用OSGeo4W下载QGIS Server
使用OSGeo4W在线安装程序,只安装qgis-server(前提是你之前已经安装过qgis的桌面应用)。
注意:
这里有两个版本的qgis-server,它们分别代表:
qgis-ltr-server:长期稳定版(我使用的版本)
qgis-server:最新版
因为用的是QGIS3.10是长期稳定版,所以下面我对应下的是qgis-ltr-server。
另外,也可以使用安装包下载下来安装,这里提供一下QGIS Server的下载地址:
http://download.osgeo.org/osgeo4w/x86_64/release/qgis/qgis-server/
下载的版本要与桌面版本一致就行了。下载之后解压到QGIS的安装目录即可,压缩包内的目录结构与QGIS安装目录结构是对应的。
然后复制一份httpd.d目录下的httpd_qgis.conf.tmpl文件,改名为httpd_qgis-ltr.conf(我的是ltr版本)。
然后编辑这个新文件
将里面的@osgeo4w@替换为QGIS的安装目录
将@grassversion@替换为grass的版本号
将@windir@替换为windows的目录。
或者直接运行一下QGIS安装目录下的etc/postinstall下的qgis-server.bat脚本即可。
如果你是用OSGeo4W在线安装,上面的步骤都不需要做了。
3. 下载安装Apache服务器
qgis server实质上是一个cgis程序,所以需要Apache服务器来调用。
Apache下载地址:https://www.apachelounge.com/download/
下载后直接解压即可,注意不要解压到有空格的目录。
解压之后修改conf目录下在httpd.conf
首先修改最前面的SVRROOT变量值,这是你的Apache所在位置
Define SRVROOT "C:/Apache24"
ServerRoot "${SRVROOT}"
然后在httpd.conf最后位置,把httpd_qgis-ltr.conf
包含进去
因为qgis server是一个fastcgi程序,所以这里需要下载apache的fastcgi模块
下载地址:https://www.apachelounge.com/download/
注意要下载与apache对应的版本。
下载之后解压到apache目录下的modules目录下即可。
4. 使用及问题处理
完成上面的步骤之后,可以启动apache安装目录下的bin/httpd.exe程序了。
如果没有报错,则可以获取一下GetCapabilities试试
http://localhost:80/qgis-ltr/qgis_mapserv.fcgi.exe?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities
出现以上界面表示安装成功。
我用OSGeo4W在线下载的qgis-server没什么大问题,下载后按照上面的配置进行就可以了,可能用安装包安装的方式问题会比较多一点,网上其他文章也给出了一些解决方法。遇到的问题,无非就是在httpd.conf和httpd_qgis-ltr.conf 这两个文件里修修改改,多研究一下这两个文件就知道怎么改了。
还有一些缺少dll,这个怎么改我就不多说了,网上都有。如果以后遇到什么新问题,会在这里继续更新,也欢迎各位在下面评论留言。