Note: These instructions were written for LabKey Server v2.3, released in 2007, so they are not directly applicable to the current release of LabKey Server. They are intended only as an example installation procedure. Use this topic in conjunction with the manual installation documentation: Install LabKey Manually. If you experience any problems, please send us a message on the Support Forum

This page provides an example of how to perform a complete installation of LabKey's CPAS Application on Linux.

Items installed via these instructions:

  • Sun Java
  • Apache Tomcat
  • postgres
  • X!tandem
  • TPP Tools
  • Graphviz
  • CPAS
Items not installed via these instructions: Characteristics of the target server for the CPAS install:
  • Linux Distro: Fedora 7
  • Kernel: 2.6.20-2936.fc7xen
  • Processor Type: x86_64
Note: These instructions assume that you install CPAS as the user root, but you will run the CPAS server as the tomcat user.

Install Sun Java

By default Fedora, RHEL and SUSE distributions have the GCJ, the GCC compiler for JAVA, installed. These distributions also use the Alternatives system (see http://linux.die.net/man/8/alternatives ) and in order for GCJ to be compatible they are using the JPackage (Jpackage.org). For further details on this, see http://docs.fedoraproject.org/release-notes/f8/en_US/sn-Java.html).

CPAS requires the use of Sun Java and GCJ is not supported.

To install Sun Java, you will need to install two packages:

  1. JDK 6 Update 3 from Sun. This is a Linux RPM self-extracting file.
  2. JPackage Compatibility RPM (this RPM creates the proper links such that Sun Java is compatible with JPackage and the alternatives system)
Download and install the Sun JAVA from here: <YourServerName> represents the name of the server where you plan to install CPAS:

root@<YourServerName> Download# chmod +x jdk-6u3-linux-i586-rpm.bin 
root@<YourServerName> Download# ./jdk-6u3-linux-i586-rpm.bin
...

This package installs both the java software and the Sun JavaDB software. You do not need the JavaDB software, so you should remove it.

root@<YourServerName. Download# rpm --erase sun-javadb-client sun-javadb-common 
sun-javadb-core sun-javadb-demo sun-javadb-docs sun-javadb-javadoc

Now download and install the compat rpm from JPackage:

root@<YourServerName. Download# wget 
http://mirrors.dotsrc.org/jpackage/5.0/generic/non-free/RPMS/java-1.6.0-sun-compat-1.6.0.03-1jpp.i586.rpm
root@<YourServerName> Download# rpm --install java-1.6.0-sun-compat-1.6.0.03-1jpp.i586.rpm

Test to make sure this worked:

root@<YourServerName> Download# alternatives --config java

Two programs provide 'java':

Selection    Command
-----------------------------------------------
1 /usr/lib/jvm/jre-1.5.0-gcj/bin/java
*+ 2 /usr/lib/jvm/jre-1.6.0-sun/bin/java

Press "enter" to keep the current selection(+), or type a selection number:

root@<YourServerName> Download# java -version
java version "1.6.0_03"
Java(TM) SE Runtime Environment (build 1.6.0_03-b05)
Java HotSpot(TM) Server VM (build 1.6.0_03-b05, mixed mode)
root@<YourServerName> Download#

This shows that the installation was successful.

The last step is to make sure that the user who will be executing Tomcat has JAVA_HOME set. For the both the root user and the tomcat user you can do the following:

root@<YourServerName> LabKey2.3-7771-bin# vi  ~/.bash_profile 
[added]
JAVA_HOME=/usr/lib/jvm/java-1.6.0-sun
CATALINA_HOME=/usr/local/apache-tomcat-5.5.25
CATALINA_OPTS=-Djava.awt.headless=true
export CATALINA_OPTS
export JAVA_HOME
export CATALINA_HOME

Install the Tomcat Server

Download and unpack Tomcat v5.5.25

root@<YourServerName> Download# wget 
http://apache.mirrors.redwire.net/tomcat/tomcat-5/v5.5.25/bin/apache-tomcat-5.5.25.tar.gz
root@<YourServerName> Download# cd /usr/local
root@<YourServerName> local# tar xzf ~/Download/apache-tomcat-5.5.25.tar.gz
root@<YourServerName> local# cd apache-tomcat-5.5.25/
root@<YourServerName> apache-tomcat-5.5.25# ls
bin common conf LICENSE logs NOTICE RELEASE-NOTES RUNNING.txt server shared temp webapps work

Create the tomcat user

This user will be the user that runs the tomcat server.

root@<YourServerName> ~# adduser -s /sbin/nologin tomcat
root@<YourServerName> ~# su - tomcat
tomcat@<YourServerName> ~$ vi .bashrc
Add:
JAVA_HOME=/usr/lib/jvm/java-1.6.0-sun
CATALINA_HOME=/usr/local/apache-tomcat-5.5.25
CATALINA_OPTS=-Djava.awt.headless=true
export CATALINA_OPTS
export JAVA_HOME
export CATALINA_HOME

tomcat@<YourServerName> ~$ exit
logout

Configure the apache server

This is an optional configuration change. It enables access logging on the server. This allows you to see which URLs are accessed.

Enabled Access Logging on the server:

root@<YourServerName> ~# vi /usr/local/apache-tomcat-5.5.25/conf/server.xml

Change:

<!--
<Valve className="org.apache.catalina.valves.FastCommonAccessLogValve"
directory="logs" prefix="localhost_access_log." suffix=".txt"
pattern="common" resolveHosts="false"/>
-->
To:
<Valve className="org.apache.catalina.valves.FastCommonAccessLogValve"
directory="logs" prefix="localhost_access_log." suffix=".txt"
pattern="combined" resolveHosts="false"/>

Create "init" script that will be used to start and stop the tomcat server

Here we use the JSVC tool to create an init script. The JSVC is an Apache project and is shipped with the Tomcat distribution. There are many ways you can create an init script, but for this example, this is the tool we used.

building jsvc

root@<YourServerName> ~# cd /usr/local/
root@<YourServerName> /usr/local# sudo tar xzf /usr/local/apache-tomcat-5.5.25/bin/jsvc.tar.gz

Note: You need to build this package. In order to do so, you will need GCC and Autoconf. This server has both already installed.

root@<YourServerName> /usr/local# cd /usr/local/jsvc-src
root@<YourServerName> /usr/local# sh support/buildconf.sh
root@<YourServerName> /usr/local# chmod +x configure
root@<YourServerName> /usr/local# ./configure
...
root@<YourServerName> /usr/local# make
...

We see that the compile was successful.

Create the "init" script that will use JSVC

Now we use the example startup script at /usr/local/jsvc-src/native/Tomcat5.sh to create the startup script. We place it in /etc/init.d directory:

root@<YourServerName> /usr/local# cat vi /etc/init.d/tomcat5.sh 
#!/bin/sh
##############################################################################
#
# Copyright 2004 The Apache Software Foundation.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
##############################################################################
#
# Small shell script to show how to start/stop Tomcat using jsvc
# If you want to have Tomcat running on port 80 please modify the server.xml
# file:
#
# <!-- Define a non-SSL HTTP/1.1 Connector on port 80 -->
# <Connector className="org.apache.catalina.connector.http.HttpConnector"
# port="80" minProcessors="5" maxProcessors="75"
# enableLookups="true" redirectPort="8443"
# acceptCount="10" debug="0" connectionTimeout="60000"/>
#
# That is for Tomcat-5.0.x (Apache Tomcat/5.0)
#
# chkconfig: 3 98 90
# description: Start and Stop the Tomcat Server
#
#Added to support labkey
PATH=$PATH:/usr/local/labkey/bin
export PATH
#
# Adapt the following lines to your configuration
JAVA_HOME=/usr/lib/jvm/java-1.6.0-sun
CATALINA_HOME=/usr/local/apache-tomcat-5.5.25
DAEMON_HOME=/usr/local/jsvc-src
TOMCAT_USER=tomcat

# for multi instances adapt those lines.
TMP_DIR=/var/tmp
PID_FILE=/var/run/jsvc.pid
CATALINA_BASE=/usr/local/apache-tomcat-5.5.25

CATALINA_OPTS="-Djava.library.path=/home/jfclere/jakarta-tomcat-connectors/jni/native/.libs"
CLASSPATH= $JAVA_HOME/lib/tools.jar: $CATALINA_HOME/bin/commons-daemon.jar: $CATALINA_HOME/bin/bootstrap.jar

case "$1" in
start)
#
# Start Tomcat
#
$DAEMON_HOME/jsvc -user $TOMCAT_USER -home $JAVA_HOME -Dcatalina.home=$CATALINA_HOME -Dcatalina.base=$CATALINA_BASE -Djava.io.tmpdir=$TMP_DIR -wait 10 -pidfile $PID_FILE -outfile $CATALINA_HOME/logs/catalina.out -errfile '&1' $CATALINA_OPTS -cp $CLASSPATH org.apache.catalina.startup.Bootstrap
#
# To get a verbose JVM
#-verbose # To get a debug of jsvc.
#-debug exit $?
;;

