Progetto

Generale

Profilo

Installare e configurare Mapbender

In queste note faremo riferimento alla procedura di installazione e configurazione di Mapbender su Debian Lenny. Il primo passo è quello di scaricare l'ultima versione del programma, che si può ottenere consultando questa pagina, nel nostro caso era la 2.5, che si è scaricata con:

wget http://www.mapbender.org/download/mapbender_2.5.zip

A questo punto si può scompattare il tutto ed installarlo in una posizione opportuna, nel nostro caso questo è stato fatto con:

unzip mapbender_2.5.zip
mv mapbender_2.5 /var/www/mapbender
chown www-data log

(cambiando i permessi alla cartella omonima per consentire la scrittura dei log).

Per poter utilizzare Mapbender occorre avere installato e configurato Apache, PHP5 e Postgres (o MySQL). Le versioni presenti su Lenny sono sufficientemente aggiornate, per cui si può ripetere l'installazione dei pacchetti necessari con le stesse modalità viste in MapserverConfig e PostgresPostgis, in sostanza occorrerà installare:

aptitute install libapache2-mod-php5 php5-pgsql php5-gd

inoltre per la procedura di configurazione é necessario installare anche:

aptitute install ... (da fare)

Una volta installati i pacchetti necessari si dovrà comfigurare opportunamente Apache per l'uso di Mapbender, nel nostro caso si è aggiunto in /etc/apache2/sites-available/default all'interno del virtual host generico la seguente configurazione:

    # Generic access to MapBender
    Alias /mapbender /var/www/mapbender/http
    <Directory /var/www/mapbender/http>
        Options MultiViews
        DirectoryIndex index.php
        Order allow,deny
        Allow from all
    </Directory>

si abbia poi cura di riavviare Apache.

Occorre poi creare l'opportuno database per Mapbender, se si usa anche Postgis (consigliato) si segua la procedura descritta in PostgresPostgis per la creazione dell'infrastruttura necessaria, una volta fatto questo si potrà riutilizzare l'utente geouser ivi definito, altrimenti il primo passo sarà definire un utente per l'uso del database, con:

su - postgres
createuser geouser -l -S -D -R -W

e poi creeremo un database, preferibilmente usando la codifica UTF8, assegnandone la proprietà a detto utente, questo può essere fatto con:

createdb -E UTF8 mapbender -O geouser

dopo di che si potranno inserire le definizioni delle tabelle necessario con lo schema fornito insieme ai sorgenti di mapbender, disponibile sotto resources/db/postgresql/, nel nostro caso allora dovremo eseguire il comando:

cd /var/www/mapbender/resources/db/postgresql
psql -h localhost -U geouser -f pgsql_schema.sql mapbender

dopo di che, avendo utilizzato l'UTF8, dovremo installare i dati presi dalla relativa directory con:

cd utf8
psql -h localhost -U geouser -f pgsql_data.sql mapbender

infine, usando postgres 8.3, si dovranno inserire vincoli e sequenze con:

cd ..
psql -h localhost -U geouser -f pgsql_serial_set_sequences.sql mapbender

a questo punto se si vuole usare le funzionalità aggiuntive di Postgis sul nostro database occorrerà ripetere quanto già visto in PostgresPostgis per il database appena creato, vale a dire:

createlang plpgsql mapbender
psql -h localhost -U geouser mapbender -f /usr/share/postgresql-8.3-postgis/lwpostgis.sql
psql -h localhost -U geouser mapbender -f /usr/share/postgresql-8.3-postgis/spatial_ref_sys.sql

ed infine, per maggior sicurezza entrare nel database con psql mapbender, dare i permessi di accesso:

grant all on geometry_columns to geouser;
grant select on spatial_ref_sys to geouser;

Una volta inseriti i dati nel database si dovrà eseguire la impostazione del programma, nella directory conf esiste uno scheletro di file di configurazione, da rinominare con:

cd /var/www/mapbender/conf
cp mapbender.conf-dist mapbender.conf

e si dovranno poi sostituire i dati di accesso al database, usando Postgres occorrerà mantenere la riga:

define("SYS_DBTYPE", "pgsql");

e poi andranno inseriti i dati opportuni nelle righe seguenti:

else {
        define("DBSERVER", "localhost");
        define("PORT", "5432");
        define("DB", "mapbender");
        define("OWNER", "geouser");
        define("PW", "passdiff&compl");
}

Per verificare il funzionamento delle configurazioni su può usare il programma mapbender_setup.php, che dovrà essere spostato dalla directory tools ad una analoga sotto http, vale a dire si dovrà fare:

cd /var/www/mapbender
mkdir http/tools
mv tools/mapbender_setup.php http/tools