9 gennaio, 2010 | di Andrea Borruso in » Tutorial, Web-Mapping

Introduzione

A Febbraio del 2006 – tantissimo tempo fa … – ho scritto un piccolo post sull’installazione di MapServer in ambiente Windows su un sistema in cui fosse già installato un webserver (Apache in particolare).

E’ stato un post che ha ricevuto molte letture, ma che ha anche subito qualche “legnata tecnologica”. Lo avevo scritto infatti non dentro il motore di questo blog (WordPress), ma dentro Writely.
Cosa è Writely? E’ nientepopodimeno che l’applicazione online su cui è basato l’editor di testo di Google Docs, comprata per l’appunto da Google proprio in quell’anno.
Ho scritto l’articolo, ho inserito anche delle immagini d’aiuto alla comprensione del testo, ed ho pubblicato tutto su questo blog con un click; il testo è stato contestualmente archiviato sui server di TANTO, mentre le immagini sono rimaste sui server di Writely. Questi non sono stati spenti subito e, per diverso tempo, questo vecchio glorioso articolo non ha subito alcuna conseguenza dal passaggio di Writely a Google. Spenti i server, sono sparite le immagini ed in qualche modo anche la leggibilità del post in oggetto. Ho provato a ripescarle dall’Internet Archive Wayback Machine, ma senza fortuna.

In ogni caso dovevo rimediare da tempo. Avevo rimosso dalla memoria il problema (sorry :-) ), e un commento recente mi ha messo nuovamente davanti alla cruda realtà (grazie riccardo). L’articolo inoltre è datato anche nei contenuti, e valeva la pena dargli una rinfrescata.

MapServer su Windows

Installare MapServer è cosa semplice in qualsiasi ambiente (forse il massimo è su Linux); può sembrare meno semplice farlo su server in produzione con diversi servizi già installati e configurati, specie se vogliamo usare degli installer grafici e magari chiudere gli occhi.

I file binari per Windows sono contenuti in questi tre pacchetti:

In questa guida sfrutteremo FWTools, di cui abbiamo parlato diverse volte.

Installazione passo passo di MapServer

Il prerequisito è quello di installare e scaricare FWTools per Windows dal sito ufficiale, e poi lanciarne l’installazione. Io di solito lo faccio scegliendo le opzioni visibili in figura.

install fwtools on windows

I file vengono estratti di default nella cartella “C:\Programmi\FWToolsx.x.x“. L’eseguibile di MapServer – mapserv.exe – è uno dei file a corredo di FWTools e lo troverete nella cartella “C:\Programmi\FWToolsx.x..x\bin“.
Copiatelo nella cartella CGI di Apache (o in una qualsiasi cartella in cui il web server può lanciare applicazioni di questo tipo). Sul PC da cui scrivo la cartella è “C:\Programmi\Apache Software Foundation\Apachex.x\cgi-bin”

Copiare l’eseguibile non basta perché ci sono diverse dipendenze da rispettare. Per soddisfarle basterebbe copiare tutti i file contenuti in “C:\Programmi\FWToolsx.x..x\bin” nella cartella CGI, ma non è una procedura “pulita”. E’ più corretto impostare delle variabili d’ambiente.

La prima è il PATH, in cui inseriremo proprio la cartella “C:\Programmi\FWToolsx.x..x\bin“. Per farlo basta aprire le “Proprietà del sistema” di Windows  e cliccare su “Variabili d’ambiente”.

variabili ambiente windows

Tra quelle già definite troverete proprio PATH. Modificatela inserendo nel campo “Valore variabile”, a fine riga, il percorso della cartella bin di FWTools: inserite prima un “;”.

windows path variabile 2

C’è da impostare ancora una variabile d’ambiente in quanto MapServer deve “sapere” dove sono i file in cui sono definiti i sistemi di proiezione. La cartella in questo caso è C:\Programmi\FWToolsx.x.x\proj_lib” e la variabile  è PROJ_LIB.

Questa (di solito) non è – come PATH – già esistente e la dovrete creare cliccando sul tasto “Nuovo” ed inserire i valori come nella figura sottostante.

PROJ_LIB MapServer Windows