stop)
#
# Stop Tomcat
#
$DAEMON_HOME/src/native/unix/jsvc -stop -pidfile $PID_FILE org.apache.catalina.startup.Bootstrap
exit $?
;;

*)
echo "Usage Tomcat5.sh start/stop"
exit 1;;
esac

Use the chkconfig tool to configure the start/stop script

  1. Notice the line "# chkconfig: 3 98 90" in the script. This tells the chkconfig tool how to create the links needed to start/stop the Tomcat process at each runlevel. This says that the Tomcat server should:
    • Only be started if using runlevel 3. It should not be started if using any other runlevel.
    • Start with a priority of 98
    • Stop with a priority of 90.
  1. Now run the chkconfig tool:
<YourServerName> /usr/local# chkconfig --add tomcat5

Postgres Installation and Configuration

Postgres is already installed on the server

root@<YourServerName> Download# rpm -q -a | grep postgres
postgresql-8.2.5-1.fc7
postgresql-libs-8.2.5-1.fc7
postgresql-server-8.2.5-1.fc7
postgresql-python-8.2.5-1.fc7

Here, we do not use the postgres user as the user to connect to the database. Instead, we create a new database super-user role named "tomcat." This means we need:

root@<YourServerName> Download# su - postgres
postgres@<YourServerName> ~# /usr/bin/createuser -P -s -e tomcat
Enter password for new role:
Enter it again:
CREATE ROLE "tomcat" PASSWORD 'LabKey678' SUPERUSER CREATEDB CREATEROLE INHERIT LOGIN;
CREATE ROLE

