CONFIG

从MapServer 8.0开始,MapServer具有所需的全局配置文件,该文件通过 RFC 135 ,它的目的是使配置MapServer更加安全和直接。可以使用环境变量设置配置文件路径 MAPSERVER_CONFIG_FILE 。也可以在编译时为不同的发行版设置默认位置。

小技巧

例如,在Ubuntu上从源代码编译时,默认情况下,MapServer将在以下位置安装示例配置文件 /usr/local/etc/mapserver-sample.conf ,并且您必须将该文件重命名为 mapserver.conf

小技巧

对于MS4W用户(版本>=5),可以在以下位置找到配置文件 /ms4w/ms4w.conf

如果MapServer找不到配置文件,则会返回如下错误:

msLoadConfig(): Unable to access file.

小技巧

命令行实用程序map2img有一个开关 -conf 要设置配置文件的名称,请执行以下操作。

配置文件由MapServer CGI在运行时加载,并为所有映射文件提供站点级配置。配置文件有3个部分,详述如下。

ENV

此块允许将环境变量存储为名称值对-请参见 Environment Variables 有关所有可用选项的页面。在引入配置文件之前,不同平台对环境变量的支持有所不同。

ENV
  MS_MAP_PATTERN "^/opt/mapserver" ## required
END
MAPS

此块允许将键值映射到映射文件路径。如果 MS_MAP_NO_PATH 然后设置环境变量 only 这些密钥可用于 map= CGI参数。键的使用还有助于简化OGC API URL,例如键 itasca 可以用来代替URL中的映射文件路径,例如:ITASCA键不区分大小写-“http://localhost/mapserver/itasca/ogcapi/collections”和“Itasca”的处理方式相同。

MAPS
  ITASCA "/opt/mapserver/mapserver-demo/itasca.map"
  TEST_MAPFILE "/opt/mapserver/test/test.map"
END
PLUGINS

此块允许将键值映射到插件库路径。例如, MS SQL Plugin 。此插件注册表避免了映射文件加载可能不安全的库。

PLUGINS
  "mssql" "C:\MapServer\bin\ms\plugins\mssql2008\msplugin_mssql2008.dll"
END

配置文件的完整示例如下所示:

#
# Sample MapServer 8.0 Config File
#
CONFIG

  #
  # Environment variables
  #
  ENV
    #
    # Limit Mapfile Access
    #
    # MS_MAP_NO_PATH "1"
    MS_MAP_PATTERN "^/opt/mapserver" ## required
    # MS_MAP_BAD_PATTERN "[/\\]{2}|[/\\]?\\.+[/\\]|,"

    #
    # Global Log/Debug Setup
    #
    # MS_DEBUGLEVEL "5"
    # MS_ERRORFILE "/opt/mapserver/logs/mapserver.log"

    #
    # Proj Library
    #
    # PROJ_LIB "/usr/local/share/proj"

    #
    # Default Map
    #
    # MS_MAPFILE "/opt/mapserver/test/test.map"

    # disable POST requests (allowed by default, any value will do)
    # MS_NO_POST "1"

    # do not display mapserv version info for OGC requests etc.
    # MS_NO_VERSION "1"

    #
    # Other Options
    #
    # MS_ENCRYPTION_KEY "/opt/mapserver/mykey.txt"
    # MS_USE_GLOBAL_FT_CACHE 1 # use a global font cache
    # MS_PDF_CREATION_DATE "01/02/2022" # PDF create date metadata
    # MS_MAPFILE_PATTERN "\.map$"
    # MS_XMLMAPFILE_XSLT "/path/to/mapfile.xsl"
    # MS_MODE "BROWSE" # default mode for CGI calls
    # MS_OPENLAYERS_JS_URL "http://openlayers.org/api/OpenLayers.js"
    # MS_TEMPPATH "/tmp"
    # MS_MAX_OPEN_FILES 200 # maximum number of open files allowed on Windows
  END

  #
  # Map aliases
  #
  MAPS
    TEST_MAPFILE "/opt/mapserver/test/test.map"
  END

END