A questo punto riavviate il PC, aprite il browser e lanciate un URL di questo tipo: http://vostrosito/cgi-bin/mapserv.exe

Se avrete come risposta la stringa “No query information to decode. QUERY_STRING is set, but empty.“, vorrà dire che tutto è andato a buon fine.

Non vi resta che creare delle belle applicazioni di web-mapping.

Post correlati

4 Responses to “Installare MapServer su Windows con Apache (riveduto e corretto)”

  1. By riccardo on gen 11, 2010

    Funziona tutto. La procedura è corretta. La mia cartella del web server Apache è questa:
    C:\wamp\bin\apache\Apache2.2.11\cgi-bin

  2. By riccardo on gen 12, 2010

    Problemi con la configurazione dei path nei file html del tutorial:
    MIA CONFIGURAZIONE:
    (IL FILE EXE)
    C:\wamp\bin\apache\Apache2.2.11\cgi-bin\mapserv.exe

    (LOCALHOST: qui dentro c’è tutto il tutorial compreso index.html e itasca.map)
    C:\wamp\www\mapserv_prova\

    (SEGUE CODICE DI index.html)

    MapServer Itasca Application

    function configure() {
    var template = document.demo.template.options[document.demo.template.selectedIndex].value;

    // EDIT THE NEXT 2 LINES TO MATCH YOUR SETUP
    var snippet = "IMAGEPATH '/wamp/www/mapserv_prova/docs_maps/tmp/'";
    snippet += " IMAGEURL '/tmp/'";
    snippet += " TEMPLATE " + template;
    document.demo.map_web.value = snippet;

    if(template.indexOf("frame") != -1) document.demo.action = "frames.html";
    if(template.indexOf("dhtml") != -1) document.demo.action = "frames_dhtml.html";
    }

    MapServer Itasca Application (ms v5.0)

    This demonstration application will take you through various levels of complexity. Starting with a basic application that
    allows a user to pan/zoom and change layers we add:

    dynamically configured scalebars
    javascript-based panning
    query results to a frame
    and finally, a DHTML rubber-band zoom/query capabilty

    The base data is the old-reliable Itasca dataset that we know and love...

    Basic Application
      -- Adds second scalebar
      -- Adds pan controls
      -- Adds frames
      -- Adds dhtml rubber-band box

    This site running MapServer v. 5.0

    A parte la fatica per trovare il path giusto nell’action del form (quello sembra funzionare), stessa cosa per il path di itasca.map, ma ora la pagina mi segnala questo errore:loadWeb(): Unknown identifier. Parsing error near (IMAGEPATH):(line 1)
    Ho provato path assoluti, relativi..ma nulla. Mi sai dire dove sta il problema?

  3. By Andrea Borruso on gen 13, 2010

    Ciao Riccardo,
    sono contento di esserti stato utile per l’installazione di MapServer.

    Il tutorial di cui parli, è quello scaricabile dal sito di MS4W (MapServer Itasca Demo Application)?

    Per il problema di cui parli, gli spazi adeguati dove scrivere sono la mailing list degli user di MS4W[1] e quella degli user di MapServer[2].

    Troverai grande competenza e disponibilità.

    Questo non è un customer service, ne un forum, ne appunto una mailing list.

    Proverò comunque a dare un’occhiata al tuo problema in settimana (sempre che il tutorial sia quello che ti ho scritto sopra).

    Ciao,

    a

    [1] http://bit.ly/4zoATk
    [2] http://bit.ly/8GTkBX

  4. By gimmyx on giu 15, 2010

    salve a tutti, complimenti per questo breve tutorial, per me importantissimo, alla fine di tutti i passaggi,
    a me dava questo errore:
    Impossibile trovare il punto d’ingresso free_defaults della procedura nella libreria di collegamento dinamico LIBMYSQL.dll, che ho risolto copiando la libreria dentro c:\windows\system32
    Lo scrivo nel caso possa servire a qualcuno.

Lascia un commento

Tag html consentiti: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


TANTO non rappresenta una testata giornalistica ai sensi della legge n. 62 del 7.03.2001, in quanto non viene aggiornato con una precisa e determinata periodicita'. Pertanto, in alcun modo puo' considerarsi un prodotto editoriale.