Come installare MapServer su Ubuntu tramite PPA

Per installare MapServer su un sistema Linux abbiamo ad oggi tre diverse possibilità: 1) scaricare e compilare i suoi moduli sorgente dal sito ufficiale (mapserver.org/download.html ); 2) per sistemi Debian/Ubuntu usare i PPA (Personal Package Archive) forniti nei “repository” disponibili per il  dato sistema; 3) usare il pacchetto FWTools che autoinstalla MapServer insieme ad altri geo-software.

Il primo modo è quello con cui si ha un controllo diretto sull’installazione e in particolare che ci consente di scegliere la release di MapServer che vogliamo installare: l’ultima o anche versioni precedenti; ma certamente questa è la soluzione più difficile da praticare o comunque non è per tutti. Con gli altri due invece, dovremo accontentarci di installare la release che al momento è stata compilata e inclusa nel dato pacchetto dai loro gestori.

In questo articolo vediamo come installare  MapServer CGI su un sistema Ubuntu (o anche sulle altre distribuzioni della stessa famiglia: Lubuntu, Xubuntu, … etc), adoperando un PPA che lo contenga e sia disponibile per la versione che abbiamo in uso; nel mio caso per la release 14.04 “trusty”. Ma a parte questa differenza, il procedimento da seguire sarà lo stesso qualunque sia la vostra versione di Ubuntu.

Una premessa importante !
Diamo per scontato che nel vostro sistema ci sia già installato e funzionante il web server Apache2, su cui appunto si appoggia MapServer nella modalità di funzionamento come CGI (Common Gateway Interface). Dico questo, perchè la configurazione di Apache non è proprio semplice e in questo articolo non ne parlerò (perchè non è il suo scopo) se non solo evidenziando qualche passaggio per pubblicare una demo che ci servirà per testare il funzionamento di MapServer.

Un PPA con MapServer per Ubuntu

Poichè molte versioni di Ubuntu includono già MapServer nei propri packages di base (per capirci quelli con cui si installa il sistema), la prima cosa da fare è verificare se è questo il vostro caso. E’ molto semplice, basta eseguire da terminale il seguente comando (senza bisogno di sudo):

se il risultato è positivo, vi verrà restituito l’elenco di tutti i programmi/comandi disponibili per “mapserver” come mostrato qui di seguito:

apt-cache search mapserver

Se volete, potete anche verificare che versione di MapServer è disponibile, col seguente comando:

In caso negativo, vi serve un repository aggiuntivo che contenga MapServer.

Così come per tanti altri software geografici opensource, uno dei repository più aggiornati contenente MapServer  è UbuntuGis  che prevede tre diversi PPA: stable, unstable e testing (launchpad.net/~ubuntugis). Lasciando perdere la “testing” (contiene le versioni dei software ancora in fase di sviluppo) dovremo cercare in quale delle due, tra la  “stable” e la “unstable”, è supportata la nostra versione di Ubuntu.
Nel mio caso, la Ubuntu 14.04 trusty è supportata in UbuntuGis-unstable; in particolare essa contiene la versione di MapServer 6.4.2, anche se al momento in cui scriviamo, l’ ultima release disponibile è la 7.0.0. Per cui, come ho detto prima, se volessimo installare subito quest’ultima versione di MapServer, l’unica alternativa possibile è scaricare i sorgenti (della 7.0.0) e compilarli. Altrimenti dovremo aspettare che venga aggiornato il PPA di UbuntuGis.

mapserver_in_ubuntugis

Allora, se  UbuntuGis non è ancora presente nel nostro elenco dei repository (in /etc/apt/sources.list), dobbiamo aggiungerlo e lo possiamo fare da linea di comando così:

Una volta che la repository (di sistema o aggiuntiva) comprendente anche MapServer è presente nel vostro sources.list,  possiamo procedere all’installazione di MapServer CGI scrivendo sempre sul terminale:

oppure, nel caso in cui volessimo procedere ad un’installazione completa e non solo del modulo CGI, scrivendo:

Se è andato tutto liscio, alla fine dell’esecuzione di “install”, MapServer risulterà correttamente installato; per verificarlo, possiamo lanciare il seguente comando:

che, dovrà restituirci il seguente output :

