Date: Fri, 29 Mar 2024 03:46:08 -0400 (EDT) Message-ID: <1045631994.30018.1711698368761@lyrasis1-roc-mp1> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_30017_1975212007.1711698368761" ------=_Part_30017_1975212007.1711698368761 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
See the Quick Start&= nbsp;guide to getting Fedora 4 up and running as quickly as possible.
webapps
directory, this =
document details the process.=20
See the latest release for Fed= ora 4 WAR files to download.
Java 8
java -v= ersion java version "1.8.0_05" Java(TM) SE Runtime Environment (build 1.8.0_05-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)
Copy the Fedora 4 WAR file into Tomcat's "webapps" directory (e.g. /= var/lib/tomcat7/webapps)
The Fedora 4 web-application supports several deploy-time, system-level = configuration options. These configuration elements are set via the definit= ion of System Properties.
Four means of deploying Fedora 4 have been verified
Each of these deployment approaches has its own way of setting System Pr= operties.
On Debian Linux systems, the typical way of setting System Properties is= to update the following file:
/etc/default/tomcat7
Within that file, new properties can be added per the example below:
JAVA_OP= TS=3D"${JAVA_OPTS} -Dfcrepo.modeshape.configuration=3Dclasspath:/config/fil= e-simple/repository.json -Dfcrepo.home=3D/mnt/fedora-data"
The /config/file-simple/repository.json
configuration=
is good for test deployments. For production we recommend a MySQL/PostgreS=
QL backend. See Best Practices - Fedora Configuration
Additional information regarding the configuration of System Properties = in Tomcat 7 can be found here.=
Alternatively on Windows systems you can set the following file:
CATALINA_BASE/bin/setenv.bat (windows)
Within that file, new properties can be added per the example below:
set CAT= ALINA_OPTS=3D%CATALINA_OPTS% -Dfcrepo.modeshape.configuration=3Dclasspath:/= config/file-simple/repository.json
The /config/file-simple/repository.json
configuration=
is good for test deployments. For production we recommend a MySQL/PostgreS=
QL backend. See Best Practices - Fedora Configuration
On Debian Linux systems, one way of setting System Properties is to upda= te the following file:
/etc/default/jetty
Within that file, new properties can be added per the example below (not= e the use of JAVA_OPTIONS instead of JAVA_OPTS):
JAVA_OP= TIONS=3D"${JAVA_OPTIONS} -Dfcrepo.modeshape.configuration=3Dclasspath:/conf= ig/file-simple/repository.json -Dfcrepo.home=3D/mnt/fedora-data"
The /config/file-simple/repository.json
configuration=
is good for test deployments. For production we recommend a MySQL/PostgreS=
QL backend. See Best Practices - Fedora Configuration
Additional information regarding the configuration of System Properties = in Jetty 9 can be found here.
Alternatively on Windows systems you can set the following file:
{JETTY_DIST}/start.ini
Within that file, new properties can be added per the example below:
--exec -Dfcrepo.home=3D/mnt/fedora-data -Dfcrepo.modeshape.configuration=3Dclasspath:/config/file-simple/repository= .json
The /config/file-simple/repository.json
configuration=
is good for test deployments. For production we recommend a MySQL/PostgreS=
QL backend. See Best Practices - Fedora Configuration
System Properties can be set when using the Maven jetty:run plugin by pa= ssing them per the example below:
mvn -Df= crepo.home=3D/mnt/fedora-data -Dfcrepo.modeshape.configuration=3Dclasspath:= /config/file-simple/repository.json jetty:run
The /config/file-simple/repository.json
configuration is go=
od for test deployments. For production we recommend a MySQL/PostgreSQL bac=
kend. See Best=
Practices - Fedora Configuration
If the One-Click Run is started from the command line, System Properties= can be passed in per the example below:
java -D= fcrepo.home=3D/mnt/fedora-data -jar fcrepo-webapp-jetty-console.war
There are a number of configuration elements that can be optionally be s=
et when starting the Fedora 4 web-application, noted below within brackets:=
<>. The only configuration element that is required to be set is "
fcrepo.home=3D<cwd/fcrepo4-data>
This can be set to a path (relative to the current working directory or = absolute) to which Fedora repository content will be written. Any of = the Modeshape configuration options below will default to being within this= folder if unset or if set to a relative path. If unset, content will= be put in the "fcrepo4-data" directory within the current working director= y.
fcrepo.spring.configuration=3D<classpath:/config/spring/fcrepo-conf= ig.xml | file:/path/to/fcrepo-config.xml>
This specifies the location of the spring context configuration for the =
Fedora application it defaults to a provided configuration. For more config=
uration options review the fcrepo-webapp-plus
supplied spring configuration.
fcrepo.modeshape.configuration=3D<classpath:/config/repository.json= | file:/path/to/repository.json>
This specifies the configuration for the underlying Modeshape repository=
and is required to be set. See other available options for this value with=
in the so=
urce tree. Example repository.json
configurations are=
located within the WAR file within sub-directories under WEB-INF/classes/c=
onfig. Note: this configuration file must be readable by the servlet contai=
ner process.
java.io.tmpdir=3D</tmp on Linux, $TMPDIR on MacOSX, and %TEMP% on W= indows>
This specifies the directory for writing temp files. You may need = to set this property to a larger disk/filesystem to upload large files, par= ticularly on Linux where /tmp is sometimes on a small partition.
fcrepo.jms.baseUrl=3D<http://localhost:8080/fcrepo/rest>
This specifies the baseUrl to use when generating JMS messages. You can = specify the hostname with or without port and with or without path. If your= system is behind a NAT firewall you may need this to avoid your message co= nsumers trying to access the system on an invalid port. If this system prop= erty is not set, the host, port and context from the user's request will be= used in the emitted JMS messages.
Note: If you have multiple instances of Fedora running, th= e following system properties must be set to avoid messaging port conflicts= :
fcrepo.dynamic.jms.port=3D<default-of-61616> fcrepo.dynamic.stomp.port=3D<default-of-61613>
This specifies the ports used by the embedded JMS-based message broker, = both for OpenWire and STOMP protocols.
fcrepo.velocity.runtime.log=3D<$fcrepo.home/velocity.log>
The HTML template code uses Apache Velocity, which generates a runtime l=
og called velocity.log
. By default this is placed inside =
fcrepo.home
, but it is possible to override the location to ha=
ve it written to an alternate location.
The Modeshape configurations mentioned above have a number of more detai= led configuration elements that can optionally be set. To see exactly which= elements are available to be set, inspect the repository.json files specified above. Those files can be browsed in the source tree= in:
Some common elements for Modeshape relate to the directories in which ap= plication information is persisted. As mentioned above, if no fcre= po.home property is set then application information will be persisted= under the directory "fcrepo4-data" in the application's current working di= rectory. There will then be several directories within "fcrepo4-data" that = are named by default with the name of the property that can be set to confi= gure each of those directories.
Below are some common examples of these directories:
fcrepo.modeshape.index.directory
Contains the internal Lucene index used by Modeshape/Admin Search.
fcrepo.activemq.directory
Contains the reliable messaging information maintained by ActiveMQ.
com.arjuna.ats.arjuna.common.ObjectStoreEnvironmentBean.default.object= StoreDir com.arjuna.ats.arjuna.objectstore.objectStoreDir
Contain JBoss JTA transaction engin= e artifacts.
The standard configuration chain is as follows:
fcrepo-config.xml
or your spring config=
uration file (as defined by the fcrepo.spring.configuration
pr=
operty.Sets the home for Fedora's persisted data. Without this setting Fedora t= ries to use the current-working-directory as the home of persisted data. If= the Tomcat user does not have write access to the installation area (e.g. = /var/lib/tomcat7), then Fedora 4 will not deploy. Set this system property = to a directory writable by the tomcat process.
We have a separate page with suggested VM options for general Java = tuning.
-Djgrou= ps.tcp.address=3D<ip-address> -Dfcrepo.ispn.numOwners=3D<num-nodes-in-cluster> -Djava.net.PreferIPv4Stack=3Dtrue -Dfcrepo.ispn.replication.timeout=3D<timeout-in-ms>