1 | .. _kernel-installation-mac:
|
---|
2 |
|
---|
3 | Mac OS X
|
---|
4 | ========
|
---|
5 |
|
---|
6 | :Authors: Nicolas Bozon, Gérald Fenoy, Jeff McKenna
|
---|
7 | :Last Updated: $Date: 2011-12-07 13:44:57 +0000 (Wed, 07 Dec 2011) $
|
---|
8 |
|
---|
9 | .. contents:: Table of Contents
|
---|
10 | :depth: 2
|
---|
11 | :backlinks: top
|
---|
12 |
|
---|
13 | Using the Installer
|
---|
14 | -------------------
|
---|
15 |
|
---|
16 | 1. To install a default build of the ZOO-Project on your Mac OS X computer use the `installer <http://www.zoo-project.org/trac/raw-attachment/wiki/ZooDocumentation/ZOOKernel/MacOSX_installation/ZOO-Project-Installer.pkg>`__.
|
---|
17 |
|
---|
18 | .. note::
|
---|
19 | The installer assumes that you are using the distributed Apache2 version that comes with your Mac. The installer will
|
---|
20 | place ZOO-Kernel and ZOO-Services into your cgi-bin at ``/Library/WebServer/CGI-Executables``, and the zoo-demo folder
|
---|
21 | will be placed within your document root at ``/Library/WebServer/Documents``
|
---|
22 |
|
---|
23 | 2. Make sure that your Apache server is running, and then access the ZOO Project Demo at:
|
---|
24 |
|
---|
25 | http://localhost/zoo-demo/spatialtools.html
|
---|
26 |
|
---|
27 | 3. To add additional services, please follow the following intructions to compile your own ZOO Project instance.
|
---|
28 |
|
---|
29 | Compiling from Source
|
---|
30 | ---------------------
|
---|
31 |
|
---|
32 | 1. Install `Xcode <http://developer.apple.com/technologies/tools/>`__.
|
---|
33 |
|
---|
34 | 2. Before you start downloading the ZOO-Project source code, you'll need to install some tools required to
|
---|
35 | compile ZOO-Kernel properly.
|
---|
36 |
|
---|
37 | First of all install PROJ, GEOS and GDAL frameworks from `here <http://www.kyngchaos.com/software/frameworks>`__.
|
---|
38 |
|
---|
39 | At this step, you should get the following directories on your local hard drive :
|
---|
40 |
|
---|
41 | ::
|
---|
42 |
|
---|
43 | /Library/Frameworks/PROJ.framework
|
---|
44 | /Library/Frameworks/GEOS.framework
|
---|
45 | /Library/Frameworks/GDAL.framework
|
---|
46 |
|
---|
47 | 3. Then, create a ``src`` directory and inside that directory download the `gettext source code <http://www.gnu.org/software/gettext/#TOCdownloading>`__ and uncompress it.
|
---|
48 |
|
---|
49 | now, compile gettext with the following commands to produce a universal binary :
|
---|
50 |
|
---|
51 | ::
|
---|
52 |
|
---|
53 | cd gettext-0.18.1.1
|
---|
54 | CFLAGS="-O -g -arch i386 -arch ppc -arch x86_64" \
|
---|
55 | LDFLAGS="-arch i386 -arch ppc -arch x86_64" ./configure
|
---|
56 | make
|
---|
57 | sudo make install
|
---|
58 |
|
---|
59 | 4. Compile and install your ZOO-Kernel
|
---|
60 |
|
---|
61 | - Download source from SVN, and use the following command to compile libcgic :
|
---|
62 |
|
---|
63 | ::
|
---|
64 |
|
---|
65 | svn co http://svn.zoo-project.org/svn/trunk zoo
|
---|
66 | cd zoo/thirds/cgic206
|
---|
67 | make
|
---|
68 |
|
---|
69 | - If you produced the ``libcgic.a`` file, you can run ``autoconf`` and then ``configure`` from zoo-kernel directory.
|
---|
70 |
|
---|
71 | ::
|
---|
72 |
|
---|
73 | cd zoo/zoo-kernel
|
---|
74 | autoconf
|
---|
75 | ./configure --with-python --with-java=macos \
|
---|
76 | --with-gdal-config=/Library/Frameworks/GDAL.framework/Versions/1.8/Programs/gdal-config
|
---|
77 |
|
---|
78 | Obviously, if you don't need Python or Java support then you should remove the corresponding configure option.
|
---|
79 |
|
---|
80 | .. note::
|
---|
81 | Note that we used the --with-java=macos configure option. Due to the generic location of the JDK on all
|
---|
82 | Mac OS X platforms, you don't have to provide its full path.
|
---|
83 |
|
---|
84 | - Now, run the following commands to compile and deploy your ZOO-Kernel on your Apache server :
|
---|
85 |
|
---|
86 | ::
|
---|
87 |
|
---|
88 | make
|
---|
89 | cp zoo_loader.cgi main.cfg /Library/WebServer/CGI-Executables
|
---|
90 |
|
---|
91 | You should be ready to request your ZOO-Kernel installation using the following link : http://localhost/cgi-bin/zoo_loader.cgi?request=GetCapabilities&service=WPS .
|
---|
92 |
|
---|
93 | If everything is ok, you can follow the next steps to deploy new Services Providers.
|
---|
94 |
|
---|
95 | .. note::
|
---|
96 | If you are using your own libs (not the default libs on your system) then you must take care to create
|
---|
97 | universal versions of those libs, as the ZOO-Kernel will try to create a universal binary. If you are
|
---|
98 | not following this advice, you might receive compile errors of ``symbol(s) not found for architecture ppc`` or ``file was built for
|
---|
99 | unsupported file format which is not the architecture being linked (ppc)``.
|
---|
100 |
|
---|
101 | Deploy the OGR Services Provider
|
---|
102 | --------------------------------
|
---|
103 |
|
---|
104 | Requirements
|
---|
105 | ************
|
---|
106 |
|
---|
107 | Before your try to use any service, please set the correct path in the ``main.cfg`` for tmpPath and tmpUrl.
|
---|
108 |
|
---|
109 | You can use the following setup :
|
---|
110 |
|
---|
111 | ::
|
---|
112 |
|
---|
113 | tmpPath = /Library/WebServer/Documents/tmp
|
---|
114 | tmpUrl = ../../tmp
|
---|
115 |
|
---|
116 | Obviously you'll then need to create this directory, using the following command :
|
---|
117 |
|
---|
118 | ::
|
---|
119 |
|
---|
120 | mkdir /Library/WebServer/Documents/tmp
|
---|
121 |
|
---|
122 | C Version
|
---|
123 | *********
|
---|
124 |
|
---|
125 | To compile the base-vect-ops ServicesProvider you'll need to edit the Makefile in *zoo/zoo-services/ogr/base-vect-ops/*
|
---|
126 | directory. Add "-I/Library//Frameworks/GEOS.framework/Versions/3/Headers/" to the CFLAGS value on the first line.
|
---|
127 | To compile, add GDAL framework to the PATH environmenet variable, to ensure that gdal-config tool will be found,
|
---|
128 | run make and then copy cgi-env files in the /Library/WebServer/CGI-Executables directory.
|
---|
129 |
|
---|
130 | ::
|
---|
131 |
|
---|
132 | cd zoo/zoo-services/ogr/base-vect-ops/
|
---|
133 | export PATH=$PATH:/Library/Frameworks/GDAL.framework/Versions/1.7/Programs/
|
---|
134 | make
|
---|
135 | cp cgi-env/* /Library/WebServer/CGI-Executables
|
---|
136 |
|
---|
137 | You can test using this `url <http://localhost/cgi-bin/zoo_loader.cgi?request=Execute&service=WPS&version=1.0.0&Identifier=Buffer&DataInputs=BufferDistance=1@datatype=interger;InputPolygon=Reference@xlink:href=http%3A%2F%2Fwww.zoo-project.org%3A8082%2Fgeoserver%2Fows%3FSERVICE%3DWFS%26REQUEST%3DGetFeature%26VERSION%3D1.0.0%26typename%3Dtopp%3Astates%26SRS%3DEPSG%3A4326%26FeatureID%3Dstates.15>`__
|
---|
138 | if everything is ok with your setup.
|
---|
139 |
|
---|
140 | Python Version
|
---|
141 | **************
|
---|
142 |
|
---|
143 | **Requirements**
|
---|
144 |
|
---|
145 | First of all run python from a Terminal.app and try the following import from the python interpreter :
|
---|
146 |
|
---|
147 | ::
|
---|
148 |
|
---|
149 | import osgeo.ogr
|
---|
150 | import libxml2
|
---|
151 |
|
---|
152 | If you get an issue when importing the libxml2 module from your python interpreter then that means you
|
---|
153 | need to install the Python support for the libxml2 library which is already installed on your Mac OS X environment.
|
---|
154 | To accomplish this, you have first to determine what version of libxml2 is installed on your platform, using the following command:
|
---|
155 |
|
---|
156 | xml2-config --version
|
---|
157 |
|
---|
158 | Download the source corresponding to your version (i.e. on 10.6.6 you get 2.7.3) from the libxml2
|
---|
159 | `download page <ftp://xmlsoft.org/libxml2/>`__ into your ``src`` directory then uncompress it.
|
---|
160 |
|
---|
161 | Use the following command to install the python support :
|
---|
162 |
|
---|
163 | ::
|
---|
164 |
|
---|
165 | cd src/libxml2-2.7.3/python/
|
---|
166 | python setup.py install
|
---|
167 |
|
---|
168 | **Deploy OGR Python Services Provider**
|
---|
169 |
|
---|
170 | - Now copy the ``zoo-services/ogt/base-vect-ops/cgi-env`` files into ``/Library/WebServer/CGI-Executables``.
|
---|
171 |
|
---|
172 | You can test using this `url <http://localhost/cgi-bin/zoo_loader.cgi?request=Execute&service=WPS&version=1.0.0&Identifier=BufferPy&DataInputs=BufferDistance=1@datatype=interger;InputPolygon=Reference@xlink:href=http%3A%2F%2Fwww.zoo-project.org%3A8082%2Fgeoserver%2Fows%3FSERVICE%3DWFS%26REQUEST%3DGetFeature%26VERSION%3D1.0.0%26typename%3Dtopp%3Astates%26SRS%3DEPSG%3A4326%26FeatureID%3Dstates.15>`__
|
---|
173 | if everything is ok with your setup.
|
---|
174 |
|
---|
175 | Test using Local Demo Page
|
---|
176 | --------------------------
|
---|
177 |
|
---|
178 | - Download the `OpenLayers <http://openlayers.org>`__ library and uncompress it in your personal Sites directory
|
---|
179 | (located in your home directory).
|
---|
180 |
|
---|
181 | - Rename the OpenLayers directory as openlayers.
|
---|
182 |
|
---|
183 | - Download this `zip archive <http://www.zoo-project.org/trac/raw-attachment/wiki/ZooDocumentation/ZOOKernel/MacOSX_installation/zoo-demo.zip>`__
|
---|
184 | and then uncompress it in your personal Sites directory.
|
---|
185 |
|
---|
186 | - Load your local demo pages using urls similar to the following (replacing MyUserName by your MacOS user name) :
|
---|
187 |
|
---|
188 | * http://localhost/~MyUserName/zoo-demo/spatialtools.html
|
---|
189 | * http://localhost/~MyUserName/zoo-demo/spatialtools-py.html
|
---|
190 |
|
---|
191 |
|
---|