Dspace 1.6.x on Red Hat Enterprise Linux 5 (RHEL5)
Hi Dspace community, I'll be adding documentation here that outlines how to get Dspace 1.6.x up and running on a RHEL5 system emphasizing sustainability. (No small accomplishment.) The documentation is complete, but I need to translate from our internal documentation and wiki format to the format supported here. In the mean time feel free to email me any questions regarding this documentation or our build. --- Jamin Ragle, Systems Administrator, University of New Mexico Libraries
Todo/Problems to resolve in this document:
- Figure out how to do footnotes in Confluence.
- Figure out how to do hover-over notes.
- Figure out how to collapse chunks of quoted text. (for output of commands)
Install
Official Dspace 1.6 Install Documentation: http://www.dspace.org/1_6_0Documentation/ch03.html
(for reference purposes and the instructions I used to write this document)
Official Dspace 1.6 Install Documentation: http://www.dspace.org/1_6_0Documentation/ch03.html
(for reference purposes and the instructions I used to write this document)
Assumptions
- Standard RHEL5 (32-bit) server - This build/document assumes you are running RHEL5_, but it could possibly be adapted to a CentOS5 system._
- RHEL Supplementary channel (v. 5 for 32-bit x86) - This is what provides a source for Sun Java updates. It is assumed you have a valid Red Hat Network account that you can manage your systems.
- Package Management - All required software for DSpace is provided and managed using package management, in our case RPM's. It is assumed software from external repositories used get regular updates, are trusted as secure, and all packages are maintained regularly.
Goals: This build is targeted for resolving the dependency problems of the past between RHEL and JPackage, remove the 'dspace' user, and to install Dspace 1.6.2.
The hardest issues to resolve are finding the prerequisite packages for Maven2 and Ant 1.7, resolving the dependencies, AND still use RPMs to maintain the packages. The following is my attempt to use an external repository (JPackage) with RHEL5 and the only unmaintained packages are Dspace itself and possibly the Java JAI.
Check and Install Pre-requisite software
Login as root if you are not already. |
- Requirement - Perl (no version listed.) – RHEL5 currently provides perl 5.8.8. and was Installed by our default RHEL5 build.
- Requirement - Sun Java 1.5 or better, we will install Sun Java 1.6 -
(RHEL5 currently provides Sun Java 1.5 & 1.6 through the RHEL Supplementary (v. 5 for 32-bit x86) channel)- Requires RHEL Supplementary (v. 5 for 32-bit x86) channel to get access to the Sun Java.
This is done through the web interface @ https://rhn.redhat.com - Install Sun Java 6:
Output for Sun Java 6 install:
yum install java-1.6.0-sun java-1.6.0-sun-devel -y
Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: java-1.6.0-sun i586 1:1.6.0.20-1jpp.1.el5 rhel-i386-server-supplementary-5 37 M java-1.6.0-sun-devel i586 1:1.6.0.20-1jpp.1.el5 rhel-i386-server-supplementary-5 20 M Installing for dependencies: jpackage-utils noarch 1.7.3-1jpp.2.el5 rhel-i386-server-5 61 k Transaction Summary ================================================================================ Install 3 Package(s) Upgrade 0 Package(s) Total download size: 57 M
Notice here
Installing Java the jpackage-utils 1.7 is also installed which is maintained by Red Hat. Later on it will be replaced by the JPackage maintained version and can/will cause some problems after we install and start using the JPackage repo.
- Requires RHEL Supplementary (v. 5 for 32-bit x86) channel to get access to the Sun Java.
- Requirement - Relational Database, PostgreSQL 7.4 or later - (RHEL5 currently provides postgres 8.1.18(default) and 8.4 is available too.)
- Install Postgresql:
This will install the postgresql dependency.
yum install postgresql-server -y
Output for Postgresql Server install:Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: postgresql-server i386 8.1.21-1.el5_5.1 rhel-i386-server-5 3.8 M Installing for dependencies: postgresql i386 8.1.21-1.el5_5.1 rhel-i386-server-5 2.9 M Transaction Summary ================================================================================ Install 2 Package(s) Upgrade 0 Package(s) Total download size: 6.7 M
- Install Postgresql:
Clean Install
We have a Clean install, using only RHEL provided packages, up to this point.
Install and Configure the JPackage repository
(Ok, this is somewhat dirty and I don't know if this work work in a sustainable way, but here goes the experiment.)
Objective Statement: Only packages that are specifically needed, either explicitly or to resolve a dependency on JPackage will be used, otherwise the RHEL channel provided package will be used.((I go into detail why I didn't use _yum-priorities_ in my more ideal install attempt:#alternative_install_methodyum-protectbase.)) |
- Install a custom repo file to use Jpackage repository v5.0:
The contents of the config is listed at the end of this document: #Config Files
wget -P/etc/yum.repos.d http://librhn.unm.edu/pub/jpackage50-ant17-maven2-mod.repo
- Install the GPG key from JPackage:
rpm --import http://www.jpackage.org/jpackage.asc
- Update the system to use the new jpackage-utils 5.0 package:
Unfortunately this has a bad side effect of removing /usr/bin/rebuild-security-providers, which was maintained in the RHEL 5 jpackage-utils 1.7, but not in the new one provided by Jpackage.((Also a known RHEL5 + JPackage bug: https://bugzilla.redhat.com/show_bug.cgi?id=497213))
yum update -y
- Now we need to install a workaround, to address the missing /usr/bin/rebuild-security-providers dependency((I used directions I found for CentOS 5: http://plone.lucidsolutions.co.nz/linux/centos/jpackage-jpackage-utils-compatibility-for-centos-5.x))((This link is also useful, and somewhat related to getting the repo config file we used to work: http://plone.lucidsolutions.co.nz/linux/centos/jpackage-rpm-repository-for-centos-rhel-5.x)).
What a mess... but it's working.
rpm -ivh http://plone.lucidsolutions.co.nz/linux/centos/images/jpackage-utils-compat-el5-0.0.1-1.noarch.rpm