Mapserver + php_mapscript.so

Voici une procédure d'installation de Mapserver avec Proj, GEOS, OGDI et PostGIS. Mapserver contiendra également le module php_mapscript.so

Les versions sont:
PGSQL: 8.1.8
PHP: 5.1.6
Postgis: 1.1.3G
GEOS: 2.2.8
GDAL:1.1.3
OGDI:3.1.1
PROJ:4.4.9

Le système accueillant la plateforme est une centos 4.4

Postgres et PHP:

On active le canal CentosPlus dans le fichier /etc/yum.repos.d/Centos-Base.repo et on inclut seulement les packages qui nous intéressent
##################################
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=1
includepkgs=php* postgresql-*
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4
##################################

On lance l'installation avec la commande "yum install PKGNAME"
Voici la liste des packages installés:
PHP:
php-common-5.1.6-3.el4s1.5
php-5.1.6-3.el4s1.5
php-pgsql-5.1.6-3.el4s1.5
php-cli-5.1.6-3.el4s1.5
php-pdo-5.1.6-3.el4s1.5
php-devel-5.1.6-3.el4s1.5
php-gd-5.1.6-3.el4s1.5
Postgres:
postgresql-libs-8.1.8-1.el4s1.1
postgresql-server-8.1.8-1.el4s1.1
postgresql-devel-8.1.8-1.el4s1.1
postgresql-tcl-8.1.8-1.el4s1.1
postgresql-odbc-08.01.0200-2.el4s1.3
postgresql-contrib-8.1.8-1.el4s1.1
postgresql-test-8.1.8-1.el4s1.1
postgresql-8.1.8-1.el4s1.1
postgresql-python-8.1.8-1.el4s1.1
postgresql-jdbc-8.1.4-1.centos.1
postgresql-docs-8.1.8-1.el4s1.1
postgresql-pl-8.1.8-1.el4s1.1
postgresqlclient7-7.4.14-1.el4s1.1.el4.centos

Je ne détaillerai pas la configuration de Postgres ni celle d'apache, de nombreux sites le font très bien.

POSTGIS:

Je souhaite que POSTGIS prenne en compte PROJ, GEOS, GDAL et OGDI
Je télécharge ces packages sur le site « Mammoth PostgreSQL »:
http://www.mammothpostgresql.org/browser/mammothpostgresql/RHEL4/RPMS/8.1.5-mapserver

GEOS:
J'installe le package "rpm-build"
Je recompille GEOS pour utiliser la dernière version (2.2.3)
Je télécharge le fichier SPEC geos-CMD.spec sur http://www.mammothpostgresql.org/browser/mammothpostgresql/RHEL4/SPECS
et le fichier geos-2.2.3.tar.bz2 sur le site http://geos.refractions.net
Je modifie le fichier specs pour bien prendre en compte la nouvelle version (2.2.3)
Je place le fichier geos-2.2.3.tar.bz2 dans le répertoire /usr/src/redhat/SOURCES et le fichier geos-CMD.spec dans /usr/src/redhat/SPECS/ et je lance:

# rpmbuild -ba /usr/src/redhat/SPECS/geos-CMD.spec

PROJ, GDAL, OGDI:
Je les installe directement depuis les RPMS téléchargés du site Mammoth

Postgis:
Je recréé le RPM à partir du srpm disponible sur Mammoth après l'avoir placé dans le dossier /usr/src/redhat/SRPMS.Ce package fonctionnera avec la version 8.1.8 de PG
#rpmbuild --rebuild postgis-1.1.3-1CMD.src.rpm
J'installe ensuite le nouveau package


MAPSERVER:

Prérequis:
La version utilisée est celle disponible sur le site: http://mapserver.gis.umn.edu/download/current?set_language=en, la version source 4.10.1
Je télécharge le fichier mapserver-4.10.1.tar.gz

Afin d'avoir le maximum d'options à la compillation j'installe les RPMS suivant permettant de gérer un grand nombre de formats d'image. Ces installations se font par YUM dans les canaux Base ou rpmforge
freetype: Base
Libjpeg: Base
PDFLib: rpmforge
php-devel: Base
libungif-devel: Base

Compillation:

#./configure --with-php=/usr/include/php/ --with-gdal=/usr/bin/gdal-config --with-ogr=/usr/bin/gdal-config --with-postgis=yes –with-proj=/usr

Les formats d'images sont reconnus par défaut au moment du ./configure
#make
#make install

J'obtiens le binaire mapserv et le fichier php_mapscript.so (dans mapscript/php3/)

Compillation du RPM:

Je place les fichiers créés dans /var/www/cgi-bin/ pour mapserv et dans /usr/lib/php/modules/ pour php_mapscript.so

Dans le dossier /usr/redhat/SPECS/ je créé un fichier mapserver.spec
J'exécute la commande rpmbuild -ba mapserver.spec
J'obtiens le package mapserver.rpm dans /usr/src/redhat/RPMS/i386


MAPSERVER.SPEC:

Summary: mapserver
Name: mapserver
Version: 4.10.1
Release: 1
Group: Applications
License: GPL
Source: mapserver.tar.gz
URL: http://www.pournin.com

BuildArch: i386
Requires: geos-devel gdal-devel proj libjpeg pdflib postgis
%description
Package contenant php_mapscript.so et mapserv
%prep
%setup -c mapserver
%install
%__cp -a . "${RPM_BUILD_ROOT-/}"
%clean
[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT"
%post
/sbin/ldconfig
%postun
/sbin/ldconfig
%files
%defattr(-,root,root,0755)
/usr/lib/php/modules/php_mapscript.so
/var/www/cgi-bin/mapserv
%changelog
* Fri Apr 06 2007 pournin <yves@pournin.com>
- Creation du package

Aucun commentaire: