在Windows上安装 ™¶
安装动物园项目二进制文件¶
备注
动物园项目Windows二进制文件的内容基于 GISInternals SDK ,请确保参考许可证信息。
备注
当使用动物园项目Windows二进制文件时,您可以决定是否要激活Java支持(默认情况下是这样的)。实际上,一旦安装完成,您将同时拥有 zoo_loader.cgi 和 zoo_loader_java.cgi 分别对应于没有激活和Java支持的动物园内核。因此,在您希望使用Java支持的情况下,只需重命名 zoo_loader_jave.cgi 文件位于 c:\inetpub\cgi-bin 到 zoo_loader.cgi 并确保 jvm.dll 可以找到。
使用安装程序¶
在运行动物园项目安装程序之前,请确保您有IIS和 Python 在您的机器上设置。然后下载 ZOO-Project-Installer 与您的平台相对应。第一次运行安装程序二进制文件时,可能会提示您授权它运行。安装程序运行后,只需访问以下链接:http://localhost/zoo demo/即可访问本地演示应用程序。
手动安装¶
在运行动物园项目安装程序之前,请确保您有IIS和 Python 在您的机器上设置。然后下载 ZOO-Project 与平台相对应的存档。解压,然后移动 cgi-bin , data 和 tmp 从未压缩文件夹到 c:\inetpub ,同时移动 wwwroot\zoo-demo 和 wwwroot\tmp 到 c:\inetpub\wwwroot .要完成安装,请以管理员身份运行以下命令以允许 zoo_loader.cgi 从http://localhost/cgi-bin/zoo-loader.cgi运行:
cd C:\Windows\System32\inetsrv appcmd.exe add vdirs /app.name:"Default Web Site/" /path:/cgi-bin /physicalPath:c:\inetpub\cgi-bin appcmd set config /section:handlers /+[name='CGI-exe1',path='*.cgi',verb='*',modules='CgiModule'] appcmd.exe set config /section:isapiCgiRestriction /+[path='c:\inetpub\cgi-bin\zoo_loader.cgi',description='ZOO-Project',allowed='True']
从源代码编译动物园项目¶
警告
确保首先执行 prerequisite steps 在编译动物园内核之前。
以下步骤用于Microsoft Visual Studio编译器(并用MSVC 2010测试)。
确保gnuwin32工具
bison.exe
andflex.exe
are found in your path. You can download the GNUwin32 tools here .修改
nmake.opt
指向本地库的文件。请注意,如果愿意,还可以直接在命令行中使用定义。参见 生成选项 有关此选项的详细信息。执行:
nmake /f makefile.vc
一个文件
zoo_loader.cgi
和libzoo_service.dll
应该创建。请注意,如果另一个文件名为zoo_loader.cgi.manifest
如果还创建了,则必须运行另一个命令:nmake /f makefile.vc embed-manifest
复制文件
zoo_loader.cgi
,libzoo_service.dll
和main.cfg
进入你的CGI bin目录。使用命令提示符,通过执行以下命令测试zoo内核:
D:\ms4w\Apache\cgi-bin> zoo_loader.cgi
应显示以下信息:
Content-Type: text/xml; charset=utf-8 Status: 200 OK <?xml version="1.0" encoding="utf-8"?> <ows:ExceptionReport xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/ows/1.1 http://schemas.opengis.net/ows/1.1.0/owsExceptionReport.xsd" xml:lang="en-US" version="1.1.0"> <ows:Exception exceptionCode="MissingParameterValue"> <ows:ExceptionText>Parameter <request> was not specified</ows:ExceptionText> </ows:Exception> </ows:ExceptionReport>
编辑
main.cfg
文件,以便它包含描述WPS服务的值。在Windows上运行的此类文件的一个示例是:[main] encoding = utf-8 version = 1.0.0 serverAddress = http://localhost/ lang = en-CA tmpPath=/ms4w/tmp/ms_tmp/ tmpUrl = /ms_tmp/ [identification] title = The Zoo WPS Development Server abstract = Development version of ZooWPS. See http://www.zoo-project.org fees = None accessConstraints = none keywords = WPS,GIS,buffer [provider] providerName=Gateway Geomatics providerSite=http://www.gatewaygeomatics.com individualName=Jeff McKenna positionName=Director role=Dev adressDeliveryPoint=1101 Blue Rocks Road addressCity=Lunenburg addressAdministrativeArea=False addressPostalCode=B0J 2C0 addressCountry=ca addressElectronicMailAddress=info@gatewaygeomatics.com phoneVoice=False phoneFacsimile=False
打开Web浏览器窗口,在您的WPS服务上执行getcapababilites请求:http://localhost/cgi-bin/zoo-loader.cgi?请求=getCapabilities&服务=wps
响应应显示在浏览器中,例如:
<wps:Capabilities xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsGetCapabilities_response.xsd" service="WPS" xml:lang="en-US" version="1.0.0"> <ows:ServiceIdentification> <ows:Title>The Zoo WPS Development Server</ows:Title> <ows:Abstract> Development version of ZooWPS. See http://www.zoo-project.org </ows:Abstract> <ows:Keywords> <ows:Keyword>WPS</ows:Keyword> <ows:Keyword>GIS</ows:Keyword> <ows:Keyword>buffer</ows:Keyword> </ows:Keywords> <ows:ServiceType>WPS</ows:ServiceType> <ows:ServiceTypeVersion>1.0.0</ows:ServiceTypeVersion> ...
生成选项¶
可以在 nmake.opt
文件定义要用于构建动物园内核的已构建库的位置。有些是可选的,有些是必需的,具体如下:
GetText(必需)¶
应通过定义 INTL_DIR
环境变量。它假设头部和 intl.lib
文件可用。
例如,如果您在 \buildkit\srcs\gettext-0.14.6
,您可以在运行之前定义以下内容 nmake /f makefile.vc
:
set INTL_DIR=\buildkit\srcs\gettext-0.14.6\gettext-runtime\intl
libcurl(必需)¶
libcurl的位置应该通过定义 CURL_DIR
环境变量。假设有2个子目录 include
包含libcurl头和 lib
其中包含 libcurl.lib
文件。
例如,如果你在 \buildkit\srcs\curl-7.38.0
,您可以在运行之前定义以下内容 nmake /f makefile.vc
:
set CURL_DIR=\buildkit\srcs\curl-7.38.0\builds\libcurl-vc10-x86-release-dll-ssl-dll-zlib-dll-ipvs6-sspi
libfcgi(必需)¶
libfcgi的位置应该通过定义 FCGI_DIR
环境变量。假设有2个子目录 include
包含fastcgi头和 libfcgi/Release
其中包含 libfcgi.lib
文件。
例如,如果您在 \buildkit\srcs\fcgi-2.4.1
,您可以在运行之前定义以下内容 nmake /f makefile.vc
:
set FCGI_DIR=\buildkit\srcs\fcgi-2.41.1
libxml2(必需)¶
libxml2的位置应该通过定义 XML2_DIR
环境变量。假设有2个子目录 include
包含libxml2头和 win32\bin.msvc
其中包含 libxml2.lib
文件。
例如,如果您在 \buildkit\srcs\libxml2-2.9.0
,您可以在运行之前定义以下内容 nmake /f makefile.vc
:
set XML2_DIR=\buildkit\srcs\libxml2-2.9.0
OpenSSL(必需)¶
应通过定义 SSL_DIR
环境变量。假设有2个子目录 inc32
包含头文件和 out32dll
其中包含 ssleay32.lib
文件。
例如,如果您在 \buildkit\srcs\openssl-1.0.2c
,您可以在运行之前定义以下内容 nmake /f makefile.vc
:
set SSL_DIR=\buildkit\srcs\openssl-1.0.2c
GDAL(必需)¶
gdal库的位置应该通过定义 GDAL_DIR
环境变量。它对应于您解压和构建gdal的路径,它假设您拥有 gdal_i.lib
此目录中的可用文件。
例如,如果您在 \buildkit\srcs\gdal-1.10.1
,您可以在运行之前定义以下内容 nmake /f makefile.vc
:
set GDAL_DIR=\buildkit\srcs\gdal-1.10.1
MAPServer(可选)¶
映射服务器库路径的位置应通过定义 MS_DIR
环境变量。它对应于您在系统上构建mapserver的路径,该目录应包含 nmake.opt
使用的文件。
例如,如果您在 \buildkit\srcs\mapserver-6.2.0
,您可以在运行之前定义以下内容 nmake /f makefile.vc
:
set MS_DIR=\buildkit\srcs\mapserver-6.2.0
python(可选)¶
python二进制文件路径的位置应该通过定义 PY_DIR
环境变量。它对应于您在系统上构建Python的路径。的位置 pythonXX.lib
文件应通过设置 PY_LIBRARY
环境变量。
例如,如果您在 \buildkit\srcs\Python-2.7
,您可以在运行之前定义以下内容 nmake /f makefile.vc
:
set PY_DIR=\buildkit\srcs\Python-2.7
set PY_LIBRARY=\buildkit\srcs\Python-2.7\PCBuild\python27.lib
javascript(可选)¶
libmozjs的位置应该通过定义 JS_DIR
环境变量。它对应于您在系统上构建libmozjs的路径,它假定头部和 mozjs185-1.0.lib
文件在此目录中可用。
例如,如果您在 \buildkit\srcs\js-1.8.5
,您可以在运行之前定义以下内容 nmake /f makefile.vc
:
set JS_DIR=\buildkit\srcs\js-1.8.5
PHP(可选)¶
应通过定义 PHP_DIR
环境变量。它对应于您在系统上构建PHP的路径。的位置 php5embed.lib
文件应通过设置 PHP_LIB
环境变量。
例如,如果您在 \buildkit\srcs\php-5.5.10
,您可以在运行之前定义以下内容 nmake /f makefile.vc
:
set PHP_DIR=\buildkit\srcs\php-5.5.10
set PHP_LIB=\buildkit\srcs\php-5.5.10\Release_TS\php5embed.lib
数据库后端(可选)¶
Zoo内核可以使用数据库后端来存储正在运行的服务的状态信息,为了激活此操作模式,应该定义环境变量 DB
并将其设置为任何值。因此,要激活此选项,可以在运行之前使用以下选项 nmake /f makefile.vc
:
set DB=activated
备注
要了解如何设置相应的数据库,请参阅 this section .
可选择编译单个服务¶
例如 OGR base-vect-ops 提供程序位于 zoo-project\zoo-services\ogr\base-vect-ops
目录。
首先编辑 makefile.vc 位于该目录中,并执行:
nmake /f makefile.vc
在同一个目录中, ogr_service.zo 应创建文件。
复制里面的所有文件
zoo-services\ogr\base-vect-ops\cgi-env
进入你的cgi-bin
目录通过以下URL测试此服务提供程序:
浏览器中显示的响应应包含:
<wps:ProcessSucceeded>Service "Buffer" run successfully.</wps:ProcessSucceeded>