Difference between revisions of "MapServer"

From Amahi Wiki
Jump to: navigation, search
m (more to come.. saving interim notes)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
 +
'''INCOMPLETE... work in progress'''
 +
------
 
== Intro ==
 
== Intro ==
 
MapServer is a web-based mapping platform, power many large enterprise mapping requirements.  It runs as a CGI or through its various API hooks in Python, PHP, Ruby and more.  A simple configuration file defines how your spatial data will be accessed and rendered.  A basic web templating system is also included for easy testing through basic HTML.
 
MapServer is a web-based mapping platform, power many large enterprise mapping requirements.  It runs as a CGI or through its various API hooks in Python, PHP, Ruby and more.  A simple configuration file defines how your spatial data will be accessed and rendered.  A basic web templating system is also included for easy testing through basic HTML.
Line 8: Line 10:
  
 
=== Packages ===
 
=== Packages ===
Install MapServer package using the ''yum'' installer, also include the proj library support files (epsg):
+
Install MapServer package using the ''yum'' installer, also include the proj library support files (epsg) and some basic fonts for playing with:
  yum install mapserver epsg
+
  yum install mapserver epsg bistream-vera-fonts
  
 
The process discovers about 12 other packages that fulfill its dependencies.  Overall install takes about 16MB of space.  Here's a list of the other packages it installs.
 
The process discovers about 12 other packages that fulfill its dependencies.  Overall install takes about 16MB of space.  Here's a list of the other packages it installs.
Line 43: Line 45:
 
  mkdir /var/hda/web-apps/mapserver/cgi-bin
 
  mkdir /var/hda/web-apps/mapserver/cgi-bin
 
  cp /usr/sbin/mapserv /var/hda/web-apps/mapserver/cgi-bin
 
  cp /usr/sbin/mapserv /var/hda/web-apps/mapserver/cgi-bin
  chown  -r apache.apache /var/hda/web-apps/mapserver/cgi-bin
+
  chown  -R apache.apache /var/hda/web-apps/mapserver/cgi-bin
  
 
This section is added to the middle of the file /etc/httpd/conf.d/1026-mapserver.conf:
 
This section is added to the middle of the file /etc/httpd/conf.d/1026-mapserver.conf:
 +
        Alias /tmp /var/hda/web-apps/mapserver/tmp
 +
        Alias /etc /var/hda/web-apps/mapserver/etc 
 
         ScriptAlias /cgi-bin /var/hda/web-apps/mapserver/cgi-bin
 
         ScriptAlias /cgi-bin /var/hda/web-apps/mapserver/cgi-bin
        Alias /tmp /var/hda/web-apps/mapserver/tmp
 
 
         <Directory "/var/hda/web-apps/mapserver/cgi-bin">
 
         <Directory "/var/hda/web-apps/mapserver/cgi-bin">
 
                 Options +ExecCGI
 
                 Options +ExecCGI
Line 58: Line 61:
 
  No query information to decode. QUERY_STRING is set, but empty.
 
  No query information to decode. QUERY_STRING is set, but empty.
  
Also we create a temporary folder for holding our map images:
+
Also we create a temporary folder for holding our map images and a folder for common settings files:
 
  cd /var/hda/web-apps/mapserver
 
  cd /var/hda/web-apps/mapserver
  mkdir tmp
+
  mkdir tmp etc
  chown -r apache.apache tmp
+
cp -r /usr/share/doc/mapserver-5.2.2/fonts etc
 +
cp -r /usr/share/doc/mapserver-5.2.2/symbols etc
 +
cp -r /usr/share/doc/mapserver-5.2.2/tests/symbols.txt etc/symbols
 +
  chown -R apache.apache tmp etc
  
 +
 
Now, onto more useful stuff, building a sample application.
 
Now, onto more useful stuff, building a sample application.
  
Line 70: Line 77:
 
  cd /var/hda/web-apps/mapserver/html
 
  cd /var/hda/web-apps/mapserver/html
 
  wget http://spatialguru.com/maps/apps/global.tar.gz
 
  wget http://spatialguru.com/maps/apps/global.tar.gz
 +
 +
 +
