Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Added update in beginning - if not updated, tasksel produces error

...

This how-to was originally written for Ubuntu 10.10 (Maverick Meerkat) and has been tested with Ubuntu 11.04 (Natty Narwhal).

Table of Contents

Install Prerequisites

Make sure your sources are up to date before beginning

Code Block
sudo apt-get update

Install the server stack of Tomcat (web server) and PostgreSQL (database)

Code Block

sudo apt-get install tasksel
sudo tasksel
  • Select the following packages

    Code Block
    
    [*] LAMP server
    [*] PostgreSQL database
    [*] Tomcat Java server
    

Install the Compile / Build tools

Code Block

sudo apt-get install ant maven2

...

Create the database user (dspace)

Code Block

sudo su postgres
createuser -U postgres -d -A -P dspace
exit

Allow the database user (dspace) to connect to the database

Code Block

sudo vi /etc/postgresql/8.4/main/pg_hba.conf
# Add this line to the configuration: local all dspace md5
sudo service postgresql restart

Create the dspace database

Code Block

createdb -U dspace -E UNICODE dspace

Configure Tomcat to know about the DSpace webapps.

Code Block

sudo vi /etc/tomcat6/server.xml
# Insert the following chunk of text just above the closing </Host>

<!-- Define a new context path for all DSpace web apps -->
<Context path="/xmlui" docBase="/dspace/webapps/xmlui" allowLinking="true"/>
<Context path="/sword" docBase="/dspace/webapps/sword" allowLinking="true"/>
<Context path="/oai"   docBase="/dspace/webapps/oai"   allowLinking="true"/>
<Context path="/jspui" docBase="/dspace/webapps/jspui" allowLinking="true"/>
<Context path="/lni"   docBase="/dspace/webapps/lni"   allowLinking="true"/>
<Context path="/solr"  docBase="/dspace/webapps/solr"  allowLinking="true"/>

...

The [dspace] directory is where the running dspace code will reside.

Code Block

sudo mkdir /dspace

Download the Source Release

The source release allows you to customize every aspect of DSpace. This step downloads the compressed archive from SourceForge, and unpacks it in your current directory. The dspace-1.x.x-src-release directory is typically referred to as [dspace-src]. 

Code Block

wget http://sourceforge.net/projects/dspace/files/DSpace%20Stable/1.7.2/dspace-1.7.2-src-release.tar.bz2
tar -xvjf dspace-1.7.2-src-release.tar.bz2

...

Info

ant fresh_install will populate the dspace database and [dspace] directory with new information. This will overwrite any existing installation of DSpace that you may have.
For upgrades the better command to use would be ant update, as it doesn't alter the database or modify your assetstore.

Code Block

cd dspace-1.7.2-src-release
mvn -U package
cd dspace/target/dspace-1.7.2-build.dir
sudo ant fresh_install

...

This guide follows the convention where the tomcat user will own all of the files in [dspace], so we have to change the owner of the files to tomcat6. Restarting tomcat will deploy the dspace webapps that are now ready to be viewed.

Code Block

sudo chown tomcat6:tomcat6 /dspace -R
sudo service tomcat6 restart

...

The Sun Java is available in the partners repository which makes for an easy installation. From the GUI this can be changed by going to Software Sources. Change "natty" to the name of the Ubuntu version you're using (if you aren't using Ubuntu 11.04)

Code Block

sudo vi /etc/apt/sources.list
# Uncomment the line: deb http://archive.canonical.com/ubuntu natty partner
sudo apt-get update

Install Sun Java

Code Block

sudo apt-get install sun-java6-jdk sun-java6-plugin

...

First we list the available jdk's installed on the system, then we set the sun java to be the new default.

Code Block

sudo update-java-alternatives -l
# java-6-openjdk 1061 /usr/lib/jvm/java-6-openjdk
# java-6-sun 63 /usr/lib/jvm/java-6-sun
sudo update-java-alternatives -s java-6-sun

Tomcat ignores the system default and continues to use OpenJDK. To make Tomcat use Sun Java instead, add the following line to /etc/default/tomcat6:

Code Block

JAVA_HOME=/usr/lib/jvm/java-6-sun

...