This short note explain how to configure, build and install the latest mapserver release on SuSE Linux.
Requirements
Mapserver use many external libraries to handle projections, and several raster and vector formats. In order to enable PHP/Mapscript, the definitive tool for WebGIS scripting, you will need also the PHP include headers and of course a working PHP installation.
If you plan to use a RDBMS such as POSTGIS or MySQL (the lattest is not a spatial enabled datasource, but can still be useful), you will need also those packages.
The problem here is that in most cases, if you install those required libraries from precompiled binary packages, they will miss some important configuration files or source include headers that mapserver needs to parse during compilation. For this reason we will compile most of the required libraries from sources.
Some other common libraries (e.g. zlib gd or libjpeg) are required and can be installed throug RPMs directly from the SuSE installation media or from the net, don’t forget to install also the corresponding "devel" packages (the package that contains the source code).
During the configuration step of one or more of the following libraries, you will probably see some errors regarding missing libraries, if this happens, don’t panic, you will surely find those libraries in the SuSE repositories.
Please follow the compilation steps in this order, otherwise you will break dependencies. I will assume you will operate as a normal unprivileged user, only the installation step must be done as root.
Installing GEOS
GEOS (Geometry Engine – Open Source) is C++ port of Java Topology Suite (JTS), download it from geos.refractions.net, choose the latest version (at the time of writing is http://geos.refractions.net/geos-2.2.1.tar.bz2) and save the compressed tar archive somewhere on your disk .
$ wget http://geos.refractions.net/geos-2.2.1.tar.bz2
Then uncompress it (a new directory will be created):
$ tar -xjvf geos-2.2.1.tar.bz2
change to the new directory:
$ cd geos-2.2.1
Now start the configuration script, we will install all our libraries in /usr/local (the default is /usr, but it is always a better approach to keep manually installed software in a separated location)
$ ./configure --prefix=/usr/local
If you get some configuration errors, read carefully the error message and install the missing pieces with yast. Then proceed with the usual compilation command:
$ make
$ su -c "make install"
Installing GDAL
GDAL is a translator library for raster geospatial data formats, download the latest release from www.remotesensing.org/gdal/.
$ wget http://www.gdal.org/dl/gdal-1.3.1.tar.gz
Proceed now as you did for geos:
$ tar -xzvf gdal-1.3.1.tar.gz
$ cd gdal-1.3.1/
$ ./configure --prefix=/usr/local
$ make
$ su -c "make install"
Installing proj4
Proj4 is a Cartographic Projections Library, get it fom proj.maptools.org
$ wget ftp://ftp.remotesensing.org/proj/proj-4.4.9.tar.gz
Proceed as usual:
$ tar -xzvf proj-4.4.9.tar.gz
$ cd proj-4.4.9
$ ./configure --prefix=/usr/local
$ make
$ su -c "make install"
Note: if the configure script fails complaining about missing proj4 header files, try copying projects.h
from /usr/local/include
to /usr/local/lib
, this makes absolutely no sense to me
but it works.
Install mapserver webgis
Mapserver (even if someone is now calling it "Mapserver Cheetah", I’m speaking of the old good "original" mapserver) is an Open Source development environment for building spatially-enabled internet applications.
The new site is now online at mapserver.gis.umn.edu take a look at it if you need some other informations about this powerful technology.
Now download the source code:
$ wget http://cvs.gis.umn.edu/dist/mapserver-4.6.2.tar.gz
$ tar -xzvf mapserver-4.6.2.tar.gz
$ cd mapserver-4.6.2
We are close to the point: we will enable many mapserver features, in particular, POSTGIS, MySQL and PHP/Mapscript support, if you don’t need those features, just delete the corresponding lines. Change also the PHP and Apache executable paths according to your installation, in my case I’m working with PHP5 and Apache is in /usr/sbin/httpd2
$ ./configure \
--with-wfs \
--with-wfsclient \
--with-wmsclient \
--with-proj=/usr/local/lib \
--with-gdal=/usr/local/bin/gdal-config \
--with-ogr=/usr/local/bin/gdal-config \
--with-php=/usr/include/php5 \
--with-mygis=yes \
--with-postgis \
--with-httpd=/usr/sbin/httpd2 \
--prefix=/usr/local
Now check configure output and proceed to compilation
$ make
There is no make install
in mapserver, just copy mapserv
executable in your CGI directory (usually /srv/www/cgi-bin
)
If you have enabled PHP/Mapscript, copy the shared object /mapscript/php3/php_mapscript.so
to yor PHP extension directory (usually /usr/share/php5/extensions
Finally, restart apache webserver and enjoy your fresh mapserver build!
John FItzpatrick
Great howto, Thank you.
Mapserver rocks.
Greetings.
larry
These were good instructions. After several tries to get mapscript working, following you directions were very easy and now mapserver is working fine.
henok
very helpful — short and precise.
thanx
grace
May I install this in Centos Linux platform or any other Linux platform?
I tested it on Centos 3.3 but failed.
Thank you so much.
Alessandro Pasotti
grace:
I have not any experience with centos, but I’m 100% sure that you can install mapserver on every POSIX compliant operating system and UNIX/Linux distribution, but this is not the right place to ask, please refer to the international mailing lists.
All information you need (included mailing list subscription and much more documentation and howtos) could be found at
http://mapserver.gis.umn.edu/
Regards.
Alessandro Pasotti
I would just add that we have experience and staff for doing mapserver configuration and installation through remote access all around the globe.
Feel free to ask for an offer.
Thank you.