|
|
(50 intermediate revisions by the same user not shown) |
The content of the new revision is missing or corrupted. |
Line 1: |
Line 1: |
| == How I built MapServer for CDS ==
| |
|
| |
|
| === Installation ===
| |
|
| |
| The INSTALL file has this text in it: "Visit http://mapserver.gis.umn.edu/ for full documentation and installation instructions." It took me a good 30 minutes to find any useful documentation at the UMN site!
| |
|
| |
| Look in their [http://mapserver.gis.umn.edu/cgi-bin/wiki.pl MapServerWiki].
| |
| Here is a doc on [http://mapserver.gis.umn.edu/cgi-bin/wiki.pl?MapServerCompilation MapServerCompilation]
| |
|
| |
| === Prerequisites ===
| |
|
| |
| Once you have the pieces installed, actually building MapServer is easy.
| |
|
| |
| I built PHP/Mapscript to run under Apache 2.0.54 on a system based on
| |
| [http://www.trustix.org/ Trustix Linux] 2.2. (This happens to be the system most readily available at the moment.) I have TSL 2.2 or 3.0 on all my servers.
| |
|
| |
| For performance reasons I want to use PHP as a loadable module so I am
| |
| building PHP/Mapscript.
| |
|
| |
| Relevant packages that need to be installed with TSL 2.2 include, from a to z,
| |
|
| |
| apache apache-devel
| |
| freetype freetype-devel
| |
| gd gd-devel
| |
| libjpeg libjpeg-devel
| |
| libpng libpng-devel
| |
| libtiff libtiff-devel
| |
| mysql-client
| |
| mysql-devel
| |
| xorg-x11-libs xorg-x11-devel
| |
| zlib zlib-devel
| |
|
| |
| There are probably a few that I missed. If you use the swup tool with TSL, it will resolve and automatically install other packages that depend on these.
| |
|
| |
| To build PHP and MapServer, you need the '*-devel' packages. Running only requires the base packages.
| |
|
| |
| The MySQL packages are only needed if you want to use MySQL. The xorg packages have many other things in them, but they are needed to build the XPM bitmap support which is mostly unneeded, I suppose.
| |
|
| |
| === PHP ===
| |
|
| |
| As mentioned above I have to build [http://www.php.net/ PHP] 4.4.0
| |
| Building requires the TSL packages: '''flex''', '''gcc''', '''make''', '''glibc-devel'''; generally these are required to build most anything.
| |
|
| |
| The options I used for the PHP configure script are:
| |
|
| |
| ./configure \
| |
| --with-apxs2 \
| |
| --with-pear \
| |
| --with-gd --enable-gd-imgstrttf --with-freetype-dir=/usr \
| |
| --with-png-dir=/usr \
| |
| --with-xpm-dir=/usr/X11R6 \ ''this is probably not needed''
| |
| --enable-gd-native-ttf \
| |
| --with-zlib \
| |
| --with-gettext \
| |
| --with-xml \
| |
| --with-mysql ''only if you want builtin mysql support''
| |
|
| |
| [[Note on configure files]]
| |
|
| |
| Then the usual
| |
|
| |
| make
| |
| su
| |
| make install
| |
|
| |
| The 'make install' step will modify your httpd.conf file to include the module
| |
| but you have to restart apache completely ('apachectl restart' will not work.)
| |
|
| |
| apachectl stop
| |
| apachectl restart
| |
|
| |
| === MapServer supporting cast of characters ===
| |
|
| |
| ==== Projections ====
| |
|
| |
| Projection transforms are handled by [http://proj.maptools.org/ PROJ]
| |
| which is currently at revision 4.4.9
| |
|
| |
| Proj includes a library for performing respective forward and inverse transformation of cartographic data to or from cartesian data with a wide range of selectable projection functions.
| |
|
| |
| Once you've plowed through the PHP build, it's almost not worth trying to find a pre-built package. You do need the g++ compiler which is in the '''gcc-c++-devel''' package. Then it's just a matter of downloading and unpacking the proj tar file and doing the traditional
| |
|
| |
| ./configure
| |
| make
| |
| su
| |
| make install
| |
|
| |
| ==== Raster and vector file support ====
| |
|
| |
| GDAL is for raster files, OGR is for vector files.
| |
|
| |
| '''GDAL''' is the "Geospatial Data Abstraction Library".
| |
| GDAL is a translator library for [http://www.gdal.org/formats_list.html raster geospatial data formats].
| |
|
| |
| Again, there might be a gdal pre-built package for TSL but what the heck, it is easy to build from sources, you get the latest version that way, and you don't waste time messing around with figuring out which Redhat version works on TSL.
| |
|
| |
| As of today version 1.3.0 is available from http://www.gdal.org/dl/<br>
| |
|
| |
| The [http://ogr.maptools.org/ OGR] library is a subcomponent of GDAL so you don't need to worry about it if you install GDAL. The OGR Simple Features Library allows MapServer users to display several types of vector data files in their native formats. For example, MapInfo Mid/Mif and TAB data do not need to be converted to ESRI shapefiles when using OGR support with MapServer.
| |
|
| |
| I chose to install the TIFF package separately so that it would be available to other programs (packages installed: '''libtiff''' and '''libtiff-devel'''). GDAL has internal TIFF support though I don't know what it consists of.
| |
|
| |
| After installing libtiff, I built the entire GDAL package with './configure; make; su; make install'
| |
|
| |
| === Building MapServer ===
| |
|
| |
| MapServer wanted me to install [http://sourceforge.net/project/showfiles.php?group_id=3157 Freetype] but there is no TSL Freetype so I installed
| |
| version 2.1.9 from source with the traditional './configure; make; make install',
| |
|
| |
| The configuration I used for the actual MapServer build looks like this:
| |
| <pre>
| |
| ./configure \
| |
| --prefix=/usr/local/mapserver \
| |
| --with-httpd=/usr/sbin/httpd \
| |
| --with-gd=/usr/local \
| |
| --with-freetype \
| |
| --with-jpeg \
| |
| --with-proj \
| |
| --with-ogr=/usr/local/bin/gdal-config \
| |
| --with-gdal=/usr/local/bin/gdal-config --with-wfs \
| |
| --with-tiff \
| |
| --with-php=../php-4.4.0
| |
| </pre>
| |