"Seegrid will be due for a migration to confluence on the 1st of August. Any update on or after the 1st of August will NOT be migrated"

Install Geonetwork 2.6.x

Introduction

This document outlines steps of clean install of Geonetwork 2.6.x on a target server, the latest Geonetwork 2.6.4 is recomended.

This document also explains how to enable RIF-CS harvester.

Geonetwork running dependencies

  1. Database. MySQL is geonetwork's preferred option, Postgres is another popular option.
  2. A target 1.6 web container (tomcat6 using java6)

Preconditions

Building Geonetwork from source: Geonetwork setup is a graphical installer, so you need the softwares installed on your machine to run the installer on a remote server;
  • Xming Xserver (installer attached). Note: to use with Putty, you need to launch Xming and then start a putty session with "Enable X11 forwarding" ticked in Connection/SSH/X11
  • Putty (http://www.putty.org/)
  • FileZilla (optional FTP tool, http://filezilla-project.org/)

Prepare GeoNetwork 2.6.3 installer

The actual guide is found here:
  • http://geonetwork-opensource.org/manuals/2.6.3/developer/development/index.html#build-geonetwork

Our Guide:
  • Build GeoNetwork 2.6.3 on local machine:
  • Upload installer geonetwork-install-2.6.3-0.jar to the server directory: geonetwork2.6.3

Create a database

MySQL example:
  • Create a MySQL geonetwork db instance
    • syntax : create database geonetwork
  • Create user/password for the database and granting the newly created user (geonetwork in this example) full access (localhost only) to the the database. If you want remote access, you will need another line with % in place of localhost. The localhostgrant is still mandatory:
    • syntax : grant all privileges on geonetwork.* to geonetwork@'localhost' identified by 'yourpassword';
    • syntax (for remote access) : grant all privileges on geonetwork.* to geonetwork@'%' identified by 'yourpassword';

PostgreSQL example:
  • Create new user :
    • user ~ $ sudo su postgres 
      user ~ $ createuser geonetowrk -s -P (-s superuser, -P to prompt password)
  • Create a new geonetwork db instance :
    • postgres ~ $ psql 
      postgres=# CREATE DATABASE geonetwork WITH OWNER=geonetwork ENCODING 'UTF8' TEMPLATE=template_postgis;
      postgres=# \q
      postgres ~ $ exit
      user ~ $

Install Geonetwork

This section describes installing GeoNetwork 2.6.3 on the target machine.
  • Start Xming and login as root to yourserver with X forwarding enabled in Putty.
  • Stop tomcat: /etc/init.d/tomcat6 stop
  • Run installer: java -jar geonetwork-install-2.6.3.0.jar
  • Use /usr/local/geonetwork as installation directory.
  • After installation is finished press "Done".

Post installation configuration

  • Configure geonetwork log file location, and downgrade logging level to WARN (INFO if have to) (/usr/local/geonetwork-2.6.3/web/geonetwork/WEB-INF/log4j.cfg)
            log4j.rootLogger = OFF
            log4j.logger.geonetwork.sru         = WARN
            log4j.logger.geonetwork.sru.search  = WARN
            log4j.logger.jeeves      = WARN, jeeves, console
            log4j.logger.jeeves.xlinkprocessor = WARN
            log4j.logger.com.k_int=WARN, console, jeeves
            log4j.logger.org.jzkit=WARN, console, jeeves
            log4j.logger.org.jzkit.search.impl.LRUCache = WARN, console,jeeves
            log4j.appender.jeeves.file=/var/log/tomcat6/geonetwork.log 
  • Change the help file link in /usr/local/geonetwork-2.6.3/web/geonetwork/xsl/banner.xsl (line 99 and 102) to following:
            <xsl:choose>
       <xsl:when test="/root/gui/language='fr'">
                <a class="banner" href="http://geonetwork-opensource.org/manuals/2.6.3/users/index.html" target="_blank"><xsl:value-of select="/root/gui/strings/help"/></a>
       </xsl:when>
       <xsl:otherwise>
                <a class="banner" href="http://geonetwork-opensource.org/manuals/2.6.3/users/index.html" target="_blank"><xsl:value-of select="/root/gui/strings/help"/></a>
       </xsl:otherwise>
            </xsl:choose>

  • enable editing harvested record in /usr/local/geonetwork/web/geonetwork-2.6.3/WEB-INF/config-gui.xml:
    <allow-editing-for-harvested-record>1</allow-editing-for-harvested-record> 
  • configure default map layers (maps in search panel and map viewer panel): By default geonetwork uses localhost to serve its maps. If GeoServer is not installed, make the following changes to /usr/local/geonetwork/web/geonetwork /WEB-INF/config-gui.xml, so that public maps are used instead of local maps.
    Mapsearch section:
       <mapSearch options=.......>
          <layers>
             <layer server="http://www2.demis.nl/wms/wms.ashx?WMS=BlueMarble" tocName="Map" params="{layers: 'Earth Image,Borders,Coastlines', format: 'image/jpeg'}" options="{isBaseLayer: true}" />
          </layers>
       </mapSearch>
    Map viewer section:
       <mapViewer options=.......>
          <layers>
             <layer server="http://www2.demis.nl/wms/wms.ashx?WMS=BlueMarble" tocName="Borders"  params="{layers: 'Borders,Coastlines', transparent: 'true', format: 'image/png'}"  options="{}" />
             <layer server="http://www2.demis.nl/wms/wms.ashx?WMS=BlueMarble" tocName="Ortophoto" params="{layers: 'Earth Image', format: 'image/jpeg'}" options="{isBaseLayer: true}" />
          </layers>
                    <scales values=......... />
                    <proj>
                       .
                       .
                       .
                       .
       </mapViewer>
  • Make Tomcat the owner of the geonetwork installation directory:
    • chown -R tomcat6:tomcat6 /usr/local/geonetwork

Database setup

Manually edit /usr/local/geonetwork/web/geonetwork/WEB-INF/config.xml. Geonetwork will create database tables at start-up, the default user in the User table is admin/admin.
  • Turn off default Mckoi database
    <resource enabled="false">
  • Configure your database
    For !MySQL:
    
        <resource enabled="true"> 
       <name>main-db</name> 
       <provider>jeeves.resources.dbms.DbmsPool</provider> 
       <config>
          <user>geonetwork</user> 
          <password>yourpassword</password> 
          <driver>com.mysql.jdbc.Driver</driver> 
          <url>jdbc:mysql://yourserver/geonetwork</url> 
          <poolSize>10</poolSize> 
       </config>
        </resource>
    
    For !PostgreSQL:
    
        <resource enabled="true"> 
            <name>main-db</name> 
       <provider>jeeves.resources.dbms.DbmsPool</provider> 
       <config>
          <user>geonetwork</user> 
          <password>yourpassword</password> 
          <driver>org.postgresql.Driver</driver> 
          <url>jdbc:postgis://yourserver/geonetwork</url> 
          <poolSize>10</poolSize> 
       </config>
        </resource>

Oracle Database Russian Character issue

There is a known issue with Russian character in Oracle database. If Russian character set is not supported in the selected Oracle database, users won't be able to view or create categories and groups in Geonetwork, because there are Russian entries in CATEGORIESDES and GROUPSDES tables: http://trac.osgeo.org/geonetwork/ticket/381 The simple workaround is to remove the Russian characters from the CATEGORIESDES and GROUPSDES tables:
SQL>delete categoriesdes where langid='ru'; 
SQL>delete groupsdes where langid='ru'; 
SQL>commit; 

The scripts should be run after the database is setup for Geonetwork in GAST, or if the database is manually configured in the config.xml, after the first Tomcat start-up.

The best solution is to use AL32UTF8 character set when creating a new Oracle DB instance.

Add geonetwork application to tomcat

  • Create a file for geonetwork context /etc/tomcat6/Catalina/localhost/geonetwork.xml, with content:
    <Context path="/geonetwork" docBase="/usr/local/geonetwork/web/geonetwork" crossContext="false" debug="0" reloadable="false" /> 

Exposing Geonetwork via your Apache frontend

  • Mount the proxy interface (/etc/apache2/sites-available/default)
       ProxyPass /geonetwork/ ajp://localhost:8009/geonetwork/ 
       ProxyPassReverse /geonetwork/ ajp://localhost:8009/geonetwork/ 

Start geonetwork

  • /etc/init.d/tomcat6 start

Secure and configure Geonetwork

Change OAI Provider Datesearch type

  • In system configuration, under OAI Provider, change Datesearch from temporal extent to modification date. This change needs a tomcat restart to take effect.
  • The above change is intended for ANDS RIF-CS harvester to collect all geonetwork records to Research Data Australia. ANDS harvester issues OAI request to geonetwork such as http://server/geonetwork/srv/en/oaipmh?verb=ListRecords&metadataPrefix=rif&from=2000-01-20T13:00:15&until=2011-11-20T13:00:15. The parameter from date is the earliestDatestamp of an OAI Identify response, the until date is the current date. Since not all records have temporal extent but modification date, records based on modification date should be returned to ANDS.
  • /etc/init.d/tomcat6 restart

Testing Geonetwork

  • Go to: http://yourserver/geonetwork
  • Add a metadata record (manual add)
  • Add a harvester (auto-record)
  • Search and view the metadata record(s)

Turn on RIF-CS harvester

  • RIF-CS harvester is turned on by applying the GN263-patch as described above.
  • The included rif.xsl and activities.xml are customised to work for AuScope. Make changes to the converter for your system if required. (e.g group, origSource, discoveryLink etc). The RIF-CS activities mapping is implemented in a manual manner. For each harvesting node in Geonetwork, there is a manually created activity. The matching between an activity and an collection is based on the harvesting url which is unique to a harvesting node.
  • To test the RIF-CS harvester, issue the request: http://server/geonetwork/srv/en/oaipmh?verb=ListRecords&metadataPrefix=rif

Temporary fix for inaccurate BBOX when running RIF-CS harvester

  • GeoNetwork node is capable of discovering metadata that have been added, removed or updated in the remote node. Through the use of a harvester, GeoNetwork records are automatically created and registered. GeoNetwork is able to harvest from a variety of sources, one of them being a OGC service using its GetCapabilities document.
  • GeoServer provides OGC services such as the WMS and WFS. These services can be configured using xml template to provide general metadata which can be harvested automatically by AuScope GeoNetwork harvester. The harvested metadata in AuScope GeoNetwork would then be harvested into ANDS RDA which has been scheduled to run once a week.
  • AuScope is using the above method to automatically harvest WMS and WFS services metadata from different Surveys into ANDS RDA. However, with the above automation, one issue has been discovered : the xml template deployed by most of the Surveys at different locations are having a wrong bounding box detail. Thus had cause incorrect BBOX information being harvested into AuScope GeoNetwork and also ANDS RDA. Since AuScope do not maintain those GeoServer instances and thus correction can only be made by each individual custodians, a temporary solution has been developed to generate correct BBOX information for ANDS RDA.
  • We have made changes to the XSL Transformation to check for BBOX:
    • If the BBOX is at max bounds (-90,-180,90,180) or in the bounds of Africa (38.2,-17.3,-34.6,51.1), set it to Australia (112,-10,158.96, -54.74390).
    • The above coordinates are obtained from GeoNetwork 's region settings.
  • The above fix is included in rif.xsl.

Troubleshooting

  • If PostgreSQL with PostGIS spatial database extension is used, after the geonetwork is installed, check the geonetwork database to see if the 'spatialindex' table gets used. There are a number of ways to verify that the spatial indexing is being used. The first one is to check the geonetwork log file and look for Using POSTGIS for spatial index note - provided the log4j level is set to INFO level. The second way is to perform a search thru geonetwork UI and check the spatialindex table to see if you can see any rows get inserted. If there is no record in that table, geonetwork is not using the spatial indexing instead it falls back to use lucene file indexing (which can be slow for larger catalogs). See the following post on Geonetwork user community for further details: http://sourceforge.net/mailarchive/forum.php?thread_name=C237184E7081314392F31AE826947FFAC86AACFFBE%40EXWA-MBX01.nexus.csiro.au&forum_name=geonetwork-users.

 
Topic revision: r23 - 23 Apr 2013, RiniAngreani
 

Current license: All material on this collaboration platform is licensed under a Creative Commons Attribution 3.0 Australia Licence (CC BY 3.0).