Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

On this page:

Table of Contents

Prerequisites

Download Fedora 3.4.2

...

Maven 2
Fedora uses Maven for its build environment. Maven2 is available from http://maven.apache.org/.

Installation Steps

Prepare Environment Variables

The following environment variables must be correctly defined:

...

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.

Prepare Database

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.

Follow the instructions below for the RDBMS of your choice in order to create the user and tables required by Fedora.

MySQL

Please note that the MySQL JDBC driver provided by the installer requires MySQL v3.23.x or higher.

...

No Format
ALTER DATABASE fedora3 DEFAULT CHARACTER SET utf8;
ALTER DATABASE fedora3 DEFAULT COLLATE utf8_bin;

Oracle

To prepare Oracle for use with Fedora, the following steps should be taken by an administrative user. First, using the Database Configuration Assistant, ensure that the database you'll be using is created with the UTF8 charset. Next, you'll need to create a Fedora tablespace and user in the database. Assuming the administrative user is sys and the SID is fedora3, log in using SQL*Plus using the following command:

...

Info

Due to distribution license restrictions, the Fedora Installer does not include the Oracle JDBC driver. Oracle JDBC drivers are available from http://technet.oracle.com/software/tech/java/sqlj_jdbc/content.html. The installer will prompt you for the location of the driver on your filesystem. Also, if you run Fedora in Java 6 as is required by Fedora 3.4, you will need an Oracle Java 6 jdbc jar such as ojdbc6.jar.

PostgreSQL

Please consult the documentation at http://www.postgresql.org/docs/ for more detailed information about configuring PostgreSQL.

...

No Format
CREATE ROLE "fedoraAdmin" LOGIN PASSWORD 'fedoraAdmin';
CREATE DATABASE "fedora3" WITH ENCODING='UTF8' OWNER="fedoraAdmin";

Microsoft SQL Server

David Handy has contributed a guide for interfacing Fedora with MS SQL Server

Other Databases

To use a database other than Derby, McKoi, MySQL, Oracle, PostgreSQL and Microsoft SQL Server, the database must support common SQL-92 syntax and you must have a JDBC version 3 driver available.

...

  1. Create the tables and indexes and auto-increments yourself in your own database (see the file: src/dbspec/server/fedora/server/storage/resources/DefaultDOManager.dbspec in the source distribution for the RDBMS-neutral table specifications).
  2. Write a subclass of fedora.server.utilities.DDLConverter for your database software, include it in the Fedora WEB-INF/classes directory or in a jar file in the Fedora WEB-INF/lib directory, and associate it with the JDBC driver inside the FEDORA_HOME/server/config/fedora.fcfg file (see how it's done by looking at the MySQLDDLConverter and DerbyDDLConverter associations with their respective drivers in the fedora.fcfg file, and the classes' implementations in the source distribution). If you choose option #2, please tell us about it, as it will be useful for other users of Fedora. Option 2 is harder, but it will make future installations of new versions of Fedora (where the db schema will likely change) much easier for you if you plan on using that database later.

Run Installer

The Fedora Installer provides three installation options: quick, custom, and client.

...

Note

Please ensure that the user account that is running the installer has sufficient permissions to write to the directories where Fedora will be installed (if deploying to an existing Tomcat installation, this includes permissions to the Tomcat directory). Installer created files will usually be owned by the user running the installer. Consequently, for example, after installation users of the Fedora Admin client will need write permissions to the log files defined by config/logback.xml.

Quick Install

The quick option is designed to get Fedora up and running as quickly as possible, with a minimum of advanced options. The quick install will automatically install Tomcat pre-loaded with the Fedora Repository and the Derby database. Neither SSL support nor XACML policy enforcement is enabled by the quick install.

Custom Install

The custom option provides the most flexibility in configuring an installation. Options include the choice of servlet container, database, the host, ports and application server context Fedora will be running on, enabling optional services, as well as security options including SSL, XACML policy enforcement, and FeSL.

...

Messaging
If Messaging is enabled, Fedora will create and send a message via JMS whenever an API-M method is called.

Client Install

Both the quick and custom options will install the Fedora client software in addition to the Fedora server. The client option, however, will install only the Fedora client software.

Start Fedora

If you selected the quick install option, you will find Tomcat installed in FEDORA_HOME/tomcat. To run Fedora, start Tomcat by entering:

...

If you selected the custom install option, ensure that your database server is running (unless you selected the included Derby option which will be automatically started when the first database connection is made).

Installing the Demo Objects

If you just started Fedora for the first time, it's a good idea to check out the demonstration objects to get an idea of how Fedora works. See the Demonstration documentation for complete descriptions.

...

For additional information on the fedora-ingest-demos command, see the documentation for the Client Command-line Utilities. Please note that the demonstration objects must be ingested before they can be discovered using the default search interface.

Additional Configuration

fedora.fcfg

The Fedora Server's configuration is chiefly governed by the Fedora Server Configuration File, fedora.fcfg, located at FEDORA_HOME/server/config/fedora.fcfg.

...

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.

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.

...