Configuration Geonetwork 3 / PostgreSQL/Postgis

Voici la solution après une journée perdue dans les méandres du web pour chercher une solution pour connecter notre base de données avec géonetwork.

1- Installer Tomcat à partir de ce lien http://tomcat.apache.org/

2-Télécharger le war de Geonetwork 3 ici: http://sourceforge.net/projects/geonetwork/files/GeoNetwork_opensource/v3.0.2/ et déposer le dans le webapps de Tomcat

3-Télécharger et installer postgreSQL

4- Creer une base de donnée geonetwork et les extension postgis et postgis_topology. Créer également un utilisateur geonetwork comme administrateur de la base geonetwork.

CREATE DATABASE bdu
WITH OWNER = postgres
ENCODING = 'UTF8'
TABLESPACE = pg_default
LC_COLLATE = 'French_France.1252'
LC_CTYPE = 'French_France.1252'
CONNECTION LIMIT = -1;

CREATE extension postgis;

CREATE extension postgis_topology;

CREATE ROLE geonetwork LOGIN
ENCRYPTED PASSWORD ‘md5e9417e7b22d88b6d6800245b671324f3’
SUPERUSER INHERIT CREATEDB CREATEROLE REPLICATION;

3-Configuration de tomcat:
Modifier le fichier webapps/geonetwork/WEB-INF/config-node/srv.xml pour utiliser la base de données postgres et non h2 pour cela décommenter cette ligne

<import resource= »../config-db/postgres.xml »/>

Puis modifier le fichier sudo vi /var/lib/tomcat7/webapps/geonetwork/WEB-INF/config-db/postgres.xml comme ce ci :

 

<?xml version="1.0" encoding="UTF-8"?>

<beans default-lazy-init="true"

xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="

http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd

">

<import resource="defaultJdbcDataSource.xml" />

<import resource="postgis-alternate-datasource.xml" />

<bean id="jpaVendorAdapterDatabaseParam" class="java.lang.String">

<constructor-arg value="POSTGRESQL"/>

</bean>

<bean id="jdbcDriverClassName" class="java.lang.String">

<constructor-arg value="org.postgis.DriverWrapper"/>

</bean>

<bean id="jdbcURL" class="java.lang.String">

<constructor-arg value="jdbc:postgresql_postGIS://${jdbc.host}:5432/${jdbc.database}"/>

</bean>

</beans>

Et en fin modifier le fichier de propriété webapps/geonetwork/WEB-INF/config-db/jdbc.propertie

jdbc.username=admin
jdbc.password=admin
jdbc.database=geonetwork
jdbc.host=localhost
jdbc.port=5432

4- Redémarrer tomcat