Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

Prerequisites

Download Fedora 3.45.20

Java SE Development Kit (JDK) 6.
Whether installing a binary or source distribution, JDK 6 is required. The JDK should be installed on the machine you intend to use as the Fedora server. It is available from http://www.java.sun.com/com/. While historically we have recommended Sun/Oracle's JDK, there have been several reports of success in using OpenJDK as well. Look here for more information on installing Java.

...

The following environment variables must be correctly defined:may need to be set while installing or running Fedora, or executing Fedora command line utilities.   

JAVA_HOME
Optional.  

If set, tomcat and fedora command line utilities will use the specified java vm.  Otherwise, all utilities will attempt to use the java version available by default within the user's PATH.   This should point to the base directory of your Java installation. On Windows systems, this might be C:\java. For UNIX derivatives, this might be something like /usr/local/jdk1.6.0_17.

FEDORA_HOME
Required for running command line utilities.  Optional for running installer.  Ignored when running the Fedora server unless fedora home directory is not otherwise specified.

This is the directory where Fedora will be installed, for example, This is the directory where Fedora will be installed, for example, C:\fedora (Windows) or /usr/local/fedora (UNIX derivatives). Note: This is only required when running the Fedora client command line utilities. The server also requires this information at run time, but can accept it from the following sources (listed in order of preference):

  • The fedora.home init context-param in configured provided by the Fedora webapp's web.xml file (Fedora 3.2+ only). The installer will automatically include the correct path in your web.xml at installation time, so if you move your Fedora Home directory later, you will need to also modify this file and restart the webapp container.webapp container (preferred).   Most webapp containers provide some means for providing context params to individual web applications at startup. This configuration is separate from the deployed webapp. The installer will automatically provide this configuration when installing to a Tomcat container in $CATALINA_HOME/conf/Catalina/localhost/<webapp_name>.xml (typically fedora.xml).
  • The fedora.home system property, configured as appropriate The fedora.home system property, configured as appropriate for your web application server of choice.
  • The FEDORA_HOME environment variable, as available when the web application server starts.

...

JAVA_OPTS
If Fedora is configured to use SSL, JAVA_OPTS must include the javax.net.ssl.trustStore and javax.net.ssl.trustStorePassword properties. See the SSL section below for more information.

CATALINA_HOME
If Fedora is configured to use Tomcat, CATALINA_HOME must be set before starting Fedora. If using the quick install option, CATALINA_HOME should be set to $FEDORA_HOME/tomcat (or %FEDORA_HOME%\tomcat in Windows). Required for command line applications.

Command line applications currently load libraries from the exploded web application in $CATALINA_HOME/webapps/$webapp_name/WEB-INF

DISPLAY (Unix-only)
When running a Fedora server in a Unix-like operating system (Linux, Solaris, OS X, etc), you should ensure that this environment variable is NOT set by the user who will be running the application server in which Fedora is installed (e.g. Tomcat). Background: Fedora and the included web applications are designed to run without access to a graphics output device. Although rare, having this environment variable set has been reported to cause stability problems in certain installations of Fedora. Since a graphic output device should never be needed by the Fedora server, it is safest to ensure this environment variable is not set.

...

Fedora is designed to be RDBMS-independent. Fedora has been tested with Derby, McKoi, MySQL, Oracle, PostgreSQL and Microsoft SQL Server. The embedded version of Derby included with the installer is provided as a convenience; Derby is not recommended for use in production repositories. If you choose to use any database other than the embedded Derby provided by the Fedora Installer, you must install that database first.

...

No Format
GRANT ALL ON fedora3.\* TO fedoraAdmin@localhost IDENTIFIED BY 'fedoraAdmin';
GRANT ALL ON fedora3.\* TO fedoraAdmin@'%' IDENTIFIED BY 'fedoraAdmin';

...

The JDBC driver will need to be installed manually. For most containers, the driver may be placed in the Fedora webapp's WEB-INF/lib directory. For Tomcat 56.0.x and 7.0.x, however, the driver should be installed to TOMCAT_HOME/common/lib. The JDBC URL will need to be configured appropriately in the Fedora Server Configuration File.

...

Tip

Fedora can also be installed in non-interactive mode by specifying an install.properties file as an argument to the installer. After installing interactively, you will find an install.properties file in your $FEDORA_HOME/install/ directory. You can use this file as a template for future, non-interactive installations. *Take care if you are using an install.properties file from an earlier release as the file may not contain some properties defined in the later release, default settings will be used in this case, which may or may not be appropriate for your installation.

...

The installer will automatically configure and deploy to Tomcat 56.0.x, 5.5.x , and 67.0.x servlet containers. However, if an existing Tomcat installation (as opposed to the Tomcat bundled with the installer) was selected, the installer will not overwrite your existing server.xml, but rather, place a modified copy at FEDORA_HOME/install so that you may review it before before installing it yourself.

...

Application Server Context

Wiki MarkupThe installer provides the option to enter an application server context name under which Fedora will be deployed. The context name defaults to Fedora (resulting in http\[s\The installer provides the option to enter an application server context name under which Fedora will be deployed. The context name defaults to Fedora (resulting in http[s]://host:port/fedora), however any other valid context name can be supplied. The installer will name the resulting _war_ file according to the supplied context name (defaults to {{fedora.war}}). Please ensure that the servlet container configuration reflects the name of the Fedora context name in case it needs to be configured explicitly. For further details see [Alternative Webapp Context Configuration|https://fedora-commons.org/confluence/display/FCR30/Alternative+Webapp+Context+Configuration].

SSL

Configuring SSL support for Fedora's API-M interface is an optional feature. It strongly recommended for production environments if Fedora is exposed to unsecured application and users. However, if your installation is within a managed data center with firewall services, you may choose to provide SSL using a software or hardware front-end instead. For example, a reverse proxy implemented using the Apache HTTP Server and hiding Fedora generally provides better SSL performance.

...

The Fedora Server's configuration is chiefly has historically been governed by the Fedora Server Configuration File, fedora.fcfg, located at FEDORA_HOME/server/config/fedora.fcfg. This means of configuration is slowly being replaced with spring bean configuration

The Fedora The Fedora server configuration file contains:

...

There are many other parameters you can configure with Fedora. Refer to the Fedora Server Configuration File itself (fedora.fcfg) for internal documentation on all the parameters.

Spring configuration

For more details, see the full Spring Configuration page.

Fedora configuration via spring is eventually planned to replace the existing fedora.fcfg configuration, as well as eliminate the need for custom configuration if web.xml within the fedora server war file.

Ar present, spring bean and property definitions can be found in:

  1. server/config/spring
    • used to define configuration for fedora server modules
  2. server/config/spring/web
    • contains configuration for servlet filters on fedora's web interfaces, most notably related to Spring Security

Logging

Fedora uses the Simple Logging Facade for Java (SLF4J) framework for logging with Logback as the actual logging implementation. For detailed information about using SLF4J, consult the SLF4J Manual: http://www.slf4j.org/manual.html, and for information about using Logback consult the Logback manual: http://logback.qos.ch/manual/index.html.

...