在Unix/Linux上安装

要在Web服务器上构建和安装Zoo项目,需要4个步骤:

构建CGIC

从运行以下命令 thirds/cgic 创建CGIC库的目录。

cd thirds/cgic
make

CGIC类库的创意来自 http://www.boutell.com/cgic .

警告

您可能需要编辑 Makefile 如果您使用64位平台进行构建,而您的fcgi库不在 /usr/lib64 .

安装动物园内核

对于不耐烦的人

从目录运行以下命令 下载 并提取了动物园内核源代码以构建 zoo_loader.cgi 带有默认选项的CGI程序。

cd zoo-project/zoo-kernel
autoconf
./configure
make
make install

这应该为 zoo_loader.cgi CGI程序(按默认设置位于 /usr/lib/cgi-bin/ )和共享的库 libzoo_service (根据默认设置位于 /usr/local/lib

警告

在中编辑Zoo内核安装设置 main.cfg 文件(集 tmpPathtmpUrl 以适应您的Web服务器配置)。

配置选项

本节提供有关 动物园内核 配置选项。建议同时阅读 动物园内核配置 配置技术详细信息部分。

以下是与返回顺序相同的可用选项列表 ./configure --help 命令:

特定CGI目录

如果你的 cgi-bin 不在 /usr/lib/ 由于默认情况下是这样,因此可以使用以下选项指定特定的目标位置:

./configure --with-cgi-dir=/Lbrary/WebServer/CGI-Executables

这样,当你运行 make install 命令,将在指定的目录中部署zoo内核(因此, /Lbrary/WebServer/CGI-Executables `在本例中)。

特定的main.cfg位置(可选)

默认情况下,动物园内核搜索 main.cfg 文件来自其安装目录,但如果要将此文件存储在其他位置,则可以使用 --with-etc-dir 选项,这样它将搜索 main.cfg 文件中 sysconfdir 目录。

例如,您可以定义存储 main.cfg 文件是 /etc/zoo-project 目录,使用以下命令:

./configure --with-etc-dir=yes --sysconfdir=/etc/zoo-project

使用数据库后端(可选)

如果要在不同的Zoo内核实例之间共享正在运行的服务的信息,则应使用此选项: --with-db-backend .这边,两个 GetStatusGetResult解除 可以从访问同一数据库的任何主机运行请求。显然,这将要求zoo内核能够访问数据库服务器。要了解如何配置此连接以及如何创建此数据库,请参阅 [1][2] 分别。

备注

到目前为止,动物园的内核无法正确处理 解除 来自任何主机的请求。然而,它将提供来自任何主机的有效响应,但只有真正处理服务的主机才能停止它并删除所有链接的文件。

要创建动物园内核使用的新数据库,必须加载 schema.sql 文件。例如,您可以运行以下命令:

createdb zoo_project
psql zoo_project -f zoo-project/zoo-kernel/sql/schema.sql

备注

您可以选择另一个模式来存储动物园内核特定的信息。在这种情况下,需要将schema.sql文件编辑为取消注释行 3334 .

元数据数据库(可选)

可以使用PostgreSQL数据库存储有关WPS服务的元数据信息。此支持是可选的,需要使用 --with-metadb=yes 选择权。

要创建用于存储有关WPS服务的元数据信息的数据库,可以使用以下命令:

createdb zoo_metadb
psql zoo_metadb -f zoo-project/zoo-kernel/sql/zoo_collectiondb.sql

如果要转换现有的zcfg文件,则可以使用 zcfg2sql 来自命令行的工具。它可以在 thirds/zcfg2sql 并且可以通过运行 make 命令。编译之后,您只需要给它zcfg文件的路径,就可以获得将元数据信息存储在数据库中而不是zcfg文件中所需的SQL查询。

例如,您可以使用以下命令:

#Direct import in the zoo_metadb database
./zcfg2sql /Path/To/MyZCFGs/myService.zcfg | psql zoo_metadb
#Create a SQL file for a futur import
./zcfg2sql /Path/To/MyZCFGs/myService.zcfg > myService.sql

山药支架(可选)

如果 yaml.h 在您的 /usr/include 目录和 libyaml.so 在中未找到 /usr/lib ,A --with-yaml 选项可用于指定其位置。例如,如果头文件位于 /usr/local/include 共享库位于 /usr/local/lib ,可以使用以下命令:

$ ./configure --with-yaml=/usr/local

FastCGI支持(必需)

如果您的fastcgi库在默认搜索路径中不可用,则 --with-fastcgi 选项可用于指定其位置。例如,如果 libfcgi.so 躺在 /usr/local/lib 不在你的 LD_SEARCH_PATH ,可以使用以下命令:

$ ./configure --with-fastcgi=/usr/local

GDAL支持(必需)

如果在您的 PATH ,A --with-gdal-config 选项可用于指定其位置。例如,如果 gdal-config 躺在 /usr/local/bin 不在你的 PATH ,可以使用以下命令:

$ ./configure --with-gdal-config=/usr/local/bin/gdal-config

地理支持(可选)

如果 geos-config 在您的 PATH ,A --with-geosconfig 选项可用于指定其位置。例如,如果 geos-config 躺在 /usr/local/bin 不在你的 PATH ,可以使用以下命令:

$ ./configure --with-geosconfig=/usr/local/bin/geos-config

CGAL支持(可选)

如果 CGAL/Delaunay_triangulation_2.h 在您的 /usr/include 目录,A --with-cgal 选项可用于指定其位置。例如,如果文件位于 /usr/local/include 不在您的路径中,您可以使用以下命令:

$ ./configure --with-cgal=/usr/local

MapServer支持(可选)

为了使用MapServer激活WMS、WFS和WCS输出支持,需要 --with-mapserver 必须使用选项。通往 mapserver-config 它位于mapserver的源代码中,也必须使用以下命令进行设置:

$ ./configure --with-mapserver=/path/to/your/mapserver_config/

阅读更多关于 可选的MapServer支持 .

XML2支持(必需)

如果在路径中找不到xml2配置程序,则 --with-xml2config 选项可用于指定其位置。例如,如果xml2 config安装在 /usr/local/bin 它不在路径中,您可以使用以下命令:

$ ./configure --with-xml2config=/usr/local/bin/xml2-config

OGC API-处理支持(可选)

如果您想激活对的支持 OGC API - Processing ,您可以使用 --with-json :然后你需要隐藏 oas.cfg 与您的 main.cfg . 例如,可以使用以下命令:

$ ./configure --with-json=/usr/

python支持(可选)

这个 --with-python=yes 需要选项才能激活 动物园内核 python支持,使用以下命令:

$ ./configure --with-python=yes

这假定在 PATH .如果没有,则可以使用以下命令指定python安装目录(在 /usr/local 目录):

$ ./configure --with-python=/usr/local
Python 版本

如果有多个python版本可用,并且您想要使用一个特定的版本,那么您可以使用 --with-pyvers 选项如下所示:

$ ./configure --with-pyvers=2.7

javascript支持(可选)

为了激活对zoo内核的javascript支持,需要 --with-js=yes 必须指定配置选项。如果您使用的是“debian-like”gnu/linux发行版,那么dpkg将用于检测是否安装了所需的包,并且您不必在这里指定任何内容。只需要以下命令(假设在默认目录中找到js_api.h和libmozjs.so):

$ ./configure --with-js=yes

如果要使用的自定义安装 SpiderMonkey 或者,如果您不使用Debian打包系统,那么必须指定安装该系统的目录。例如,如果蜘蛛猴在 /usr/local/ ,则必须使用以下命令:

$ ./configure --with-js=/usr/local

PHP支持(可选)

这个 --with-php=yes 需要选项才能激活 动物园内核 php支持`,使用以下命令:

$ ./configure --with-php=yes

这假设 php-config 可以在 <PATH>/bin 目录。所以,假设你的 php-config 可以在 /usr/local/bin ,然后使用以下命令:

$ ./configure --with-php=/usr/local

警告

Zoo内核可选的PHP支持需要本地PHP嵌入式安装。阅读更多信息 here .

Java支持(可选)

为了激活对Java内核的Java支持, --with-java 必须配置配置选项,并设置Java SDK的安装路径。例如,如果Java SDK安装在 /usr/lib/jvm/java-6-sun-1.6.0.22/ 目录,然后可以使用以下命令:

$ ./configure --with-java=/usr/lib/jvm/java-6-sun-1.6.0.22/

这假设 include/linuxjre/lib/i386/client/ 子目录存在于 /usr/lib/jvm/java-6-sun-1.6.0.22/ 以及 include/linux 目录包含 jni.h 头文件和 jre/lib/i386/client/ 目录包含 libjvm.so 文件。

备注

你可以使用 --with-java-rpath 选项生成一个二进制代码,知道libjvm的位置。

备注

使用Mac OS X,您只需设置 苹果操作系统 作为 --with-java 激活Java支持的选项。例如:

$ ./configure --with-java=macos

Perl支持(可选)

这个 --with-perl=yes 选项可用于激活Zoo内核Perl支持,如下所示:

$ ./configure --with-perl=yes

这假设在您的路径中找到Perl。例如,如果Perl安装在 /usr/local/usr/local/bin 在您的 PATH ,然后可以使用以下命令(假定 /usr/local/bin/perl 存在):

$ ./configure --with-perl=/usr/local

ORFEO工具箱支持(可选)

为了激活可选的ORFEO工具箱支持, --with-otb 必须使用选项,使用以下命令:

$ ./configure --with-otb=/path/to/your/otb/

阅读更多关于 可选的ORFEO工具箱支持 .

警告

要建立ORFEO工具箱支持,您需要ITK,ITK的默认版本是4.5,如果您使用其他版本,请确保使用 --with-itk-version 具体说明系统上可用的版本。

SAGA GIS支持(可选)

为了激活可选的SAGA GIS支持, --with-saga 必须使用选项,使用以下命令:

$ ./configure --with-saga=/path/to/your/saga/

阅读更多关于 可选SAGA GIS支持 .

警告

如果wx配置不在 PATH 请务必使用 --with-wx-config 指定其位置。

翻译支持(可选)

动物园内核能够用不同的自然语言翻译它产生的信息。这需要您下载 the messages file 如果有的话,用你的语言翻译。然后,为了使这种翻译支持有效,您必须在系统上手动生成请求的文件。例如,对于法语翻译,可以使用以下命令:

msgfmt messagespo_fr_FR.utf8.po -o /usr/share/locale/fr/LC_MESSAGES/zoo-kernel.mo

动物园内核还可以处理动物园服务的翻译。请参阅 this document 有关添加新动物园服务翻译文件的过程的详细信息。

警告

决赛地点 .mo 文件可能因系统设置而异。

安装动物园服务

警告

我们在这里介绍了一个基本动物园服务的全球安装程序,以了解由 可选的ORFEO工具箱支持可选SAGA GIS支持 ,请参阅具体文件。

根据用于实现要安装的Zoo服务的编程语言,您需要构建一个服务提供者。如果是 C福特兰 ,您将创建一个共享库,导出与此服务提供商提供的所有Zoo服务对应的函数。万一 Java ,您需要构建一个Java类。在任何其他编程语言中,您只需安装serviceprovider和zcfg文件。

如果需要构建共享库或Java类,那么您应该找到一个 Makefile 在负责帮助您构建此服务提供程序的服务目录中。所以你应该简单地运行 make 从服务目录生成所需文件的命令。

然后您只需复制 cgi-env 目录 cgi-bin .

安装 ogr/base-vect-ops 服务提供商,假设 cgi-bin 目录是 /usr/local/lib 使用以下命令:

cd zoo-project/zoo-services/ogr/base-vect-ops
make
cp cgi-env/*.* /usr/lib/cgi-bin

备注

你也可以跑步 make install 之后直接 make .

要安装hello py服务提供程序,请使用以下命令:

cd zoo-project/zoo-services/hello-py/
cp cgi-env/* /usr/lib/cgi-bin

测试您的安装

要测试安装,您应该首先能够从 cgi-bin 目录:

./zoo_loader.cgi "request=GetCapabilities&service=WPS"