Hints for Installation Issues

Database Setup

Can I use other databases than PostgreSQL?

Version 1.0 of the eSciDoc Infrastructure comes with limited support for MySQL. With version 1.1, we had to drop this support again due to lacking functionality in MySQL. We are working on a work-around.

I cannot access the Postgres database after a successful installation

If you have this problem with Windows Vista, try running the PostgreSQL installer as adminsistrator (right-click on the icon/file and choose "Run as administrator").

If you have this problem with SUSE (openSUSE/SLES), try changing the auth-option in hba.conf.

When creating the database "riTriples" Postgres complains with the following message: ERROR: new encoding (SQL_ASCII) is incompatible with the encoding of the template database (UTF8) HINT: Use the same encoding as in the template database, or use template0 as template.

Like Postgres suggests, execute the following command instead: CREATE DATABASE "riTriples" WITH ENCODING='SQL_ASCII' OWNER="fedoraAdmin" template=template0


When I start JBoss, I get a "perm space" exception. What should I do?

Increase the MaxPermSize, either by tweaking the setting of the environement variable JAVA_OPTS or by setting an increased value within run.conf (or run.bat on Windows) for JBoss. You will find both files in the <jboss-home>/bin directory.

When I start JBoss, I see a "cannot create deployment descriptor" exception. What is the reason?

We have seen this on (linux) machines with disabled loopback interface. Activate your loopback interface and try again. We have also seen this in Windows7 systems. We currently have no Windows7 test machine, but we the suspicion that eSciDoc currently does not work on Windows7.

Why do I get an exception that ports are already bound, if I start JBoss.

This happens if Fedora runs within a separate Tomcat on the same host where the JBoss is running. Start JBoss before Tomcat. Alternatively you can change - if not used - the AJP Port (8009) for the Fedora Tomcat or for JBoss.

In my JBoss-Logfile, I see:

WARN SessionFixationProtectionStrategy Your servlet container did not change the session ID when a new session was created. You will not be adequately protected against session-fixation attacks.

What is the reason?

Jboss 4 does by default not allow to create new sessions. This is configured with the property emptySessionPath in the server.xml, located in JBoss-Directory /deploy/jboss-web.deployer default is "true" because of JBoss Portal Compatibility (see https://issues.jboss.org/browse/JBAS-1400). Set emptySessionPath to "true" to protect springsecurity against session-fixation-attacks.

I cannot access the eSciDoc core services from remote machines

By default, JBoss will only bind to the loopback interface (aka 'localhost'). You need to start JBoss with ./run.sh -b (or run -b on Windows). This will force JBOss to bind to all available network interfaces.

If I start JBoss with run -b, I get lots of exceptions, but the system seems to work properly

If you have more than a single (virtual) network interface on your machine, several services will try to bind to all of them. This will lead to time-outs for all currently inactive interfaces, resulting in exceptions. This behavior is normal (though not nice), and there is no indication that it affects the overall functionality of the system.

eSciDoc Core

Which users already exist in a fresh installation?

Typically, you will find four users after a successful installation:
  • sysadmin - System administrator
  • inspector - System administrator with read-only privileges, used for indexing of metadata and full-texts
  • ingestor - Privileged user for ingests
  • depositor - User with privilege to create and update objects within the example context /ir/context/escidoc:ex1

eSciDoc Core Services start up without any exception on my Max OS X system. When I try to access a resource that requires authentication, I get an exception after filling in my user credentials and submitting the input form. What's going wrong?

Mac OS X has trouble with directory names that include spaces. JBoss uses such names for temporary files. You can add a Java flag in your jboss.conf file (located in your ${install.dir}/jboss/bin directory): append -Djava.io.tmpdir=/tmp to the JAVA_OPTS (make sure you edit the one line that isn't commented out by a leading '#'!). After saving the run.conf file, restart JBoss.

Related Information