.. _kernel-installation-windows: Windows ======= :Authors: Nicolas Bozon, GĂ©rald Fenoy, Jeff McKenna :Last Updated: $Date: 2011-12-07 13:19:47 +0000 (Wed, 07 Dec 2011) $ .. contents:: Table of Contents :depth: 2 :backlinks: top Using OSGeo4W ------------- Install OSGeo4W *************** Download the OSGeo4W installer from http://trac.osgeo.org/osgeo4w/, and install it with all the dependencies needed by your services (GDAL/OGR for example). The following libs are required: FastCGI, libxml, Python, cURL. Install other tools and libraries ********************************* After installing OSGeo4W on your platform you'll need more GNU tools and libraries. `This package `__ contains full dependencies required to compile on WIN32 platform and this one contains `full runtime dependencies to place `__ in your c:\OSGeo4W\bin. Download and Install ZOO Kernel ******************************* Download the `binary version `__ of the ZOO Kernel for WIN32 then place it in the ``C:\OSGeo4W\bin`` directory. Don't forget to place a ``main.cfg`` file in the same directory, you can use a modified copy of `this file `__. Deploy ZOO Services Providers ***************************** Your can use the binary version of the OGR Services Provider available from `here `__. Then place the two libraries with their respective .zcfg files in your local ``C:\OSGeo4W\bin`` directory. Testing ******* Now you should be able to query your local ZOO Kernel. Compiling Using Your Own Libraries ---------------------------------- .. note:: You must be sure to perform the :ref:`prerequisite steps ` before compiling the ZOO Kernel. The following steps are for use with the Microsoft Visual Studio compiler (and tested with MSVC 2008). 1. Make sure the gnuwin32 tools ``bison.exe`` and ``flex.exe`` are found in your path. You can download the GNUwin32 tools `here `__. 2. Modify the file ``zoo-project\zoo-kernel\nmake.opt`` to point to your local libraries. You can find a modified nmake.opt that points to local libs `here `__. You can also find a modified ``zoo-project\zoo-kernel\makefile.vc`` file `here `__. 3. Execute: :: nmake /f makefile.vc 4. A file ``zoo_loader.cgi`` should be created. Note that if another file named ``zoo_loader.cgi.manifest`` is also created, you will have to run another command: :: nmake /f makefile.vc embed-manifest 5. Copy the files ``zoo_loader.cgi`` and ``main.cfg`` into your cgi-bin directory. 6. Using the command prompt, test the zoo-kernel by executing the following command: :: D:\ms4w\Apache\cgi-bin> zoo_loader.cgi which should display a message such as: :: Content-Type: text/xml; charset=utf-8 Status: 200 OK Parameter <request> was not specified 7. Edit the file ``cgi-bin/main.cfg`` so that it contains values describing your WPS service. An example of such a file running on Windows is: :: [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 8. Open a web browser window, and execute a GetCapababilites request on your WPS service: http://localhost/cgi-bin/zoo_loader.cgi?request=GetCapabilities&service=WPS The response should be displayed in your browser, such as: :: The Zoo WPS Development Server Development version of ZooWPS. See http://www.zoo-project.org WPS GIS buffer WPS 1.0.0 ... Optionally Compile Individual Services ************************************** An example could be the ``OGR base-vect-ops`` provider in the ``zoo-project\zoo-services\ogr\base-vect-ops`` directory. 1. Edit the makefile.vc located in that directory, and execute: :: nmake /f makefile.vc Inside that same directory, the file ``cgi-env\ogr_service.zo`` should be created. 2. Copy all of the files inside ``zoo-services\ogr\base-vect-ops\cgi-env`` into your cgi-bin directory 3. Test this service provider through the following 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 The response displayed in your browser should contain: :: Service "Buffer" run successfully.