Installare Mapserver con php-mapscript su Debian

Da Wikipedia, l'enciclopedia libera.

Percorso: Home page / Software Web GIS / Installare Mapserver con php-mapscript su Debian

Contents

PHP

Prerequisiti

PostgreSQL deve essere installato con PostGIS support. Sono necessari alcuni pacchetti:

apt-get install libgd2 proj

poi

vi /etc/apt/sources.list

add:

deb-src http://http.us.debian.org/debian sarge main contrib non-free
apt-get update
apt-get source php4

Iniziamo a compilare php come cgi, senza installarlo. Vai nella directory in cui hai scompattato php (quella dove hai lanciato apt-get, probabilmente /root/php4-4.3.10)

cd php4-4.3.10/

e dai il comando seguente:

./configure --with-regex=system --with-gd --with-pgsql=/usr/ --enable-ftp --enable-force-cgi-redirect --with-ttf --with-jpeg --with-png --enable-gd-native-ttf --enable-dbase --with-dba --with-zlib --with-freetype --enable-cli

Se la compilazione si ferma con errori del tipo:

configure: error: libpng.(a|so) not found.

va installato il pacchetto dev corrispondente (in questo caso libpng12-dev); servono anche: postgresql-dev, libgd2-dev, libgdal1-dev Infine:

make

Mapserver


Download mapserver

wget http://cvs.gis.umn.edu/dist/mapserver-4.4.1.tar.gz /root/

NB: sostituire a 4.4.1 il numero della versione corrente spostati nella directory dove l'hai scaricato e scompattalo

cd /root
tar -xvvzf mapserver-4.4.1.tar.gz

e configura

make clean
./configure --with-gd --with-jpeg --with-png --with-php=/root/php4-4.3.10/ --with-tiff --with-freetype --with-postgis --with-proj --with-ogr --with-gdal

per dettagli sulla configurazione, digita

./configure --help

NB: bisogna sostituire a --with-php=../php-4.3.10 il path dove si trova il php compilato al punto 2; poi:

make
cp mapserv /usr/lib/cgi-bin/

Installare il modulo php_mapscript.so

Serve, ad es., per MapLab

cp ./mapscript/php3/php_mapscript.so /usr/lib/php4/path_corretto

NB: il path_corretto (la directory che contiene le estensioni di php) si trova creando in /var/www un file test.php che contiene:

< ?php
dl("php_mapscript.so");
phpinfo();
?>

e puntandoci il browser (NB: fra "<" e "?php" non ci deve essere spazio). Una volta che hai copiato il modulo sei ingrado di caricarlo, per� mapscript deve essere usato con php compilato come cgi. Probabilmente sulla tua macchina avrai anche il mod_php per apache che ti fa associare i file con estensione php all'interprete PHP. Sappi quindi che a questo punto per scriptare in mapscript devi cambiare l'estensione dei tuoi script, in phtml ad esempio. Poi configuri apache per far eseguire tutti i file con estensione phtml con l'interprete CGI php, mentre quelli con estensione php vengono passati a mod_php.

vi /etc/apache/httpd.conf

oppure

vi /etc/apache-ssl/httpd.conf

le linee

AddHandler phtml-script .phtml
Action phtml-script /cgi-bin/php

poi:

/etc/init.d/apache restart

oppure

/etc/init.d/apache-ssl restart

Così facendo dici ad apache di gestire un nuovo tipo di file che ha estensione .phtml, e che quando si richiede un file di quel tipo il contenuto viene interpretato da /cgi-bin/php.

Test

Per verificare se è stato installato in modo corretto, puntare un browser a:

http://servername/cgi-bin/mapserv

dove servername è il nome del server su cui è stato installato mapserver (ad es. localhost); se tutto va bene, dovrebbe apparire:

No query information to decode. QUERY_STRING is set, but empty.

Quindi scaricare il demo: http://maps.dnr.state.mn.us/mapserver_demos/workshop.zip ed editare il file index.html inserendo il percorso dove si trovano i vostri files (ad es. /var/www/website/workshop/itasca.map)

Note

In caso di spostamento dei layers, il path va cambiato sia nell'html (o php) sia nel *.map. L'include del php non funziona all'interno delle pagine mapscript.

Tutorials & docs

Vecchio howto per l'installazione

http://mapserver.gis.umn.edu/cgi-bin/wiki.pl?DebianLinux

Generale (raccolta di tutta la documentazione)

http://mapserver.gis.umn.edu/doc.html

Tutoral step by step

http://terrasip.gis.umn.edu/projects/tutorial/

Esempi

http://www.mobilegeographics.com/mapserver/

Tools di aiuto

http://mapserver.gis.umn.edu/contributed.html

Personal tools