Einrichtung von Geonetwork 2.1.0x + Harvesting¶
- Inhaltsverzeichnis
- Einrichtung von Geonetwork 2.1.0x + Harvesting
Installationen¶
Als user/root anmelden und folgende Software installieren:
1. Tomcat7 installieren¶
sudo apt-get install tomcat7 tomcat7-admin
2. PostgreSQL (9.3 oder höher) installieren¶
sudo apt-get install postgresql //(installiert die neuste Version) Danach für den user "postgres" ein PASSWORT definieren. su - postgres psql alter user postgres with password 'PASSWORT'; Unter "/etc/postgresql/9.3/main" müssen nun noch zwei .conf-Datein angepasst werden. postgresql.conf, Zeile 59, Auskommentierung entfernen und wie folgt abändern: listen_addresses = '*' pg_hba.conf, Zeilen 93-95, folgende Zeile einfügen (IPv4 connections): host all all 0.0.0.0/0 md5
3. PostGIS installieren¶
sudo apt-get install postgis
4. pgAdmin III installieren (auf dem Arbeitsrechner)¶
Eine Verbindung zur neuen PostgreSQL-Instanz aufbauen und eine neue Datenbank anlegen. Diese könnte beispielsweise "geonetwork_NAME" heißen. Als user ist wiederum "postgres" auszuwählen (auf UTF-8 achten!). CREATE DATABASE "geonetwork" WITH OWNER "postgres" ENCODING 'UTF8' LC_COLLATE = 'de_DE.UTF-8' LC_CTYPE = 'de_DE.UTF-8';
Danach muss über eine SQL-Abfrage im pgAdmin nur noch die PostGIS-Erweiterung intergriert werden:
CREATE EXTENSION postgis;
5. Geonetwork.war¶
Die neuste geonetwork.war Datei aus dem Verzeichnis Q:\Organisation\GI\GI2\GDI\7 Geo-IT\16 Software\Geonetwork-GeoCat (Beispiel: geonetwork-20150202.war) für das eigentliche Geonetwork verwenden und auf dem Zielrechner in den Ordner "/var/lib/tomcat7/webapps" kopieren.
Die Datei sollte nach kurzer Zeit selbstständig entpackt werden (vom tomcat7, der die .war-Datei erkennt). Der entpackte Ordner sollte der Einfachheit halber in "geonetwork" umbenannt werden.
mv geonetwork-20150202 geonetwork
6. Tomcat7 neustarten und Datenbank neustarten¶
service tomcat7 restart service postgresql restart
Konfiguration¶
Bevor das Geonetwork unter "localhost:8080/geonetwork" aufgerufen werden kann, müssen noch einige Datein konfiguriert werden.
1. Tomcat7, in der context.xml unter "/var/lib/tomcat7/conf/context.xml"¶
Im <Context> muss die Datenbankverbindung zum Geonetwork (PostgreSQL) definiert werden. Dies passiert durch das einfügen und editieren, folgender Zeilen zwischen <Context> CODE </Context>
<Resource name="jdbc/geonetwork" auth="Container" type="javax.sql.DataSource" username="postgres" password="PASSWORT" factory="org.apache.commons.dbcp.BasicDataSourceFactory" driverClassName="org.postgis.DriverWrapper" url="jdbc:postgresql_postGIS://localhost:5432/geonetwork_NAME" maxActive="10" maxIdle="10" removeAbandoned="true" removeAbandonedTimeout="3600" logAbandoned="true" testOnBorrow="true" defaultAutoCommit="false" validationQuery="SELECT 1" defaultTransactionIsolation="2" accessToUnderlyingConnectionAllowed="true" />
USERNAME und PASSWORT müssen natürlich angepasst werden!
2. Geonetwork¶
Konfigurieren von 3 Datein unter "var/lib/tomcat7/webapps/geonetwork/WEB-INF"
config.xml¶
Anpassungen in Zeile 140/162
<resource enabled="false">
Anpassungen in Zeile 178 (JNDI through container)
<resource enabled="true">
Anpassungen in Zeile 183/184 (NAME beachten!)
<resourceName>jdbc/geonetwork</resourceName> <url>jdbc:postgresql_postGIS://localhost:5432/geonetwork_NAME</url>
config-overrides-sdi.xml¶
Die "The direct connection" - resource auskommentieren oder komplett entfernen. Als neue Verbindung die "The JDNI connection" verwenden (Auskommentierung entfernen). Außerdem MUSS die neue JDNI connection natürlich aktivier werden, daher unter <resource enabled="true">
Das Ganze sieht dann wie folgt aus:
<!-- The JNDI connection --> <resource enabled="true"> <name>main-db</name> <provider>jeeves.resources.dbms.JNDIPool</provider> <config> <context>java:/comp/env</context> <resourceName>${resource.name}</resourceName> <url>${db.url}</url> <provideDataStore>true</provideDataStore> <maxOpenPreparedStatements>300</maxOpenPreparedStatements> </config> </resource>
config-overrides-sdi-props.xml¶
Hier ist es wichtig die Zeile "<resource.name>jdbc/geonetwork_VERSION</resource.name>" einzufügen. Außerdem die URL anpassen, sowie NAME und PASSWORT!
Das Ganze sieht dann wie folgt aus:
<?xml version="1.0" encoding="UTF-8"?> <overrides> <properties> <db.user>postgres</db.user> <db.pass>PASSWORT</db.pass> <db.driver>org.postgis.DriverWrapper</db.driver> <db.url>jdbc:postgresql_postGIS://localhost:5432/geonetwork_NAME</db.url> <resource.name>jdbc/geonetwork</resource.name> </properties> </overrides>
3. Tomcat7 neustarten und Datenbank neustarten¶
service tomcat7 restart service postgresql restart
Harvesting mit Geonetwork¶
1. Proxy-Einstellungen¶
Über den Browser unter folgender URL auf das Web-Interface zugreifen: localhost:8080/geonetwork und mit dem Login "admin : admin" anmelden.
Unter "Administration > System Configuration" den Proxy aktivieren und als Host: gate-f.bkg eingeben. Port: 8000.
Im Feld "Ignore Host list" können noch Ausnahmen wie "localhost|FWXXX" usw. konfiguriert werden.
2. Harvesting anlegen¶
Unter "Administration > Harvesting Management" gibt es mehrere Möglichkeiten ein Harvesting anzulegen.
- Catalogue Services for the Web ISO Profile 2.0
Harvesting über eine CSW-Schnittstelle. URL-Beispiel: http://www.imis.bfs.de:80/geonetwork/srv/ger/csw Use account: deaktivieren Unter Privileges "All" hinzufügen und danach die 3 Haken für "All" setzen. Save.
- Local Filesystem Harvesting
Harvesting über einen Ordner im lokalen Dateisystem. Beispiel: /var/lib/tomcat7/webapps/geonetwork/METADATA/bkg (wenn der Ordner METADATA/bkg vorhanden ist und xml-Datein enthält. Use account: deaktivieren Unter Privileges "All" hinzufügen und danach die 3 Haken für "All" setzen. Save.
3. Harvesten¶
Den angelegten Dienst auswählen (select) und mit RUN den Prozess starten. Nach Abschluss des Harvestings (Zahnrad verschwindet), kann über History die Anzahl der gesammelten Metadaten eingesehen werden.
4. Sonstiges¶
Bei Problemen direkt nach der Installation: Tomcat7 und PostgreSQL über die Konsole neustarten.
Fehlerhilfe¶
sollte der Java Heap Space nicht ausreichend groß sein, dann "CATALINA_OPTS="-Xms512M -Xmx1024M" unter /usr/share/tomcat7/bin/catalina.sh einfügen
pg_restore nur auf eine LEERE Datenbank ausführen! (z.Bsp. mit GDK-Live Dump "pg_restore -j 4 -U postgres --no-owner --no-privileges -d <DATENBANK-NAME> -Fd geonetwork_dump_im_directory_format/" unter http://pygo2go.testbed.gdi-de.org/inputs/geonetwork_dumps_gezippt/)