The Fedora web-application supports several deploy-time, system-level configuration options. These configuration elements can be set using a properties file or through system properties.
Four means of deploying Fedora have been verified
Each of these deployment approaches has its own way of setting System Properties.
On Debian Linux systems, the typical way of setting System Properties is to update the following file:
/etc/default/tomcat9 |
Within that file, new properties can be added per the example below:
JAVA_OPTS="${JAVA_OPTS} -Dfcrepo.home=/mnt/fedora-data" |
Additional information regarding the configuration of System Properties in Tomcat 9 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 CATALINA_OPTS=%CATALINA_OPTS% -Dfcrepo.home=/mnt/fedora-data |
If you have a reverse proxy for serving HTTPS that uses Tomcat's HTTP port, you will also need to set up a RemoteIPValve in your server.xml in order for Tomcat to rewrite links with HTTPS.
To do this you will first need to make sure the X-Forwarded-Proto header is set in your server config (example with Apache):
<VirtualHost *:443> RequestHeader set X-Forwarded-Proto "https" ServerName dummy-host.example.com SSLEngine on SSLCertificateFile /etc/ssl/certs/localhost.crt SSLCertificateKeyFile /etc/ssl/private/localhost.key ProxyPreserveHost On ProxyRequests Off ProxyPass / http://localhost:8080/ ProxyPassReverse / http://localhost:8080/ DocumentRoot "/opt/fedora/apache-tomcat-8.5.66/webapps/fcrepo-webapp" </VirtualHost> |
Then you will need to add a Valve to the localhost Engine in Tomcat's server.xml:
<Valve className="org.apache.catalina.valves.RemoteIpValve" protocolHeader="X-Forwarded-Proto" /> |
On Debian Linux systems, one way of setting System Properties is to update the following file:
/etc/default/jetty |
Within that file, new properties can be added per the example below (note the use of JAVA_OPTIONS instead of JAVA_OPTS):
JAVA_OPTIONS="${JAVA_OPTIONS} -Dfcrepo.home=/mnt/fedora-data" |
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=/mnt/fedora-data Maven jetty:run |
System Properties can be set when using the Maven jetty:run plugin by passing them per the example below:
mvn -Dfcrepo.home=/mnt/fedora-data jetty:run |