By default, Fedora comes configured to write binary resources (i.e. files) to the file system and RDF resources (i.e. objects) to a LevelDB database. It is often desirable to replace the LevelDB database with a different object store. As of 2016-03-04, the configuration for MySQL or PostgreSQL databases are available within the deployable Fedora war file. Below are the steps to use MySQL or PostgreSQL instead of LevelDB.
Run Fedora with the following JAVA_OPTS
:
JAVA_OPTS="${JAVA_OPTS} -Dfcrepo.modeshape.configuration=classpath:/config/jdbc-mysql/repository.json" JAVA_OPTS="${JAVA_OPTS} -Dfcrepo.mysql.username=<username>" JAVA_OPTS="${JAVA_OPTS} -Dfcrepo.mysql.password=<password>" JAVA_OPTS="${JAVA_OPTS} -Dfcrepo.mysql.host=<default=localhost>" JAVA_OPTS="${JAVA_OPTS} -Dfcrepo.mysql.port=<default=3306>" |
Note, the database and table used by ISPN are auto-created.
ispn
and a user account that can access itJAVA_OPTS
:JAVA_OPTS="${JAVA_OPTS} -Dfcrepo.modeshape.configuration=classpath:/config/jdbc-postgresql/repository.json" JAVA_OPTS="${JAVA_OPTS} -Dfcrepo.postgresql.username=<username>" JAVA_OPTS="${JAVA_OPTS} -Dfcrepo.postgresql.password=<password>" JAVA_OPTS="${JAVA_OPTS} -Dfcrepo.postgresql.host=<default=localhost>" JAVA_OPTS="${JAVA_OPTS} -Dfcrepo.postgresql.port=<default=5432>" |
Note, the ispn
database must be manually created, but the tables will be automatically created.
For both of the configuration above, you may alternatively use JNDI to connect to the MySQL or PostgreSQL databases. Notes for doing that: