Como compilar mapserver

Son muchos los motivos por los que a veces es mejor tener nuestro propio mapserver compilado, un ejemplo común es porque necesitamos algo que no viene con nuestra distribución o bien una modificación del código fuente, el ejemplo más común que se me viene la cabeza ahora es:

msLoadMap(): Unknown identifier. Maximum number of layers reached.

Primero instalamos algunas dependencias:

apt-get install libgd-dev libcurl3-dev proj libtiff4-dev libjpeg62-dev libpng12-dev php5-dev libcairo2-dev libming-dev libogre-dev libreadline5-dev
cd /usr/src 

Ahora no todos los paquetes que trae debian sirven para nuestra implementación de mapserver, por eso es que compilaremos algunos paquetes.

Compilamos libgeotiff

wget “ftp://ftp.remotesensing.org/pub/geotiff/libgeotiff/libgeotiff-1.2.5.tar.gz”
tar -xzf libgeotiff-1.2.5.tar.gz
cd libgeotiff-1.2.5
./configure
make
make install
cd ..

Compilamos libgd

apt-get remove libgd-dev
wget “http://www.libgd.org/releases/gd-2.0.35.tar.gz”
cd gd-2.0.35
./configure
make
make install
cd ..

Compilamos gdal

wget “http://download.osgeo.org/gdal/gdal-1.7.1.tar.gz”
tar -xzf gdal-1.7.1.tar.gz
cd gdal-1.7.1
./configure –with-proj=/usr/lib –enable-runpath –with-ogr
make && make install

Compilamos libjpeg

wget “http://www.ijg.org/files/jpegsrc.v8a.tar.gz”
tar -xzf jpegsrc.v8a.tar.gz
cd jpeg
./configure
make && make install

Y ahora solo nos queda… cha cha cha chann cha channn

Compilar mapserver

wget “http://download.osgeo.org/mapserver/mapserver-5.6.3.tar.gz”
tar -xzf mapserver-5.6.3.tar.gz
cd mapserver-5.6.3
./configure –with-gd=/usr/local –with-png –with-zlib –with-jpeg –with-libiconv –with-pdf –with-proj –with-threads –with-geos –with-gdal –with-postgis –with-httpd=/usr/sbin/apache2 –with-php=/usr/include/php5 –with-cairo –with-ming –with-curl –with-wms –with-wmsclient –with-sos –with-ogr=/usr/local/bin/gdal-config –with-jpeg=/usr/local
make

Si todo sale bien el mapserv les debería quedar así:

solucionesroot:~# /usr/src/mapserver-5.6.3/mapserv -v
MapServer version 5.6.3 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG OUTPUT=WBMP OUTPUT=SWF OUTPUT=SVG SUPPORTS=PROJ SUPPORTS=AGG SUPPORTS=CAIRO SUPPORTS=FREETYPE SUPPORTS=ICONV SUPPORTS=WMS_SERVER SUPPORTS=WMS_CLIENT SUPPORTS=SOS_SERVER SUPPORTS=THREADS SUPPORTS=GEOS INPUT=EPPL7 INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE
Espero les sirva. Saludos.