iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 4
0
Modern Web

WebGIS入門學習 - 以Openlayers實作系列 第 4

Day 04. QGIS Server 發佈地圖服務 (IIS)

前言

昨天我們學會了用Apache設定QGIS Server,今天我們來學如果要使用IIS,要怎麼做呢?

今天的主要大綱:

承接昨天的內內容
3. 應用IIS系列
3-1. IIS安裝
3-2. QGIS Server與IIS之間相關重要設定

注意!Apache和IIS皆為服務發布工具,請擇一使用


3. 應用IIS系列

3-1. IIS安裝

IIS的安裝在windows系統下不需要額外下載軟體,可直接開啟系統的功能,安裝步驟如下:

  1. 開啟控制台 → 程式集 → 程式和功能 → 開啟或關閉 Window 功能

  2. 找到 Internet Information Service,點開子目錄

  3. 依照下圖將功能開啟,分別為:

    • Web Server (IIS)
      • Web Server
        • Common HTTP Features
          • Default Document
          • HTTP Errors
          • Static Content
          • HTTP Redirection
        • Health and Diagnostics
          • HTTP Logging
          • Request Monitor
        • Performance
          • Static Content Compression
        • Security
          • Request Filtering
        • Application Development
          • ASP
          • CGI
          • ISAPI Extensions
          • ISAPI filters
          • Server Side Includes
            https://ithelp.ithome.com.tw/upload/images/20200912/20108631vig7bM5Z6Z.png
  4. 安裝完成後,從開始功能列搜尋IIS管理員並開啟
    https://ithelp.ithome.com.tw/upload/images/20200912/20108631DabVoL0tHY.png

  5. 檢查是否有CGI、FastCGI設定、ISAPI及CGI限制、ISAPI篩選器、處理常式對應等功能
    https://ithelp.ithome.com.tw/upload/images/20200912/20108631YwnbH6lNwh.png


3-2. QGIS Server與IIS之間相關重要設定

