wiki:OpenClinica

Version 6 (modified by joshuadf, 10 years ago) (diff)

--

This assumes guide you have a server with a fully updated install of Red Hat Enterprise Linux 5 Update 3 (EL5.3).

1. Download and install software.

1a. Install prequisite software on RHEL 5.3.

EL5.3's version of postgres is slightly older than in the OpenClinica recommendations, but Red Hat ports security and other updates to RHEL. We have not encountered issues. For Sun Java, you may need to add the channel "RHEL Supplementary (v. 5)" in the RHN web interface, or separately install and configure a JDK as described in the OpenClinica instructions. We prefer to use standard RHEL components when possible to take advantage of Red Hat's security/QA process.

yum -y install postgresql-server
yum -y install java-1.6.0-sun-devel 
yum -y install tomcat5-admin-webapps

rpm -q tomcat5 postgresql java-1.6.0-sun
# As of 2009 Jan 30
# tomcat5-5.5.23-0jpp.7.el5_2.1
# postgresql-8.1.11-1.el5_1.1
# java-1.6.0-sun-1.6.0.11-1jpp.1.el5

1b. Download OpenClinica for Linux

Create an account and get OpenClinica 2.5.4 (02/17/2009) or browse for the latest version at the OpenClinica Downloads website.

The download contains a install-docs/linux/install.txt that gives verbose instructions that form the basis of this README. Decompress the download in /usr/local/oc:

mkdir /usr/local/oc
cd /usr/local/oc
# if you have an older version delete or move it first then
# upload OpenClinica-*.tar.gz to your Linux host
# rsync -vaz OpenClinica-*.tar.gz $RHEL_HOST:/usr/local/oc/
tar zxvf OpenClinica-*.tar.gz 

2. Setup software

2a. PostgreSQL

Prepare a strong password to use for the db user and run the following:

/etc/init.d/postgresql start
chkconfig postgresql on
sed -i 's;127.0.0.1/32          ident sameuser;127.0.0.1/32          md5;' /var/lib/pgsql/data/pg_hba.conf
# switch to postgres user       
su - postgres
  createuser --no-superuser --no-createrole --no-createdb --pwprompt clinica
  # type a secret password and note it!
  createdb openclinica 
  psql -d openclinica -f /usr/local/oc/OpenClinica-*/config/database/PostgreSQL/*/install/create_database_*_tables_with_data.sql
exit
/etc/init.d/postgresql restart
# test the connection from localhost
psql --user clinica --host localhost openclinica

2b. Tomcat

# First edit /etc/tomcat/server.xml to configure SSL (port 8443)
# http://tomcat.apache.org/tomcat-5.5-doc/ssl-howto.html
vi /etc/tomcat/server.xml

keytool -genkey -alias tomcat -keyalg RSA -dname "cn=Mark Jones, ou=JavaSoft, o=Sun, c=US" -storepass changeit -keypass changeit
mv /root/.keystore /usr/share/tomcat5/
chkconfig tomcat5 on

# link Red Hat location to OpenClinica instruction location
ln -s /usr/share/tomcat5 /usr/local/tomcat
mkdir /usr/local/tomcat/openclinica.data/
chown tomcat:tomcat /usr/local/tomcat/openclinica.data/

# OC is only compatible with Sun JavaMail http://java.sun.com/products/javamail/
wget https://staff.washington.edu/joshuadf/java/mail.jar -O /usr/share/java/mail.jar
/usr/sbin/alternatives --install /usr/share/java/javamail.jar javamail /usr/share/java/mail.jar 4289
/usr/sbin/alternatives --set javamail /usr/share/java/mail.jar 
# Bug: https://bugzilla.redhat.com/show_bug.cgi?id=217630
wget https://staff.washington.edu/joshuadf/java/naming-factory-dbcp.jar -O /var/lib/tomcat5/common/lib/naming-factory-dbcp.jar
cp /usr/local/oc/OpenClinica-*/config/libraries/postgresql-8.1-405.jdbc3.jar /usr/local/tomcat/common/lib/

# configuration
sed -i 's;smtpHost=mail.example.com;smtpHost=localhost;' /usr/local/tomcat/webapps/OpenClinica/properties/datainfo.properties
sed -i 's;adminEmail=.*;adminEmail=you@your.domain' /usr/local/tomcat/webapps/OpenClinica/properties/datainfo.properties
# change "clinica" passwd in /usr/share/tomcat5/conf/Catalina/localhost/OpenClinica.xml
/etc/init.d/tomcat5 start

Now go to https://localhost:8443/OpenClinica/MainMenu (root/12345678) and enjoy!