'''.... more to come...'''

Latest revision as of 16:41, 28 August 2009

INCOMPLETE... work in progress


Intro

MapServer is a web-based mapping platform, power many large enterprise mapping requirements. It runs as a CGI or through its various API hooks in Python, PHP, Ruby and more. A simple configuration file defines how your spatial data will be accessed and rendered. A basic web templating system is also included for easy testing through basic HTML.

Learn more about MapServer at mapserver.org. MapServer is an OSGeo project.

Installing

These are the long form notes for getting MapServer running in Amahi. Soon this will become a one-click installer package from the HDA interface.

Packages

Install MapServer package using the yum installer, also include the proj library support files (epsg) and some basic fonts for playing with:

yum install mapserver epsg bistream-vera-fonts

The process discovers about 12 other packages that fulfill its dependencies. Overall install takes about 16MB of space. Here's a list of the other packages it installs.

cfitsio.i386 0:3.130-3.fc9                fftw2.i386 0:2.1.5-16.fc9    
gdal.i386 0:1.5.3-1.fc9                    geos.i386 0:2.2.3-1.fc7         
grass-libs.i386 0:6.3.0-6.fc9           hdf5.i386 0:1.8.1-1.fc9      
libdap.i386 0:3.7.10-2.fc9               libgeotiff.i386 0:1.2.5-2.fc9   
librx.i386 0:1.5-10.fc9                      netcdf.i386 0:3.6.3-1.fc9    
ogdi.i386 0:3.2.0-0.11.beta2.fc9    proj.i386 0:4.5.0-4.fc9

Files

The rpm -ql mapserver command will list all the installed files from the MapServer package. The main executable is located at:

/usr/sbin/mapserv

And test files from:

/usr/share/doc/mapserver-5.2.2/tests

Are set up automatically by the HDA installer, into the MapServer Amahi web app:

/var/hda/web-apps/mapserver/html/test

These don't do anything with the web interface at all yet, though from the command line you can test that MapServer is installed okay by doing the following:

cd /var/hda/web-apps/mapserver/html/tests
shp2img -m test.map -o testoutput.png

Then you should be able to view the output through your Amahi MapServer service at: http://mapserver/tests/testoutput.png

It ain't pretty, but is a simple test the developers use.

Server Setup

As part of the installation the mapserv CGI file will get put in its own folder for Amahi and the httpd conf.d file is edited to allow the CGI to be executed.

mkdir /var/hda/web-apps/mapserver/cgi-bin
cp /usr/sbin/mapserv /var/hda/web-apps/mapserver/cgi-bin
chown  -R apache.apache /var/hda/web-apps/mapserver/cgi-bin

This section is added to the middle of the file /etc/httpd/conf.d/1026-mapserver.conf:

       Alias /tmp /var/hda/web-apps/mapserver/tmp
       Alias /etc /var/hda/web-apps/mapserver/etc   
       ScriptAlias /cgi-bin /var/hda/web-apps/mapserver/cgi-bin
       <Directory "/var/hda/web-apps/mapserver/cgi-bin">
               Options +ExecCGI
       </Directory>

After this, running /etc/init.d/httpd reload may be necessary if you are doing it manually.

Now you should be able to test that the mapserv CGI executes by going to: http://mapserver/cgi-bin/mapserver. The response should be:

No query information to decode. QUERY_STRING is set, but empty.

Also we create a temporary folder for holding our map images and a folder for common settings files:

cd /var/hda/web-apps/mapserver
mkdir tmp etc
cp -r /usr/share/doc/mapserver-5.2.2/fonts etc
cp -r /usr/share/doc/mapserver-5.2.2/symbols etc
cp -r /usr/share/doc/mapserver-5.2.2/tests/symbols.txt etc/symbols
chown -R apache.apache tmp etc


Now, onto more useful stuff, building a sample application.

A Sample Application

The package will install a demo application based on the Global Mapping project mentioned in Web Mapping Illustrated by Tyler Mitchell. :-)

cd /var/hda/web-apps/mapserver/html
wget http://spatialguru.com/maps/apps/global.tar.gz


.... more to come...