設定步驟:

  1. 站台 → Default Web Site → 右鍵 新增應用程式
  2. 別名:qgis
    應用程式集區:DefaultAppPool
    實體路徑:C:\OSGeo4W64\apps\qgis-ltr\bin
    https://ithelp.ithome.com.tw/upload/images/20200912/20108631Qj3DUc3mwR.png
  3. 新增的站台,點選ASP → 啟用上層路徑:True
  4. 處理常式對應 → 新增模組對應
    要求路徑:*.fcgi.exe
    模組:FastCgiModule
    執行檔:C:\OSGeo4W64\apps\qgis-ltr\bin\qgis_mapserv.fcgi.exe
    名稱:QGIS_fastCGI
    https://ithelp.ithome.com.tw/upload/images/20200912/20108631uPgj6gc0va.png
  5. 設置要求限制 > 指令動詞 GET,HEAD,POST
  6. 在IIS根目錄點選【ISAPI及CGI限制】
    Active Server Page → 限制設為不允許
  7. 新增一個限制
    ISAPI或CGI路徑:C:\OSGeo4W64\apps\qgis-ltr\bin\qgis_mapserv.fcgi.exe
    描述:QGISSERVER
    允選延伸路徑執行 → 打勾
    https://ithelp.ithome.com.tw/upload/images/20200912/20108631hqiUC5UG9v.png
  8. 在IIS根目錄點選【FastCGI設定】
    新增應用程式,若已存在則編輯
    完整路徑:C:\OSGeo4W64\apps\qgis-ltr\bin\qgis_mapserv.fcgi.exe
    環境變數,點選右邊三點會進到EnvironmentVariables集合編輯器
  9. 新增以下環境變數 (格式 Name:Value),設定完成後按確認儲存
    1. O4W_QT_PREFIX:C:\OSGeo4W64/apps/Qt5
    2. O4W_QT_BINARIES:C:\OSGeo4W64/apps/Qt5/bin
    3. O4W_QT_PLUGINS:C:\OSGeo4W64/apps/Qt5/plugins
    4. O4W_QT_LIBRARIES:C:\OSGeo4W64/apps/Qt5/lib
    5. O4W_QT_TRANSLATIONS:C:\OSGeo4W64/apps/Qt5/translations
    6. O4W_QT_HEADERS:C:\OSGeo4W64/apps/Qt5/include
    7. O4W_QT_DOC:C:\OSGeo4W64/apps/Qt5/doc
    8. PATH:C:\OSGeo4W64\apps\qt5\bin;C:\OSGeo4W64\bin;C:\OSGeo4W64\apps\qgis-ltr\bin;C:\OSGeo4W64\apps\grass\@grasspath@\bin;C:\OSGeo4W64\apps\grass\@grasspath@\lib;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem
    9. QGIS_PREFIX_PATH:C:\OSGeo4W64\apps\qgis-ltr
    10. QT_PLUGIN_PATH:C:\OSGeo4W64\apps\qgis-ltr\qtplugins;C:\OSGeo4W64\apps\qt5\plugins
    11. TEMP:C:\Users\gelab\AppData\Local\Temp
    12. PYTHONHOME:C:\OSGeo4W64\apps\Python37
    13. PYTHONPATH:C:\OSGeo4W64\apps\Python37;C:\OSGeo4W64\apps\Python37\Scripts
    14. QGIS_SERVER_LOG_FILE:C:\OSGeo4W64\apps\qgis-server\qgis_server.log
    15. QGIS_SERVER_LOG_LEVEL:0
    16. QGIS_PLUGINPATH:C:\OSGeo4W64\apps\qgis-server\plugins
      https://ithelp.ithome.com.tw/upload/images/20200912/20108631O089I8MBM8.png
  10. 在 C:\OSGeo4W64\apps 新增資料夾 qgis-server
    並在 C:\OSGeo4W64\apps\qgis-server 新增資料夾 plugins
  11. 於 C:\OSGeo4W64 新增權限,右鍵 內容 → 安全性 → 編輯 → 新增
    新增 IUSR、IIS_IUSRS 這兩個權限
  12. 權限新增完成後,回到 IIS 內的qgis站台中,點選 驗證 → 匿名驗證 → 編輯
    特定使用者 設為 IUSR
  13. 以上即設定完成,可使用瀏覽器打開以下網址,有看到xml格式表示設置成功
    http://localhost/qgis/qgis_mapserv.fcgi.exe?&SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities
  14. 若要隱藏qgis-ltr/qgis_mapserv.fcgi.exe,不要直接顯示.exe檔,則在站台 → 處理常式對應多新增一個模組對應
    要求路徑:wms*
    模組:FastCgiModule
    執行檔:C:\OSGeo4W64\apps\qgis-ltr\bin\qgis_mapserv.fcgi.exe
    名稱:wms
  15. 在 C:\OSGeo4W64\apps\qgis-ltr\bin 複製qgis_mapserv.fcgi.exe,並改名為wms
  16. 以上設定完成,可使用瀏覽器打開以下網址,有看到xml格式表示設置成功
    http://localhost/qgis/wms?&SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities

小結

IIS是不是比Apache複雜多了呢?
現在我們都知道了如何安裝與設定好QGIS Server,不管是用Apache或是IIS
明天我們來利用QGIS Server發布服務!
圖資的來源會有兩種,從shapefile從資料庫,只要能用QGIS開啟的幾乎都可以發布服務~

明天做完,我們就完整學會了如何發布地圖服務拉!前置任務告了一個段落了,從第6天開始就要進到期待的WebGIS的開發囉!/images/emoticon/emoticon08.gif


上一篇
Day 03. QGIS Server 發佈地圖服務 (Apache)
下一篇
Day 05. QGIS Server 測試發布wms
系列文
WebGIS入門學習 - 以Openlayers實作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言