[GIS] Installing GeoNetwork on Debian with Tomcat

geonetworkgeoserverinstallationlinuxtomcat

How can I install GeoNetwork on a Debian server that already has tomcat7.

Could you give me help using the guide, please?

I followed the steps but I get the following error:

Error Raised exception while starting appl handler.
Skipped. Exception java.lang.IllegalArgumentException: Repository
uses database URL of
'jdbc:h2:~/.geonetwork/geonetwork;LOCK_TIMEOUT=20000;DB_CLOSE_ON_EXIT=FALSE;MVCC=TRUE'
which does not match current database URL
'jdbc:h2:~/.geonetwork/geonetwork;LOCK_TIMEOUT=20000;MVCC=TRUE'.
Modify the svn property geonet:dburl on the root of the subversion
repository at
/var/lib/tomcat7/webapps/geonetwork/WEB-INF/data/data/metadata_subversion
or specify a different subversion repository

Message Repository uses database URL of
'jdbc:h2:~/.geonetwork/geonetwork;LOCK_TIMEOUT=20000;DB_CLOSE_ON_EXIT=FALSE;MVCC=TRUE'
which does not match current database URL
'jdbc:h2:~/.geonetwork/geonetwork;LOCK_TIMEOUT=20000;MVCC=TRUE'.
Modify the svn property geonet:dburl on the root of the subversion
repository at
/var/lib/tomcat7/webapps/geonetwork/WEB-INF/data/data/metadata_subversion
or specify a different subversion repository

Handler org.fao.geonet.Geonetwork

Stack java.lang.IllegalArgumentException: Repository uses database
URL of
'jdbc:h2:~/.geonetwork/geonetwork;LOCK_TIMEOUT=20000;DB_CLOSE_ON_EXIT=FALSE;MVCC=TRUE'
which does not match current database URL
'jdbc:h2:~/.geonetwork/geonetwork;LOCK_TIMEOUT=20000;MVCC=TRUE'.
Modify the svn property geonet:dburl on the root of the subversion
repository at
/var/lib/tomcat7/webapps/geonetwork/WEB-INF/data/data/metadata_subversion
or specify a different subversion repository at
org.fao.geonet.kernel.SvnManager.(SvnManager.java:179) at
org.fao.geonet.Geonetwork.start(Geonetwork.java:345) at
jeeves.server.JeevesEngine.initAppHandler(JeevesEngine.java:600) at
jeeves.server.JeevesEngine.init(JeevesEngine.java:206) at
jeeves.server.sources.http.JeevesServlet.init(JeevesServlet.java:91)
at javax.servlet.GenericServlet.init(GenericServlet.java:160) at
org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266)
at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185)
at
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080)
at
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5026)
at
org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5313)
at
org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:899)
at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)
at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618)
at
org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:963)
at
org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1600)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166) at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:701)

Best Answer

You are using a rather old guide, you should always use the latest guides on http://geonetwork-opensource.org/

I am not familiar with this installation of geonetwork, but there are some things you can check. It is complaining because the database (h2 database) which should be created on ~/.geonetwork/geonetwork is not correctly configured.

If you really followed the steps on the guide, you should be using postgreSQL and not h2. Check the config.xml file on WEB-INF to disable the h2 database and use the postgreSQL one.

For simplicity, if you don't want to use postgreSQL yet and just want to test the installation:

  1. Can you check ~/.geonetwork/geonetwork to see if there is something there? If there is, just remove it and restart geoNetwork. ~ represents your home folder, like /home/gabriel
  2. The log also talks about some configuration on the svn. Can you check the property geonet:dburl on /var/lib/tomcat7/webapps/geonetwork/WEB-INF/data/data/metadata_subversion? Try to change it with 'jdbc:h2:~/.geonetwork/geonetwork;LOCK_TIMEOUT=20000;DB_CLOSE_ON_EXIT=FALSE;MVCC=TRUE' and see if it works.
  3. If nothing of the above works, you can try to just remove the data folder so it can be recreated after a restart. Can you remove the folder /var/lib/tomcat7/webapps/geonetwork/WEB-INF/data/ and restart?

Anyway, I always recommend to deploy geoNetwork just dropping the war on any webapps folder of any tomcat without modifying anything else. It is the simplest way to do it and it works 99% of the time.

Related Question