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í:
Tags: compilar mapserver, debian, mapserver, phpmapscript, postgis