in cui sono indicati la versione di MapServer installato (nel nostro caso la 6.4.1) e una serie di informazioni riguardanti alcune sue caratteristiche supportate.

 

Verifica funzionamento MapServer CGI: configurazione di Apache

Ora passiamo a verificare se effettivamente funziona anche la sua modalità CGI.
Come abbiamo detto prima, abbiamo  il web server Apache già installato e funzionante nella nostra macchina (localhost) e sia anche abilitato il suo modulo CGI. Se non lo fosse abilitiamolo e poi riavviamo Apache nel seguente modo:

Fatto questo, scriviamo nel nostro browser, il seguente indirizzo: http://localhost/cgi-bin/mapserv?
Se viene restituita una pagina HTML col seguente messaggio :

mapserver_check

allora vuol dire che MapServer CGI funziona correttamente !
Se invece viene riportato un messaggio d’errore del tipo:

mapserver_check_error

allora vuol dire che  Apache non sa dove si trovano i programmi CGI da eseguire, quindi bisogna aggiornare la sua configurazione. Verifichiamo, andando a controllare il file /etc/apache2/sites-available/default.conf e cercando se c’è o meno il seguente gruppo di righe:

se non c’è, allora bisogna registrarle nella sezione <Virtualhost *:80>, prima della riga:

quindi, riavviamo il server Apache, col comando :

La demo workshop-5.4 (Itasca)

Bene, una volta verificato che Mapserver CGI funziona, siamo pronti per provare a pubblicare sul web una nostra mappa, preparando un opportuno “mapfile” ed  un “template-file” (una pagina HTML). Oppure, soprattutto se ancora siamo alle prime armi, possiamo adoperare qualche applicazione già pronta, come la “demo” disponibile da scaricare nel sito ufficiale di Mapserver  e precisamente alla fine della pagina dei download: mapserver.org/download.html. Al momento in cui scriviamo, quest’applicazione si chiama workshop-5.4 in quanto è ancora relativa alla release di MapServer 5.4.
Dopo aver scaricato e decompresso il file workshop-5.4.zip, mettiamo il suo contenuto in una cartella per la pubblicazione sul web; ho chiamato questa cartella “mapserverdemo” e ho scelto di metterla nel seguente percorso: /usr/local/www/ .

local_www

In questa stessa directory poi, creo un’ altra cartella docs_maps/tmp (per dati temporanei) che viene usata da MapServer per salvarci file e immagini che poi vengono usati nelle pagine web di risposta alle interrogazioni. Per tale motivo, bisogna assegnare ad Apache i permessi di scrittura su questa cartella (chmod 0744):

docs_maps_tmp

Vista la directory dove abbiamo posizionato la demo (/usr/local/www/mapserverdemo), essendo questa fuori dalla “DocumentRoot” (/var/www/) del default-server, dobbiamo assicurarci che in Apache sia configurato un “alias” opportuno, perchè l’indirizzo (URL) che indicheremo nel browser sia congruente con la sua collocazione sul server. A tal scopo, sempre nel solito file /etc/apache2/sites-available/default.conf, aggiungiamo le seguenti righe :

In questo modo la demo potrà essere indirizzata correttamente , usando il seguente URL: http://localhost/www/mapserverdemo/ .

Ma per poter vedere la demo funzionare correttamente, dobbiamo prima configurare alcuni suoi parametri, che dipendono da: dove è installato e come si chiama il CGI di MapServer, dove è stata collocata la demo stessa (il suo path) e da dove si trova la cartella “temp” di cui abbiamo parlato prima. I valori da andare a modificare si trovano in due file: index.html e itasca.map.
Ora vi mostro come sono stati impostati nel mio caso; è chiaro che voi dovrete cambiarli opportunamente se userete nomi e percorsi diversi.

Queste sono le righe con i valori configurati nel file index.html :

e queste le impostazioni fatte nel file itasca.map:

Attenzione che se sbagliate queste impostazioni la vostra demo non funzionerà come deve ed in particolare potrebbe non visualizzare le mappe e le altre immagini presenti nella semplice applicazione GIS che riproduce ! Qui di seguito ho riportato alcune snapshot della demo:

Questo slideshow richiede JavaScript.

condividi: