Table of Contents
GeoNetwork su Tomcat 6 per Debian Squeeze
Appunti simili per Tomcat 5.5 su Debian e CentOS:
Installare i pacchetti:
- sun-java6-jdk
- tomcat6
- tomcat6-admin
- tomcat6-examples (facoltativo)
Per sicurezza verificare che i comandi Java lancino le implementazioni Sun, non quelle libere eventualmente installate:
update-alternatives --config java update-alternatives --config javac update-alternatives --config javah update-alternatives --config javadoc
Le webapps di Tomcat vengono installate /var/lib/tomcat6/webapps/
Tomcat risponde per impostazione predefinita sulla porta TCP 8080, le applicazioni disponibili con i pacchetti installati in precedenza sono:
http://server:8080/
http://server:8080/manager/html
http://server:8080/host-manager/html
L'applicativo /manager/html
richiede un utente che abbia il ruolo di manager
, si deve pertanto editare il file /etc/tomcat6/tomcat-users.xml
aggiungendo qualcosa del tipo:
<role rolename="admin"/> <role rolename="manager"/> <user username="tomcat" password="t0mc4t" roles="admin,manager"/>
Installazione GeoNetwork 2.6.1
Per il download di GeoNetwork e/o GeoServer:
L'archivio geonetwork-install-2.6.1-0.jar contiene anche GeoServer nonché il motore Jetty (utilizzabile in mancanza di Tomcat). In alternativa si devono installare i due file .war di GeoNetwork e GeoServer.
Installazione tramite esecuzione del .jar
Questo tipo di installazione è consigliata solo per una postazione desktop con interfaccia grafica e priva di Tomcat.
Facendo il deploy da interfaccia web di geonetwork.war
si ha l'installazione del solo GeoNetwork, invece installando (cioè eseguendo) geonetwork-install-2.6.1-0.jar
si installano le seguenti webapps:
- geonetwork
- geoserver
Questo tipo di installazione è sconsigliata: è richiesta l'interfaccia grafica, viene installato Jetty (un container meno performante di Tomcat, adatto solo ad ambienti personali), l'installazione di GeoServer inclusa ha una configurazione adatta a GeoNetwork, ma funziona solo in localhost.
Sebbene sconsigliato, ecco come si dovrebbe fare:
# Ci sono altri modi per avere accesso al $DISPLAY come root? ssh -X root@localhost # L'installer richiede un sacco di RAM: java -Xms210 -Xmx220 -jar geonetwork-install-2.2.0.jar
Si è scelta come directory /usr/local/lib/geonetwork/
, si è scelto di salvare lo script di installazione automatica (per ripetere l'installazione su altra macchina, senza grafica).
Al termine dell'installazione, in /usr/local/lib/geonetwork/web/
viene installato anche un geoserver.war
. All'esecuzione di Jetty NON viene scompattato, ma viene usato compresso. Tale war fa riferimento ai dati che stanno in ../data/geoserver_data/
.
Se si utilizza la stessa directory come webapps per Tomcat verrbbe fatto il deploy del GeoServer (scompattato il .war, ecc.). Se si porta questa webapp dentro Tomcat bisogna portarsi dietro la directory geoserver_data
che sta fuori dalla webapp.
Per lanciare il container Jetty:
cd /usr/local/lib/geonetwork/bin ./start-geonetwork.sh
Secondo l'installazione predefinita l'applicativo dovrebbe rispondere all'URL http://localhost:8080/geonetwork/
(solo in localhost). Se per caso c'è Tomcat che già usa tale porta, il Jetty non riesce a fare il binding della porta e quindi non funziona.
Installazione tramite deploy dei .war
Scaricare geoserver-2.0.2-war
, fare il deploy da interfaccia web (/manager/html
) e l'applicazione GeoServer parte.
Sembra che non sia necessario configurare policy speciali come era necessario con tomcat 5.5. Probabilmente perché in /etc/default/tomcat6
abbiamo TOMCAT6_SECURITY=no
.
In modo analogo fare il deploy del geonetwork.war
.
Con questa installazione si hanno due inconvenienti:
- GeoNetwork utilizza un URL per GeoServer del tipo
http://localhost:8080/
che non va bene per una pubblicazione su internet. - GeoServer non ha i due layer utilizzati dalla installazione predefinita di GeoNetwork:
gn:world
egn:gboundaries
.
Configurazione
GeoServer
Il login predefinito di GeoServer è admin
con password geoserver
. Per cambiarlo si modifica il file geoserver/data/security/users.properties
.
Aggiungere i layer gn:world
e gn:gboundaries
utilizzando i dati geografici contenuti nel .jar di installazione (BlueMarble_world e …). Questi sono i layer utilizzati nella mappa della pagina iniziale di GeoNetwork.
GeoNetwork
Il login predefinito di GeoNetwork è admin
con password admin
, si modifica dall'interfaccia web.
Installare il pacchetto postgresql-8.4 e creare un utente e database geonetwork:
CREATE USER geonetwork PASSWORD 'geosecret'; CREATE DATABASE geonetwork OWNER geonetwork;
Per utilizzare il backend Postgres (invece del predefinito mckoi) bisogna editare il file geonetwork/WEB-INF/config.xml
. Se il database è vuoto viene inizializzato automaticamente all'avvio della webapp.
Modificare geonetwork/WEB-INF/config-gui.xml
impostando l'URL di GeoServer necessario a mostrare la mappa sulla sinistra della pagina iniziale. L'impostazione predefinita localhost
va bene solo per una installazione locale.
Verificare che la directory <uploadDir>
dichiarata in geonetwork/WEB-INF/config.xml
esista e sia scrivibile all'utente tomcat (percorso relativo alla directory geonetwork
).
GeoNetwork GUI
La configurazione dell'interfaccia web di GeoNetwork avviene in geonetwork/WEB-INF/config-gui.xml
.
È possibile configurare la mappa per la ricerca (pannello di sinistra) e la mappa per la visualizzazione nella sezione <mapSearch>
e <mapViewer>
rispettivamente. Le opzioni specificate in questi tag modificano le impostazioni OpenLayers, ecco alcuni esempi:
<mapSearch options="{ projection: 'EPSG:3003', maxExtent: new OpenLayers.Bounds(1672800,4843200,1688800,4856400), restrictedExtent: new OpenLayers.Bounds(1672800,4843200,1688800,4856400), scales: [1000000, 500000, 200000, 100000, 50000, 20000, 10000, 5000, 2000, 1000], numZoomLevels: 15, units: 'm', controls: [] }">