D Space Install
D Space Install
Introduction
This document will explain the main procedures that must be completed in
order to build and install a working version of DSpace. The documentation is
specific to our Red Hat 8.0 Linux install, but should be a good guide to getting
it working on most Unix or Unix-based platforms.
Note that there are a number of things conspicuously missing from this
document. These include: Configuring SSL for DSpace, Installing the Handle
Server, Setting the Java Environment, and detailed guides on installing the
pre-requisite software. At the end of this document there are short sections
about the first three issues, and we hope to add more to all of this in the
future. Your feedback would be most helpful.
Notation
Throughout the course of this document we will use the following notation:
[dspace] The target installation directory of your DSpace system. For
example, we use /u01/dspace
[dspace-src] The directory into which you have loaded the DSpace code
ready for building and installation. For example, we use
/u01/dspace-1.1
[postgres-src] This is the source from which you will build and install
the PostgreSQL database system. For example, we use
/u01/postgres/postgresql-7.3.2.
[postgres] The directory in which you will/have install(ed) PostgreSQL.
For example, we use /u01/postgres
[postgres-data] This is the location of the PostgreSQL database, which
will then contain the data from DSpace. For example, we use
/u01/postgres/data. Note that this directory must have
rwx permissions for the PostgreSQL user (to be created in the
section Installing PostgreSQL 7.3.2).
[tomcat] The home directory of your Tomcat installation. For example,
we use /usr/local/jakarta-tomcat-4.0.6
[apache] The home directory of your Apache installation. For example,
we use /usr/local/apache
Prerequisites
Java 1.3
JavaBeans Activation Framework place activation.jar in the
[dspace-src]/lib directory.
JavaServlet 2.3 & JSP 1.2 place servlet.jar in the [dspace-src]/lib
directory.
JavaMail API place mail.jar in the [dspace-src]/lib directory.
Apache 1.3
The developers have not yet tested it with Apache 2.0, but believe that it
should work fine.
Ant
If using PostgreSQL 7.2.3 or above Ant 1.5 is required, otherwise Ant 1.4 will
suffice (see Installing PostgreSQL 7.3.2 for more information)
PostgreSQL
We use 7.2.3 see the installation guide for more information
Installing PostgreSQL 7.3.2
Note that DSpace comes packaged with a postgresql.jar file for an older
version of PostgreSQL. To make DSpace work with PostgreSQL 7.3.2 it is
necessary to replace their version of postgresql.jar with a new one. That
you will be performing this procedure is assumed, and is explained in this
section.
Note also that you require Ant 1.5 in order to build PostgreSQL 7.3.2 using
the -with-java option required to create the drivers for DSpace.
gmake PostgreSQL:
In [postgres-src] run the command:
gmake
Install PostgreSQL:
In [postgres-src] run the command:
gmake install
DSpace Installation
Create a dspace user and a group of the same name, containing that
user.
Log in as dspace.
Database Settings
db.url We use jdbc:postgresql://localhost:5432/dspace
db.driver Class-path to the database driver java class. For
PostgreSQL, this should normally be
org.postgres.Driver
Email Settings
mail.server Your institutions mail server (eg mailrelay.ed.ac.uk).
mail.from.address Email will come from this address specified here.
Should probably be set up as the dspace mailing address.
For example we use [email protected]
feedback.recipient This email address will receive any mail sent
using the feedback feature of DSpace.
mail.admin Webmaster email account.
alert.recipient This email account will receive notification of any
Internal System Errors generated by DSpace, plus any other
system alerts.
File Storage
assetstore.dir Location that you would like your assets to be stored.
Assets include all of the bitstreams for each item all bundled
together in one file, as well as some other peripherals.
history.dir Locations for history serialisations (what exactly is this?)
search.dir Location for the search index files.
log.dir location of DSpace log files.
upload.temp.dir location uploaded files should be stored during
submission procedure. This directory, should, for neatness,
be the /tmp file for the server.
upload.max Maximum size of uploaded files in bytes
Handle Settings
Web UI Settings
webui.site.authenticator must be
org.dspace.app.webui.SimpleAuthenticator
webui.cert.ca we use /u01/dspace/etc/certificate-ca.pem
webui.cert.autoregister true if you want the system to set up
eperson accounts automatically when necessary.
webui.submit.blocktheses Prevent the UI from accepting
submissions marked at theses. Takes true/false, and
should be set to false for our purposes.
SFX Server
sfx.server.url we have left this commented out.
Ingest Settings
default.language the default language for the content of submissions.
Set to en for UK English.
properly. Note that we use sudo as we want to run these commands as the
dspace user, but require root privileges to start Apache as a root owned
process.
Basic Apache Configuration
To your standard Apache httpd.conf file you will need to ensure that the
following code is included. The code is supplied here in the order that it will
probably go into your current httpd.conf file, and it should be relatively
easy to see similar lines grouped together to which the following can be
appended:
LoadModule webapp_module libexec/mod_webapp.so
AddModule mod_webapp.c
After setting up these in the httpd.conf, you then need to ensure that
Apache runs as the correct user, so beneath the lines which read:
# If you wish httpd to run as a different user or group,
# you must run httpd as root initially and it will
# switch.
include the lines:
User dspace
Group dspace
(Assuming that you created the user and group the same way that we have)
Set up your document root to serve DSpace:
DocumentRoot [dspace]/jsp
You also need to set up Apache to understand the mime-type:
AddType text/jsp .jsp
To deal with OAI requests, you must include the following lines, which can be
found in the httpd.conf file that DSpace creates on install, and places in
the directory you specified for config.template.apache13.conf in
dspace.cfg, built for your own configuration. Ours look like this:
RedirectMatch
RedirectMatch
RedirectMatch
RedirectMatch
^/$ https://banshee.lib.ed.ac.uk/
^(/[^o].*) https://banshee.lib.ed.ac.uk$1
^(/.[^a].*) https://banshee.lib.ed.ac.uk$1
^(/..[^i].*) https://banshee.lib.ed.ac.uk$1
We include these lines directly rather than including the DSpace file in which
they can be found.