Table of Contents

Fedora

Here, we're following the official Fedora instructions for installing Fedora 2.2.1

Installation instructions for other versions of Fedora are similar and can be found at:

We've now tested Fedora 2.2.1 and Fedora 3.0 with the GS3 web services demo-client application, where Fedora 2.2.1 was installed on Linux and Fedora 3.0 on Windows.

A Preliminary Steps

Since we will be working with Greenstone 3 documents stored in Fedora's repository as "Fedora Digital Objects", Greenstone 3 is needed for its functionality to convert GS3 documents into FedoraMETS format and put them into the Fedora repository.

(If you only want a walkthrough on installing Fedora, then you don't need Greenstone 3 of course and can skip the parts of this document relating to that.)

If you wish to compile it yourself, you will need Apache Ant 1.6.5 and put it on your PATH.

Let's assume that when you have downloaded Fedora 2.2.1 and extracted it (as you will in Section B below), the Fedora executable stuff will go into a folder called "fedora" whose location is /full/path/to/fedora. With that in mind, we need to set the following environment variables:

If you're on Linux, you can set the environment variables by editing your ~/.profile file and then, after saving the edits, logging out or doing a "source ~/.profile" in the x-term.

For example:

export JAVA_HOME=/opt/jdk1.5.0_10/
export FEDORA_HOME=/my/path/to/fedora
export CATALINA_HOME=$FEDORA_HOME/tomcat
PATH=/opt/jdk1.5.0_10/bin:/opt/jdk1.5.0_10/bin/javac:/my/path/to/apache-ant-1.6.5:$FEDORA_HOME/server/bin:$FEDORA_HOME/client/bin:$PATH

On Windows, adjustments to your PATH variable, and creation of new variables (like FEDORA_HOME, CATALINA_HOME, JAVA_HOME) are made by going to: Start > Control Panel > (Performance and Maintenance icon OR click on Switch to Classic View on the left >) System > Advanced tab. Press the Environment Variables button. Add new System Variables and edit the existing Path variable. Note that on Windows, you use the ; sign to append new items to your path, and when referring to previously declared environment variables you have to surround them with % signs: E.g.

PATH=<whatever-was-on-your-path-before>;%FEDORA_HOME%/server/bin

B Installing Fedora 2.2.1

(You could also try Fedora 2.2.2 and Fedora 3 which are available from the Fedora Commons main page.)

If using Linux, then do the following from an x-term. If you're on Windows, do the same from a DOS prompt:

ant installer

Then go into the dist folder of the extraction directory (e.g. fedora-2.2.1-src/dist/) and type:

java -jar fedora-2.2.1-installer.jar

By accepting the defaults, the server will be set to run on localhost, port 8080 (with shutdown port 8005).

Note: if you have Greenstone 3 installed at port 8080 as well, then you should not be running both at the same time (they will conflict and probably neither will work). You will need to stop Greenstone 3 in order to run Fedora on the same port, and stop Fedora to run Greenstone 3 again on the same port. Alternatively, you can choose to change the port Greenstone 3 is running on, see the Walkthrough: installing Greenstone 3 from SVN source.

You will need to remember the following details of your installation:

C How to run Fedora (and how to stop it)

$FEDORA_HOME/tomcat/bin/startup.sh

or if you're on Windows:

%FEDORA_HOME%\tomcat\bin\startup.bat
http://localhost:8080/fedora/

(or

http://HOST:PORT/fedora

with whatever host and port you chose to install it on).

If you ever want to stop the Fedora server, you will need to type in the X-term

$FEDORA_HOME/tomcat/bin/shutdown.sh

or if you're on Windows:

%FEDORA_HOME%\tomcat\bin\shutdown.bat

D Creating the custom Greenstone 3 pid prefix

In order to work with the Greenstone3 client application, you will need to create a custom pid prefix for Greenstone 3 in fedora, and call it "greenstone".

To do this, you will need to:

$FEDORA_HOME/tomcat/bin/shutdown.sh
$FEDORA_HOME/server/config/fedora.fcfg
<param name="retainPIDs" value="demo test changeme fedora-bdef fedora-bmech tutorial">

And append greenstone to the list of values, so you get something like:

<param name="retainPIDs" value="demo test changeme fedora-bdef fedora-bmech tutorial greenstone">
$FEDORA_HOME/tomcat/bin/startup.sh

Having made the change in the fedora config file, it will now recognise "greenstone" as a valid PID and allow you to create/ingest digital data objects with a pid where the prefix is "greenstone".

For more information, you may want to look at the Fedora Release Notes:

"PID generation has been activated. Upon ingestion, Fedora objects that pass validation are automatically assigned a unique persistent identifer or PID. The namespace prefix on the PID is determined by the namespace parameter in the fedora.cfg configuration file."

E Exporting Greenstone documents into Fedora's repository

There is nothing in our Fedora repository yet. We want to have Greenstone 3 documents exported into Fedora format stored here. This is what we need Greenstone 3 for. We will be using its functionality for converting Greenstone 3 docs into FedoraMETS and exporting them into Fedora.

Use the FLI—Fedora Librarian Interface—application to do this. Refer to the document fli for information on how to do this.

F Further Information

cd $FEDORA_HOME/client

fedora-admin.sh
http://HOST:PORT/fedora/search

where HOST and PORT depend on what you chose when you installed it. E.g. http://localhost:8080/fedora/search

Note that the default search functionality that Fedora's own access web services (API-A) provide do not include full-text indexing and searching.

G Old Fedora Installation Notes

These were written 2005, much earlier than the above. I have included them here just in case they are useful to someone.

There are multiple distribution packages in release. The server binaries, the client binaries, and the entire source code which can be downloaded from the website: http://www.fedora.info/release/

Before running Fedora, the database should be set. It appears that Fedora will access the MYSQL in the /tmp/mysql.sock (I haven't found the place to change the setting yet). Therefore, Fedora in toetoe is running its databases as the same as GS3.

 $ mysql-config /research/chi/gsdl3/packages/mysql root "" fedoraAdmin fedoraAdmin fedora008

Before starting for the first time, you will want to make some changes in Fedora's main configuration file, server/config/fedora.fcfg. See installation document. http://www.fedora.info/release/1.2.1/userdocs/distribution/installation.html

 *$ cd /research/chi/gsdl3
 *$ source gs3-setup.sh
 *$ gs3-launch.sh
  *$ fedora-start
  *$ fedora-admin localhost 8100 fedoraAdmin fedoraAdmin
    (fedora-admin [[hostname]] [port] [[username]] [password])
  *$ fedora-ingest-demos [[hostname]] [port] [[username]] [password]
  *$fedora-stop
  *$ gs3-launch.sh shutdown

The installation is similar to Fedora -1.2.0

  *$ /home/chi/local/fedora-2.0
 *$ /home/chi/local/fedora-2.0-src
 *$ host name: toetoe
 *$ port :8200
 *$ user =fedoraAdmin
 *$ password = fedoraAdmin
 *$ http://toetoe:8200/fedora/search
  *$ copy /home/chi/local/fedora-2.0/client/client.jar /research/chi/gsdl3/lib/java/.
 *$ some of fedora_server classes were not included in client.jar , therefore, I have
  to create fedora_server.jar (can be found in /research/chi/gsdl3/lib/java/.
 *$ different between fedora-1.2.0 fedora-2.0 which would affect FedoraGS
 * AutoFinder in the different path fedora-2.0: /fedora/client/utility/AutoFinder
 * axis version seems different, so need to copy fedora-2.0-src/lib/axis.jar to
 * /research/chi/gsdl3/lib/java/. also lib/commons-discovery.jar need to copy to
 * /research/chi/gsdl3/lib/java/

The following two files needs to be properly set.

  *<buildConfig>
 *  <metadataList />
 *  <serviceRackList>
 *     <serviceRack name="GS3MGSearch">
 *        <indexList>
 *           <index name="sectext" />
 *           <index name="doctext" />
 *           <index name="sectitle" />
 *        </indexList>
 *        <defaultIndex name="sectext" />
 *        <baseIndexPrefix name="mgsearch" />
 *        <indexStem name="index" />
 *     </serviceRack>
 *     <serviceRack name="FedoraSearch">
 *        <fedoraServer url ="http://toetoe:8200"/></serviceRack>
 *     <serviceRack name="GS3MGRetrieve">
 *        <defaultIndex name="sectext" />
 *        <baseIndexPrefix name="mgsearch" />
 *           <indexStem name="index" />
 *     </serviceRack>
 *     <serviceRack name="GS3Browse">
 *        <classifierList>
 *           <classifier name="CLTit" />
 *           <classifier name="" />
 *           <classifier name="" />
 *           <classifier name="" />
 *           </classifierList>
 *     </serviceRack>
 *  </serviceRackList>
 *</buildConfig>

Be careful, whenever recreate the collection, the buildConfig.xml will be overwritten. All these tasks are talking to the Fedora Repository in the local machine.