Add the PL/pgsql language support to the postgres configuration

postgres@<YourServerName> ~# createlang -d template1 PLpgsql

Change authorization so that the Tomcat user can login.

By default, postgres uses the ident method to authenticate the user (in other words, postgres will use the ident protocol for this user's authentication). However, the ident method cannot be used on many linux servers as ident is not installed.

In order to get around the lack of ident, we make "password" the authentication method for all local connections (i.e., connections coming from the localhost). See http://www.postgresql.org/docs/8.2/static/auth-methods.html for more information on authentication methods.

root@<YourServerName> ~# vi /var/lib/pgsql/data/pg_hba.cfg

Change:

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD

# "local" is for Unix domain socket connections only
local all all ident sameuser
# IPv4 local connections:
host all all 127.0.0.1/32 ident sameuser
# IPv6 local connections:
host all all ::1/128 ident sameuser
To:
# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD

# "local" is for Unix domain socket connections only
local all all ident sameuser
# IPv4 local connections:
host all all 127.0.0.1/32 password
# IPv6 local connections:
host all all ::1/128 ident sameuser

Increase the join collapse limit.

Edit postgresql.conf and change the following line:

# join_collapse_limit = 8

to

join_collapse_limit = 10

If you do not do this step, you may see the following error when running complex queries: org.postgresql.util.PSQLException: ERROR: failed to build any 8-way joins

Now start the postgres database

root@<YourServerName> ~# /etc/init.d/postgresql start

Install X!Tandem

The supported version of X!Tandem is available from the LabKey subversion repository. See https://www.labkey.org/wiki/home/Documentation/page.view?name=thirdPartyCode for further information.

Download the X!Tandem files using subversion:

root@<YourServerName> ~# cd Download
root@<YourServerName> Download# mkdir svn
root@<YourServerName> Download# cd svn
root@<YourServerName> svn# svn checkout --username cpas --password cpas
https://hedgehog.fhcrc.org/tor/stedi/tags/tandem_2007-07-01/
Error validating server certificate for 'https://hedgehog.fhcrc.org:443':
- The certificate is not issued by a trusted authority. Use the
fingerprint to validate the certificate manually!
Certificate information:
- Hostname: hedgehog.fhcrc.org
- Valid: from Jun 22 14:01:09 2004 GMT until Sep 8 14:01:09 2012 GMT
- Issuer: PHS, FHCRC, Seattle, Washington, US
- Fingerprint: d8:a6:7a:5a:e8:81:c0:a0:51:87:34:6d:d1:0d:66:ca:22:09:9e:1f
(R)eject, accept (t)emporarily or accept (p)ermanently? p
....

Now that we have the files, we need to build and install the files.

The first thing to do is check which version of G++ the server is running. If you are running G++ v4.x, you need to make a modifications to the make file before you build. Note: A bug has been submitted to make it unnecessary to make this change, but you will still need to make these changes until the fix is submitted.

root@<YourServerName> svn# g++ --version
g++ (GCC) 4.1.2 20070925 (Red Hat 4.1.2-27)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

This shows that the server is running v4.x. Now we make the change:

root@<YourServerName> svn# cd tandem_2007-07-01/src
root@<YourServerName> src# vi Makefile
[change]
CXXFLAGS = -O2 -DGCC -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPLUGGABLE_SCORING
#CXXFLAGS = -O2 -DGCC4 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPLUGGABLE_SCORING
[to]
#CXXFLAGS = -O2 -DGCC -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPLUGGABLE_SCORING
CXXFLAGS = -O2 -DGCC4 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPLUGGABLE_SCORING

Now run make:

root@<YourServerName> src# make 
....

Copy the tandem binary to the server path
root@<YourServerName> src# cp ../bin/tandem.exe /usr/local/labkey/bin

TPP Installation.

Labkey Server v2.3 supports TPP v3.4.2.

First, download the software:

Next, unpack the software:

root@<YourServerName> Download# unzip TPP_v3.4.2_SQUALL.zip
root@<YourServerName> Download# cd trans_proteomic_pipeline/src

It is necessary to change the Makefile.incl file to specify the install path and several options. These are specified at: https://www.labkey.org/wiki/home/Documentation/page.view?name=thirdPartyCode

We choose to the install the software at /usr/local/labkey/bin/tpp:

root@<YourServerName> src# vi Makefile.inc
Change:
TPP_ROOT=/tpp/bin/tpp/
To:
TPP_ROOT=/usr/local/labkey/bin/tpp/

Add to the bottom of the file:

XML_ONLY=1

TPP requires libboost development packages to be installed to successfully build.

root@<YourServerName> src# yum list available boost*
Available Packages
boost-devel-static.x86_64 1.33.1-13.fc7 fedora
boost-doc.x86_64 1.33.1-13.fc7 fedora
root@<YourServerName> src# yum install boost-devel-static.x86_64
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package boost-devel-static.x86_64 0:1.33.1-13.fc7 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
boost-devel-static x86_64 1.33.1-13.fc7 fedora 1.7 M

Transaction Summary
=============================================================================
Install 1 Package(s)
Update 0 Package(s)
Remove 0 Package(s)

Total download size: 1.7 M
Is this ok [y/N]: y
Downloading Packages:
(1/1): boost-devel-static 100% |=========================| 1.7 MB 00:01
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing: boost-devel-static ######################### [1/1]

Installed: boost-devel-static.x86_64 0:1.33.1-13.fc7
Complete!

There is a bug in the TPP makefile for 64bit machines. Thus you need to change the make file:

root@<YourServerName> src# vi Makefile
Change~:
#
# cygwin or linux?
#
ifeq (${OS},Windows_NT)
OSFLAGS= -D__CYGWIN__
GD_LIB= /lib/libgd.a
BOOST_REGEX_LIB= /lib/libboost_regex-gcc-mt.a
else
OSFLAGS= -D__LINUX__
GD_LIB= -lgd
BOOST_REGEX_LIB= /usr/libboost_regex/libboost_regex.a -lpthread
endif

To:

#
# cygwin or linux?
#
ifeq (${OS},Windows_NT)
OSFLAGS= -D__CYGWIN__
GD_LIB= /lib/libgd.a
BOOST_REGEX_LIB= /lib/libboost_regex-gcc-mt.a
else
OSFLAGS= -D__LINUX__
GD_LIB= -lgd
BOOST_REGEX_LIB= /usr/lib64/libboost_regex.a -lpthread
endif

Now run the make file:

[root@<YourServerName> src]# make
.....

After building successfully, the next step is to perform the install

root@<YourServerName> src# make install
# Create Directories
mkdir -p /usr/local/labkey/bin/tpp/
mkdir -p /usr/local/labkey/bin/tpp/bin/
mkdir -p /usr/local/labkey/bin/tpp/schema/
# Copy all source executables and configuration files to their location
cp -f ASAPRatioPeptideParser /usr/local/labkey/bin/tpp/bin/
cp -f ASAPRatioProteinRatioParser /usr/local/labkey/bin/tpp/bin/
cp -f ASAPRatioPvalueParser /usr/local/labkey/bin/tpp/bin/
cp -f Comet2XML /usr/local/labkey/bin/tpp/bin/
cp -f CompactParser /usr/local/labkey/bin/tpp/bin/
cp -f DatabaseParser /usr/local/labkey/bin/tpp/bin/
cp -f EnzymeDigestionParser /usr/local/labkey/bin/tpp/bin/
cp -f InteractParser /usr/local/labkey/bin/tpp/bin/
cp -f LibraPeptideParser /usr/local/labkey/bin/tpp/bin/
cp -f LibraProteinRatioParser /usr/local/labkey/bin/tpp/bin/
cp -f Mascot2XML /usr/local/labkey/bin/tpp/bin/
cp -f PeptideProphetParser /usr/local/labkey/bin/tpp/bin/
cp -f ProteinProphet /usr/local/labkey/bin/tpp/bin/
cp -f ../perl/ProteinProphet.pl /usr/local/labkey/bin/tpp/bin/
cp -f ../perl/TPPVersionInfo.pl /usr/local/labkey/bin/tpp/bin/
cp -f ../perl/SSRCalc3.pl /usr/local/labkey/bin/tpp/bin/
cp -f ../perl/SSRCalc3.par /usr/local/labkey/bin/tpp/bin/
cp -f RefreshParser /usr/local/labkey/bin/tpp/bin/
cp -f MzXML2Search /usr/local/labkey/bin/tpp/bin/
cp -f runperl /usr/local/labkey/bin/tpp/bin/
cp -f Sequest2XML /usr/local/labkey/bin/tpp/bin/
cp -f Out2XML /usr/local/labkey/bin/tpp/bin/
cp -f Sqt2XML /usr/local/labkey/bin/tpp/bin/
cp -f CombineOut /usr/local/labkey/bin/tpp/bin/
cp -f Tandem2XML /usr/local/labkey/bin/tpp/bin/
cp -f xinteract /usr/local/labkey/bin/tpp/bin/
cp -f XPressPeptideParser /usr/local/labkey/bin/tpp/bin/
cp -f XPressProteinRatioParser /usr/local/labkey/bin/tpp/bin/
cp -f Q3ProteinRatioParser /usr/local/labkey/bin/tpp/bin/
cp -f spectrast /usr/local/labkey/bin/tpp/bin/
cp -f plotspectrast /usr/local/labkey/bin/tpp/bin/
cp -f runsearch /usr/local/labkey/bin/tpp/bin/
cp -f dtafilter /usr/local/labkey/bin/tpp/bin/
cp -f readmzXML.exe /usr/local/labkey/bin/tpp/bin/ # consider removing .exe for linux builds
cp -f dta2mzxml /usr/local/labkey/bin/tpp/bin/
cp -f out2summary /usr/local/labkey/bin/tpp/bin/ # to be retired in favor of out2xml
cp -f ../schema/msms_analysis3.dtd /usr/local/labkey/bin/tpp/schema/
cp -f ../schema/pepXML_std.xsl /usr/local/labkey/bin/tpp/schema/
cp -f ../schema/pepXML_v18.xsd /usr/local/labkey/bin/tpp/schema/
cp -f ../schema/pepXML_v9.xsd /usr/local/labkey/bin/tpp/schema/
cp -f ../schema/protXML_v1.xsd /usr/local/labkey/bin/tpp/schema/
cp -f ../schema/protXML_v3.xsd /usr/local/labkey/bin/tpp/schema/
cp -f ../schema/protXML_v4.xsd /usr/local/labkey/bin/tpp/schema/
chmod g+x /usr/local/labkey/bin/tpp/bin/*
chmod a+r /usr/local/labkey/bin/tpp/schema/*

There is a bug in the TPP make script. The bug does not copy the batchcoverage executable over to the bindir.

root@<YourServerName> src# cd ..
root@<YourServerName> trans_proteomic_pipeline# ls
CGI COVERAGE extern HELP_DIR HTML images perl README schema src TESTING XML_sample_files.tgz
root@<YourServerName> trans_proteomic_pipeline# cd COVERAGE/
root@<YourServerName> COVERAGE# ls
batchcoverage batchcoverage.dsp batchcoverage.vcproj Coverage.h main.o Protein.h
batchcoverage2003.sln batchcoverage.dsw constants.h Coverage.o Makefile sysdepend.h
batchcoverage2003.vcproj batchcoverage.sln Coverage.cxx main.cxx Protein.cxx
root@<YourServerName> COVERAGE# cp batchcoverage /usr/local/labkey/bin/tpp/bin/

The last step is to ensure that the TPP bindir is located on PATH env variable for the user that runs the tomcat server. In this case the user=tomcat. THIS IS A VERY IMPORTANT STEP.

root@<YourServerName> COVERAGE# vi ~tomcat/.bashrc
Change:
PATH=$PATH:$HOME/bin
To:
PATH=$PATH:$HOME/bin:/usr/local/labkey/bin/tpp/bin

Install the Graphviz tool

add notes here

Install the LabKey CPAS server

Note: Starting in LabKey Server version 13.3, the JAR distribution directories /common-lib and /server-lib were consolidated to a single directory /tomcat-lib. The destination for these JARs was changed to TOMCAT_HOME/lib. If you are installing 13.3 or later, modify the commands below accordingly.

root@<YourServerName>Download# wget 
https://www.labkey.org/download/2.3/LabKey2.3-7771-bin.tar.gz
root@<YourServerName> Download# tar xzf LabKey2.3-7771-bin.tar.gz
root@<YourServerName> Download# cd LabKey2.3-7771-bin
root@<YourServerName> LabKey2.3-7771-bin# ls
common-lib labkeywebapp labkey.xml modules README.txt server-lib manual-upgrade.sh

Copy the jars in the common-lib directory the <TOMCAT_HOME>/common/lib:

root@<YourServerName> LabKey2.3-7771-bin# cd common-lib/
root@<YourServerName> common-lib# ls
activation.jar jtds.jar mail.jar postgresql.jar
root@<YourServerName> common-lib# cp *.jar /usr/local/apache-tomcat-5.5.25/common/lib/

Copy the jars in the server-lib directory the <TOMCAT_HOME>/server/lib

root@<YourServerName> common-lib# cd ../server-lib/
root@<YourServerName> server-lib# ls
labkeyBootstrap.jar
root@<YourServerName> server-lib# cp
labkeyBootstrap.jar /usr/local/apache-tomcat-5.5.25/server/lib/

Create the <LABKEY_HOME> directory:

root@<YourServerName> server-lib# mkdir /usr/local/labkey

Copy the labkeywebapp and the modules directory to the <LABKEY_HOME> directory:

root@<YourServerName> server-lib# cd ..
root@<YourServerName> LabKey2.3-7771-bin# ls

common-lib labkeywebapp labkey.xml modules README.txt server-lib manual-upgrade.sh
root@<YourServerName> LabKey2.3-7771-bin# mkdir /usr/local/labkey/labkeywebapp
root@<YourServerName> LabKey2.3-7771-bin# mkdir /usr/local/labkey/modules
root@<YourServerName> LabKey2.3-7771-bin# cp -R labkeywebapp/* /usr/local/labkey/labkeywebapp/
root@<YourServerName> LabKey2.3-7771-bin# cp
-R modules/* /usr/local/labkey/modules/

Copy the labkey.xml file to the <TOMCAT_HOME> directory and make the necessary changes to the file:

root@<YourServerName> LabKey2.3-7771-bin# cp labkey.xml 
/usr/local/apache-tomcat-5.5.25/conf/Catalina/localhost/
root@<YourServerName> LabKey2.3-7771-bin# vi
/usr/local/apache-tomcat-5.5.25/conf/Catalina/localhost/labkey.xml

The file was changed to look like this:

<Context path="/labkey" docBase="/usr/local/labkey/labkeywebapp" debug="0" 
reloadable="true" crossContext="true">

<Environment name="dbschema/--default--" value="jdbc/labkeyDataSource"
type="java.lang.String"/>

<Resource name="jdbc/labkeyDataSource" auth="Container"
type="javax.sql.DataSource"
username="tomcat"
password="LabKey678"
driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://localhost/labkey"
maxActive="20"
maxIdle="10" accessToUnderlyingConnectionAllowed="true"/>

<Resource name="jms/ConnectionFactory" auth="Container"
type="org.apache.activemq.ActiveMQConnectionFactory"
factory="org.apache.activemq.jndi.JNDIReferenceFactory"
description="JMS Connection Factory"
brokerURL="vm://localhost?broker.persistent=false&amp;broker.useJmx=false"
brokerName="LocalActiveMQBroker"/>

<Resource name="mail/Session" auth="Container"
type="javax.mail.Session"
mail.smtp.host="localhost"
mail.smtp.user="tomcat"
mail.smtp.port="25"/>

<Loader loaderClass="org.labkey.bootstrap.LabkeyServerBootstrapClassLoader"
useSystemClassLoaderAsParent="false" />

<!-- <Parameter name="org.mule.webapp.classpath" value="C:mule-config"/> -->

</Context>

The final step is to make the tomcat user the owner of all files in <TOMCAT_HOME> and <LABKEY_HOME>:

root@<YourServerName> LabKey2.3-7771-bin# chown -R tomcat.tomcat /usr/local/labkey
root@<YourServerName> LabKey2.3-7771-bin# chown -R tomcat.tomcat /usr/local/apache-tomcat-5.5.25

Now start the CPAS server to test it:

root@<YourServerName> ~# /etc/init.d/tomcat5 start

You can access the CPAS server at

http://<YourServerName>:8080/labkey
If you are experiencing any problem, the log files are located at /usr/local/apache-tomcat-5.5.25/logs.


previousnext
 
expand allcollapse all