Installing from the Code Repository

This document is primarily for EPrints developers.

User Considerations

The user and group options in SystemSettings.pm must be the same user that Apache runs under (by default Apache will run as apache or nobody). The directory archives/<archive name>/docs must also be writable by Apache.

The simplest solution is to run a separate Apache in your user account, on a port higher than 1024 (see ApacheDevelConf for instructions on setting up Apache).

Checkout the SVN Source Code

Checkout the system tree:

svn co http://trac.eprints.org/svn/eprints/branches/eprints2/system/

If you want to move the checkout to a different directory don't forget to move the .svn directory in the root, e.g.

mv system/* system/.svn <target_directory>

Setup Local Directories

Create a separate path for locally configured modules and the archives directory:

mkdir -p my_lib/EPrints
mkdir archives

Copy SystemSettings.pm.templ:

cp perl_lib/EPrints/SystemSettings.pm.templ my_lib/EPrints/SystemSettings.pm

Edit my_lib/EPrints/SystemSettings.pm to reflect your local settings. In particular make sure you update the smtp_server, base_path, user and group options.

Configure your EPrints install

Use the PERL5LIB environment variable to set the my_lib and perl_lib paths for the bin scripts:

export PERL5LIB=`pwd`/my_lib:`pwd`/perl_lib

Configure your archive as normal (here's a reminder):

bin/configure_archive <name>
bin/create_tables <name>
bin/import_subjects <name>
bin/generate_apacheconf
testdata/bin/import_test_data <name>   # optional, but useful for testing
bin/generate_views <name>
bin/generate_abstracts <name>
bin/generate_static <name>

Adding library paths to Apache

Add your Perl library paths to Apache by creating a small script and including this in cfg/apache.conf. Create a file called my_path.pl containing:

#!/usr/bin/perl

# replace <eprints_root> with the root directory of your eprints install

use lib '<eprints_root>/perl_lib';
use lib '<eprints_root>/my_lib';

1;

Make it world-executable:

chmod 755 my_path.pl

And add to the beginning of cfg/apache.conf (this must be above the existing include lines):

# Replace <path_to> with the location of my_path.pl
PerlRequire <path_to>/my_path.pl

Running EPrints

Add to your Apache conf, or create a separate Apache configuration containing an include for eprints:

Include <path_to_eprints>/cfg/apache.conf

Assuming the EPrints SVN version is functioning you should now have a 'working' EPrints installation.

Making Modifications

Before starting any development work make sure to update your code base:

svn update

Unless explicitly stated otherwise all content © University of Southampton 2007.