Introduction

Minimal System Requirements

Installation

What other software must be installed first?

Fez has been tested successfully on Windows,
Linux and Apple OS/X operating systems. Before you can install this
product, you must install the following packages. This can all be
installed on the one server, or separate servers for mysql, apache,
fedora if you wish.

Note: You can also use Fedora 2.0
instead by modfying the Fez generated config.inc.php
by commenting out the 2.1 API-M and API-A soap locations and
uncommenting the 2.0 locations (2 lines each). This is due to the fact
the API soap locations were changed from 2.0 to 2.1.

IMPORTANT: Make sure that whatever
PID prefix namespace you choose is also in the "retainPIDS" set of
namespaces. Eg if your PID namespace is "UQ" make sure "UQ" is
in the list of retainPIDS in fedora.fcfg. If this is not set then Fez
will not be able to create objects in Fedora.

Recommendations:

Fez uses its own security engine (FezACML) so suggest
setting the Fedora XACML it to "permit-all-requests" (turns it off) as
this will increase Fez/Fedora performance. With this setting Fedora
still requires authentication for the API-M, but we strongly suggest
you firewall the Fedora server to allow access to port 8080 (Fedora
tomcat port) to only the Fez webserver. If you do not experience
noticable performance degradation with XACML set to "enforce-policies"
(turned on) we still reccommend firewalling the Fedora server for added
security.

Since Fez has its own "index" for searching through
Fedora we suggest turning off the Fedora Kowari index as this will
improve Fedora performance. Fez only requires the Kowari resource index
to be turned on if you wish to reindex Fedora objects back into Fez. If
you try to re-index fedora objects into Fez with the Kowari index
turned off Fez will give you an error instructing you on how to turn it
back on (if temporarily). This is able to be set in the Fedora
fedora.fcfg file by setting resourceIndex to 0 for off, 1 for on.

The Java SDK 1.4.2 is required by Fedora and JHOVE
(for the JRE). Setup the JAVA_HOME, FEDORA_HOME and other environment
variables as per the Fedora installation
instructions. According to the Fedora mailing list there are
problems with using Java version 1.5, so it is preferable to use
version 1.4.2.

We have only tested using Apache 1.3.x on linux
(Apache 1.3.x or 2.x on Windows XP is fine), however there should be no
reason Fez won't run on Apache 2.x. Fez should also be able to run on
any webserver that will support PHP5 (eg Microsoft IIS etc) but we have
not tested this yet.

We recommend setting apache to recognise "index.php"
as a "Directory Index" so that the Fez index file is loaded immediately
eg:

WARNING!: When compiling PHP we have
noticed that DOMXPATH does not work with some versions of LIBXML2. We
have successfully tested using DOMXPATH with LIBXML2 version 2.6.16 (on
Linux Centos) and 2.6.23 (latest version of LIBXML on Redhat Fedora 4),
but it causes a failure in PHP with version 2.6.19 (on Linux Red Hat
Fedora 4). We have only tested these three versions so others may work
or fail as well.

NOTE: We are still ironing out some
minor PHP4 to PHP5 changes so you may notice some 'notices' or
'warnings' with the PHP error level set to anything other that
'E_FATAL'. These notices and warnings can be safely ignored and will
dissapear in future Fez releases.

PHP.ini configuration requirements:

allow_call_time_pass_reference = On (Fez may not need
this in future releases, especially since it will probabaly be
deprecated in PHP6)

For Windows servers you will need to install the dll
version available on the Image Magick website

Make sure you add the Image Magick directory
containing the 'identify' and 'convert' executables in the windows
environment path. To do this right click on 'My Computer',
click 'properties', click the 'Advanced' tab, click 'Environment
Variables', then edit the system variable 'PATH' and add the image
magick executable directory to the end. Each directory entry in the
PATH string is seperated by a semicolon (;).

For Linux you can download the source and compile it, or
use one of the binaries for your Linux distro

For Linux Fez expects the IM commands
'identify' and 'convert' to be in certain locations set in the
Fez config.inc.php. Make sure they are the correct paths and change the
config.inc.php settings if necessary. You can find where identify and
convert are by doing a 'which convert' command in the linux shell. This
will give you the correct full path to put into the Fez config.inc.php
file.

Be sure to edit the jhove.bat (windows) or jhove command
(linux) and set the JHOVE_HOME and other variables inside them as per
the JHOVE installation
instructions. This can also be done with the configure.pl perl
script in the JHOVE distribution.

Fez expects JHOVE to be in /usr/local/jhove for linux
or c:/jhove for windows. If you install jhove to different directories
to this then update the Fez config.inc.php with the correct locations.

You will need to change the last line in the jhove
executable 'jhove' (so JHOVE can find its configuration file
correctly):

Note: You may wish to set the Fez directory up as
"Virtual Host" or as the "Document Root" in your Apache httpd.conf
file.

If you are using Linux then make sure the user that runs
the apache service has rights to be able to write files to the fez
folders. Apache/PHP will need to write the config.inc.php file, create
the templates_c directory, and the error_handler.log file.

Open your web browser and load the "http://yourserver.com/fez/setup/".
This will load the config setup interface.

Note: If some of the PHP requirements
are missing the setup script will ask you to install them first, rather
than show the config form. This PHP requirements check cannot check for
all the above requirements so even if there are no warnings Fez may not
work.

Fill in the setup config details and click "Start
Installation".

Note: We recommended moving the
error_handler.log and the config.inc.php files below the apache
document root to be more secure. Or at least setting the security
error_handler.log to be write only by the web server user.