在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
文件(集 tmpPath
和 tmpUrl
以适应您的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
.这边,两个 GetStatus , GetResult 和 解除 可以从访问同一数据库的任何主机运行请求。显然,这将要求zoo内核能够访问数据库服务器。要了解如何配置此连接以及如何创建此数据库,请参阅 [1] 和 [2] 分别。
备注
到目前为止,动物园的内核无法正确处理 解除 来自任何主机的请求。然而,它将提供来自任何主机的有效响应,但只有真正处理服务的主机才能停止它并删除所有链接的文件。
要创建动物园内核使用的新数据库,必须加载 schema.sql 文件。例如,您可以运行以下命令:
createdb zoo_project
psql zoo_project -f zoo-project/zoo-kernel/sql/schema.sql
元数据数据库(可选)¶
可以使用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/linux
和 jre/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"