- Start Page

advertisement
Documentation for I2b2 version 1.4
Required Software







JDK 6.0
JBOSS 4.2.2 GA
Apache Ant 1.6.5
Apache Axis2 1.1
Apache Web Server 2.2.15
Php-5.2.13
Oracle 10.2.0.4 Enterprise Edition
Table of Contents
Documentation for I2b2 version 1.4 ....................................................................................................................................... 1
a. Java JDK .......................................................................................................................................................................... 1
b. JBoss 4.2.2 GA ................................................................................................................................................................ 2
c. Apache Ant 1.6.5 ............................................................................................................................................................ 3
d. Apache Axis2 1.1 ............................................................................................................................................................ 4
e. Apache Web Server........................................................................................................................................................ 4
f. Oracle 10g Enterprise Edition Install ............................................................................................................................ 10
g. Php-5.2.13 .................................................................................................................................................................... 40
a. Java JDK
JDK 6.0 (recommended)
This procedure installs the Java Development Kit (JDK) for 64-bit Linux, using an RPM binary bundle.
http://java.sun.com/products/
The name of the downloaded file has the following format:
jdk-6u<version>-linux-x64-rpm.bin
where <version> is the particular version number, for example:
jdk-6u18-linux-x64-rpm.bin
To install, download this file and use the following instructions:
1. Download and check the download file size.
You can download to any directory that you can write to.
2. Become root by running the su command and entering the root password.
3. Extract and install the contents of the downloaded file.
Change directory to where the downloaded file is located and run these commands to first set the executable
permissions and then run the binary to extract and run the RPM file:
% chmod a+x jdk-6u<version>-linux-x64-rpm.bin
% ./jdk-6u<version>-linux-x64-rpm.bin
Note that the initial "./" is required if you do not have "." in your PATH environment variable.
The script displays a binary license agreement, which you are asked to agree to before installation can proceed.
Once you have agreed to the license, the install script creates and runs the file jdk-6u<version>-linuxx64.rpm in the current directory.
NOTE - If instead you want to only extract the RPM file but not install it, you can run the .bin file with the -x
argument. You do not need to be root to do this.
4. Delete the rpm file if you want to save disk space.
5. Exit the root shell.
6. If you want to use Java within the browser, setup the plugin using the instructions in Manual Plugin
Installation for Linux.
Known Problems

On 64-bit Linux platforms the 32-bit JDK and 64-bit JDK cannot co-exist when installed from the RPM
bundles. One must install one or the other but not both.
The workaround is to use the .bin bundle and install into distinct directories.
b. JBoss 4.2.2 GA
Download ‘jboss-4.2.2.GA.zip’, from http://labs.jboss.com/jbossas/downloads.
a)Unzip jboss-4.2.2.GA.zip into a directory of your choice (/usr/jboss-4.2.2.GA
or YOUR_JBOSS_HOME_DIR)
b)Set JBoss JVM to run with 1GB extended memory.
Edit ‘YOUR_JBOSS_HOME_DIR/bin/run.conf’ and change the JAVA_OPTS
memory settings to that shown below. (-Xms512m, -Xmx1024m)
#
# Specify options to pass to the Java VM.
#
if [ “x$JAVA_OPTS” = “x” ]; then
JAVA_OPTS="-Xms512m –Xmx1024m
-Dsun.rmi.dgc.client.gcInterval=3600000
-Dsun.rmi.dgc.server.gcInterval=3600000"
fi
c) If default port 8080 is unavailable (another application is using this port), edit
‘YOUR_JBOSS_HOME_DIR/server/default/deploy/jboss-web.deployer/server.xml’ file to reconfigure the
non-SSL HTTP/1.1 Connector to another port such as 9090
<!—Define a non-SSL HTTP/1.1 Connector on port 9090 
<Connector port="9090" address="${jboss.bind.address}"
maxThreads="250" maxHttpHeaderSize="8192"
emptySessionPath="true" protocol="HTTP/1.1"
enableLookups="false" redirectPort="8443"
acceptCount="100" connectionTimeout="20000"
disableUploadTimeout="true" />
<!—Define an AJP 1.3 Connector on port 9009 
<Connector port="9009" address="${jboss.bind.address}"
maxThreads="250" maxHttpHeaderSize="8192"
protocol="AJP/1.3 emptySessionPath="true"
enableLookups=”false” redirectPort=”8443”/>
d)You may also need to update the run permission of the jboss startup scripts.
‘chmod 775 YOUR_JBOSS_HOME_DIR/bin/*.sh’
c. Apache Ant 1.6.5
The binary distribution of Ant consists of the following directory layout:
ant
+--+--|
+--|
+--|
|
|
|
|
+---
README, LICENSE, fetch.xml, other text files. //basic information
bin // contains launcher scripts
lib
// contains Ant jars plus necessary dependencies
docs // contains documentation
|
+--- images // various logos for html documentation
|
+--- manual // Ant documentation (a must read ;-)
etc // contains xsl goodies to:
//
- create an enhanced report from xml output of various tasks.
//
- migrate your build files and get rid of 'deprecated' warning
//
- ... and more ;-)
Step 1:
Download 'Apache Ant version 1.8.0' (apache-ant-1.8.0-bin.zip) from
http://archive.apache.org/dist/ant/binaries/
Step 2:
Login as root to your Linux box and go under /usr/local.
Step 3:
Copy apache-ant-1.8.0-bin.zip onto your Linux box in /usr/local directory.
Step 4:
Extract the zip file apache-ant-1.8.0-bin.zip) using unzip command.
[root@]# unzip apache-ant-1.8.0-bin.zip
above command will extract the content of the zip file and will create a new directory apache-ant-1.8.1
To test the Apache Ant installation, run the program ant -version on the command line. The output should look
something like:
d. Apache Axis2 1.1
Download 'Apache Axis2 version 1.1', from
http://ws.apache.org/axis2/download/1_1/download.cgi and select the download
type WAR (Web Archive) Distribution.(axis2.war)
a)Create folder i2b2.war inside
‘YOUR_JBOSS_HOME_DIR/server/default/deploy’
b)Unzip axis2.war inside
‘YOUR_JBOSS_HOME_DIR/server/default/deploy/i2b2.war’ folder.
1. Once the WAR is successfully installed, test it by pointing the web browser to the http://<host
:port>/axis2. It should produce the following page which is the Axis2 Web Application Home Page.
2. Use the link "Validate" to ensure that everything is running correctly. If the validation fails then the
WAR has failed to install properly or some essential jars are missing. In such a situation, refer to the
documentation of the particular servlet container to find the problem. The following page shows a
successful validation. Note the statement that in
http://ws.apache.org/axis2/1_1/installationguide.htmldicates the core Axis2 libraries are present
http://ws.apache.org/axis2/1_1/installationguide.html
e. Apache Web Server
Before building apache, ensure SSL and expat development libraries are installed:
# sudo zypper install libexpat-devel libopenssl-devel
Download source
Get the source from http://httpd.apache.org/download.cgi ( httpd-2.2.15.tar.gz. Md5:
31fa022dc3c0908c6eaafe73c81c65df)
unpack, configure, compile
Go to the directory with the downloaded file and enter:
# tar -xzf httpd-2.2.15.tar.gz
# cd httpd-2.2.15
# ./configure --prefix=/usr/local/apache2 \
--enable-so --with-included-apr \
--enable-headers --enable-rewrite –enable-auth-digest=shared --enable-vhost-alias \
--disable-autoindex --disable-status --disable-imagemap --disable-userdir \
--enable-ssl \
--with-expat=/usr/lib
The configure options deserve a little bit more of detail here:

The most important --prefix option specifies the location where Apache is to be installed.

Another commonly used option --enable-so turns on the DSO support, i.e. available modules compiled
as shared objects (e.g. mod-php and mod-jk) can be loaded or unloaded at runtime. Very handy.

KUMC "Apache Security Checklist" suggests headers thru userdir and ssl

The expat option is for running trac under mod_wsgi; see
http://code.google.com/p/modwsgi/wiki/IssuesWithExpatLibrary
For all available configuration options and their default values check the Apache documentation or type
./configure --help.
SSL support
To support secure connections, you need to specify --enable-ssl option when you run ./configure. In addition
to that, you will also have to configure your httpd.conf file later.
Note: Make sure that openssl is installed on your system before you run ./configure with --enable-ssl. If
not, download the latest version from http://www.openssl.org/source/ , unpack, configure, make, make install.
You will also need to generate server certificate. Place server.crt and server.key into /etc/ssl/apache2/ directory
and make them readable by Apache2.
configuration example
For example, to compile the mod_rewrite module statically and mod_auth_digest as a DSO, and to enable
secure connections, enter:
# ./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite --enable-authdigest=shared --enable-ssl
Tip: If you are upgrading from older Apache version, you may want to copy config.nice from the directory to
which the previous version was unpacked (if available) to where you unpacked the new Apache tarball file. Run
./config.nice instead of ./configure. This way all the previously used configure options will be applied to the
new installation effortlessly.
Once you configured everything as you like, compile and install the software:
# make
# make install
SSL support
If you wish to enable SSL for secure connections (assuming that you have configured Apache with --enablessl option - see above), add the following in the appropriate sections inside httpd.conf (ignore "..."; replace
"laffers.net" with your own, and set the actual path to your server certificate and key file):
Listen 80
Listen 443
...
ServerName laffers.net:443
SSLEngine on
SSLCertificateFile /etc/ssl/apache2/server.crt
SSLCertificateKeyFile /etc/ssl/apache2/server.key
ErrorLog /usr/local/apache2/logs/error_log_laffers.net
TransferLog /usr/local/apache2/logs/access_log_laffers.net
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SetEnvIf User-Agent ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
Note: In some newer distributions, httpd.conf is dissected into many additional files located in conf/extra. In that case,
you may want to do the SSL settings from above inside the conf/extra/httpd-ssl.conf file. Don't forget to uncomment
"Include conf/extra/httpd-ssl.conf" in the httpd.conf file.
start and stop apache server
After everything is set up, start Apache:
# /usr/local/apache2/bin/apachectl –k start
Similarly, if you wish to stop Apache, type:
# /usr/local/apache2/bin/apachectl –k stop
Using mod_jk 1.2.x with JBoss/Tomcat bundle and Apache2
Quick Overview
1.
2.
3.
4.
5.
6.
7.
8.
Download modjk 1.2.x (At least 1.2.27 suggested)
Change the main Apache config to include modjk config
Create the modjk config
Configure the modjk workers (which JBoss/Tomcat nodes Apache uses)
Configure the Apache URIs served by modjk (the applications served by JBoss/Tomcat)
Restart Apache
Restart JBoss
Test it
mod_proxy
Most httpd-2.2.x actual distributions (x>=6) have a decent AJP proxying and don't require to compile an
external module. See http://wiki.jboss.org/wiki/UsingMod_proxyWithJBoss for more information.
Step 1: Download mod_jk 1.2.x
Download the latest package available from Tomcats's 'Download Tomcat connector section' page . Always
download the latest stable release if possible.
Rename the lib mod_jk.so and drop it in APACHE_HOME/modules directory.
NOTE: Don't use any release prior to mod_jk 1.2.15. Earlier releases are fairly buggy.
Note: Darwin Ports supports the installation of mod_jk on OS X. See http://darwinports.opendarwin.org/ for more
info.
Step 2: Setup Apache to use modjk
Add this line at the very bottom in APACHE_HOME/conf/httpd.conf :
# Include mod_jk configuration file
Include conf/mod-jk.conf
Step 3: Create the modjk config
Under APACHE_HOME/conf, create mod-jk.conf and populate it as follows:
# Load mod_jk module
# Specify the filename of the mod_jk lib
LoadModule jk_module modules/mod_jk.so
# Where to find workers.properties
JkWorkersFile conf/workers.properties
# Where to put jk logs
JkLogFile logs/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
# JkOptions indicates to send SSK KEY SIZE
# Notes:
# 1) Changed from +ForwardURICompat.
# 2) For mod_rewrite compatibility, use +ForwardURIProxy (default since 1.2.24)
# See http://tomcat.apache.org/security-jk.html
JkOptions +ForwardKeySize +ForwardURICompatUnparsed -ForwardDirectories
# JkRequestLogFormat
JkRequestLogFormat "%w %V %T"
# Mount your applications
JkMount /i2b2 loadbalancer
JkMount /i2b2/* loadbalancer
# Let Apache serve the images
JkUnMount /images/* loadbalancer
# You can use external file for mount points.
# It will be checked for updates each 60 seconds.
# The format of the file is: /url=worker
# /examples/*=loadbalancer
JkMountFile conf/uriworkermap.properties
# Add shared memory.
# This directive is present with 1.2.10 and
# later versions of mod_jk, and is needed for
# for load balancing to work properly
# Note: Replaced JkShmFile logs/jk.shm due to SELinux issues. Refer to
# https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=225452
JkShmFile run/jk.shm
# Add jkstatus for managing runtime data
<Location /jkstatus>
JkMount status
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Location>
mod_jk is ready to forward requests to JBoss instances. We need now to setup the workers
Note: As of mod_jk 1.2.6+ you need to include "JkMountCopy all" in globals if you intend to specify global
JkMount's or JkMountFile's instead of per VirtualHost. If you do not want to copy the same
JkMount/JkMountFile for each VirtualHost, you can specify "JkMountCopy On" inside the VirtualHost
directive.
See entry in: http://tomcat.apache.org/connectors-doc/reference/apache.html
Step 4: Configuring workers
Under APACHE_HOME/conf, create workers.properties and populate it as follows:
# Define list of workers that will be used
# for mapping requests
# The configuration directives are valid
# for the mod_jk version 1.2.18 and later
#
worker.list=loadbalancer,status
# Define Node1
# modify the host as your host IP or DNS name.
worker.node1.port=8009
worker.node1.host=10.22.4.34
worker.node1.type=ajp13
worker.node1.lbfactor=1
worker.node1.cachesize=10
#worker.node1.prepost_timeout=10000 #Not required if using ping_mode=A
#worker.node1.connect_timeout=10000 #Not required if using ping_mode=A
#worker.node1.ping_mode=A #As of mod_jk 1.2.27
# worker.node1.connection_pool_size=10 (1)
# Define Node2
# modify the host as your host IP or DNS name.
worker.node2.port=9009
worker.node2.host=10.22.4.34
worker.node2.type=ajp13
worker.node2.lbfactor=1
worker.node2.cachesize=10
#worker.node2.prepost_timeout=10000 #Not required if using ping_mode=A
#worker.node2.connect_timeout=10000 #Not required if using ping_mode=A
#worker.node2.ping_mode=A #As of mod_jk 1.2.27
# worker.node1.connection_pool_size=10 (1)
# Load-balancing behaviour
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=node1,node2
worker.loadbalancer.sticky_session=1
#worker.loadbalancer.local_worker_only=1
#worker.list=loadbalancer
# Status worker for managing load balancer
worker.status.type=status
Important: Please review http://tomcat.apache.org/connectors-doc/reference/workers.html for the directive
descriptions. Especially lookout for the comments on cachsize for Apache 1.3.x.
(1) You should only set the connection_pool_size if the number of allowed connection to the Httpd is
higher than maxThreads in server.xml
If you specify worker.loadbalancer.sticky_session=Off, each request will be load balanced between node1 and
node2. But when a user opens a Session on one server, it is a good idea to always forward this user's requests to
the same server. Otherwise the user's session data would need to be synchronized between both servers. This is
called a "sticky session", as the client is always using the same server he reached on his first request.
Session stickiness is enabled by default.
Step 5: Create the URI to worker map file
Create a uriworkermap.properties file in the APACHE_HOME/conf directory. This file should contain the
URL mappings you want Apache to forward to Tomcat. The format of the file is /url=worker_name. To get
things started, paste this example into the file you created:
# Simple worker configuration file
#
# Mount the Servlet context to the ajp13 worker
/jmx-console=loadbalancer
/jmx-console/*=loadbalancer
/web-console=loadbalancer
/web-console/*=loadbalancer
/i2b2=loadbalancer
/i2b2/*=loadbalancer
!/i2b2/images/*=loadbalancer
This will configure mod_jk to forward requests for the /jmx-console, /web-console and /myapp
contexts to JBoss Web. The '!' at the beginning of the last line results in the URLs for the images dir in the
myapp context not being forwarded. Instead httpd will handle them directly (which means they must be
available on the httpd server).
Step 6: Restart Apache
Step 7: Restart JBoss AS.
Step 8: Access the JBoss AS web-console through Apache by browsing to http://localhost/web-console and you
should see the JBoss web console page.
Note: to use mod_jk with Jboss 2 (e.g. jboss 2.4.6), you must edit jboss.jcml. Add the 'jvmRoute="myWorker"'
to the Engine element under the EmbeddedCatalinaSX mbean.
and also at <JBOSS_HOME>\server\node1\deploy\jboss-web.deployer\META-INF\jboss-service.xml
I changed as <attribute name="UseJK">true</attribute>
f. Oracle 10g Enterprise Edition Install
Verifying Your Installation
Required kernel version: 2.6.5-7.97 (or later)
Check your kernel version by running the following command:
uname -r
Ex:
# uname -r
2.6.5-7.97-smp
Other required package versions (or later):












binutils-2.15.90.0.1.1-32.5
gcc-3.3.3-43.24
gcc-c++-3.3.3-43.24
glibc-2.3.3-98.28
gnome-libs-1.4.1.7-671.1
libstdc++-3.3.3-43.24
libstdc++-devel-3.3.3-43.24
make-3.80-184.1
pdksh-5.2.14-780.1
sysstat-5.0.1-35.1
xscreensaver-4.16-2.6
libaio-0.3.98
To see which versions of these packages are installed on your system, run the following command as root:
rpm -q binutils gcc gcc-c++ glibc gnome-libs libstdc++ libstdc++-devel make \
pdksh sysstat xscreensaver libaio
Ex:
# rpm -q binutils gcc gcc-c++ glibc gnome-libs libstdc++ libstdc++-devel make \
> pdksh sysstat xscreensaver libaio
binutils-2.15.90.0.1.1-32.10
gcc-3.3.3-43.34
gcc-c++-3.3.3-43.34
glibc-2.3.3-98.47
gnome-libs-1.4.1.7-671.1
libstdc++-3.3.3-43.34
libstdc++-devel-3.3.3-43.34
make-3.80-184.1
pdksh-5.2.14-780.7
sysstat-5.0.1-35.4
xscreensaver-4.16-2.6
libaio-0.3.102-1.2
If any of the package versions on your system are missing or the versions are earlier than those specified above, you can
download and install the updates from the Novell SUSE Linux Portal.
Part II: Configuring Linux for Oracle
Now that the Linux software is installed, you need to configure it for Oracle. This section walks through the
steps required to configure Linux for Oracle Database 10g Release 2.
Verifying System Requirements
To verify that your system meets the minimum requirements for an Oracle Database 10g Release 2 database,
log in as root and run the commands below.
To check the amount of RAM and swap space available, run this:
grep MemTotal /proc/meminfo
grep SwapTotal /proc/meminfo
Ex:
# grep MemTotal /proc/meminfo
MemTotal: 1034680 kB
# grep SwapTotal /proc/meminfo
SwapTotal: 1534196 kB
The minimum RAM required is 1024MB, and the minimum required swap space is 1GB. Swap space should be
twice the amount of RAM for systems with 2GB of RAM or less and between one and two times the amount of
RAM for systems with more than 2GB.
You also need 2.5GB of available disk space for the Oracle Database 10g Release 2 software and another
1.2GB for the database. The /tmp directory needs at least 400MB of free space. To check the available disk
space on your system, run the following command:
df -h
Ex:
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 6.8G 1.3G 5.2G 20% /
/dev/sda1 99M 17M 77M 18% /boot
The example shows that the /tmp directory does not have its own filesystem. (It's part of the root filesystem for
this guide.) With 5.2 GB available, the root filesystem has just enough space for the installation (2.5 + 1.2 + 0.4
= 4.1GB) with a little room left over.
Create the Oracle Groups and User Account
Next, create the Linux groups and user account that will be used to install and maintain the Oracle Database 10g
Release 2 software. The user account will be called oracle, and the groups will be oinstall and dba. Execute the
following commands as root:
/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
/usr/sbin/useradd -m -g oinstall -G dba oracle
id oracle
Ex:
# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
# /usr/sbin/useradd -m -g oinstall -G dba oracle
# id oracle
uid=501(oracle) gid=502(oinstall) groups=502(oinstall),503(dba)
Set the password on the oracle account:
passwd oracle
Ex:
# passwd oracle
Changing password for user oracle.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
Create Directories
Now create directories to store the Oracle Database 10g Release 2 software and the database files. This guide
adheres to the Optimal Flexible Architecture (OFA) for the naming conventions used in creating the directory
structure. For more information on OFA standards, see Appendix C of the Oracle Database Installation Guide
10g Release 2 (10.2) for Linux x86.
The following assumes that the directories are being created in the root filesystem. This is done for the sake of
simplicity and is not recommended as a general practice. These directories would normally be created as
separate filesystems.
Issue the following commands as root:
mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/app/oracle
Ex:
# mkdir -p /u01/app/oracle
# chown -R oracle:oinstall /u01/app/oracle
# chmod -R 775 /u01/app/oracle
Configuring the Linux Kernel Parameters
The Linux kernel is a wonderful thing. Unlike most other *NIX systems, Linux allows modification of most
kernel parameters while the system is up and running. There's no need to reboot the system after making kernel
parameter changes. Oracle Database 10g Release 2 requires the kernel parameter settings shown below. The
values given are minimums, so if your system uses a larger value, don't change it.
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=262144
net.core.wmem_max=262144
If you're following along and have just installed Linux, the kernel parameters will all be at their default values
and you can just cut and paste the following commands while logged in as root.
cat >> /etc/sysctl.conf <<EOF
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=262144
net.core.wmem_max=262144
EOF
/sbin/sysctl -p
Ex:
# cat >> /etc/sysctl.conf <<EOF
> kernel.shmall = 2097152
> kernel.shmmax = 536870912
> kernel.shmmni = 4096
> kernel.sem = 250 32000 100 128
> fs.file-max = 65536
> net.ipv4.ip_local_port_range = 1024 65000
> EOF
# /sbin/sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_max = 262144
Run the following commands as root to verify your settings:
/sbin/sysctl
/sbin/sysctl
/sbin/sysctl
/sbin/sysctl
/sbin/sysctl
/sbin/sysctl
/sbin/sysctl
/sbin/sysctl
-a
-a
-a
-a
-a
-a
-a
-a
|
|
|
|
|
|
|
|
grep
grep
grep
grep
grep
grep
grep
grep
shm
sem
file-max
ip_local_port_range
rmem_default
rmem_max
wmem_default
wmem_max
Ex:
# /sbin/sysctl -a | grep shm
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shm-use-bigpages = 0
# /sbin/sysctl -a | grep sem
kernel.sem = 250 32000 100 128
# /sbin/sysctl -a | grep file-max
fs.file-max = 65536
# /sbin/sysctl -a | grep ip_local_port_range
net.ipv4.ip_local_port_range = 1024 65000
# /sbin/sysctl -a | grep rmem_default
net.core.rmem_default = 262144
# /sbin/sysctl -a | grep rmem_max
net.core.rmem_max = 262144
# /sbin/sysctl -a | grep wmem_default
net.core.wmem_default = 262144
# /sbin/sysctl -a | grep wmem_max
net.core.wmem_max = 262144
For Novell SUSE Linux releases, use the following to ensure that the system reads the /etc/sysctl.conf file at
boot time:
/sbin/chkconfig boot.sysctl on
Setting Shell Limits for the oracle User
Oracle recommends setting limits on the number of processes and open files each Linux account may use. To
make these changes, cut and paste the following commands as root:
cat >>
oracle
oracle
oracle
oracle
EOF
/etc/security/limits.conf <<EOF
soft nproc 2047
hard nproc 16384
soft nofile 1024
hard nofile 65536
cat >> /etc/pam.d/login <<EOF
session required /lib/security/pam_limits.so
EOF
For SLES 9, use the following:
cat >> /etc/profile.local <<EOF
if [ \$USER = "oracle" ]; then
if [ \$SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
EOF
cat >> /etc/csh.login.local <<EOF
if ( \$USER == "oracle" ) then
limit maxproc 16384
limit descriptors 65536
umask 022
endif
EOF
Installing Oracle
Download Oracle Database from
http://www.oracle.com/technology/software/products/database/xe/htdocs/102xelin
soft.html
Create a directory to contain the Oracle Database 10g Release 2 distribution:
mkdir 10gR2_db
Unzip and extract the file:
cd 10gR2_db
unzip 10201_database_xxxx.zip
Install the Software and Create a Database
Log in using the oracle account.
Change directory to the location where you extracted the Oracle Database 10g Release 2 software.
Ex:
$ cd $HOME/10gR2_db
Change directory to Disk1.
Ex:
$ cd database
Start the Oracle Universal Installer.
$ ./runInstaller
Have to check and make checking the os and software user verified
This is the password : oracle_password
Continue
/opt/oracle/product/10gR2/db/oraMac1.kumc.edu/sysman/log/emdctl.trc
2010-03-31 15:14:56 Thread-4125374144 WARN http: snmehl_connect: connect failed to (oraMac1.kumc.edu:3938):
Connection refused (error = 111)
/opt/oracle/product/10gR2/db/oraMac1.kumc.edu/sysman/log/emoms.log
2010-03-31 14:10:44,798 [Orion Launcher] ERROR app.ContextInitializer contextInitialized.271 - Integration Class not
found: oracle.sysman.ias.ias.IASIntegration
/opt/oracle/product/10gR2/db/oraMac1.kumc.edu/sysman/log/emoms.trc
2010-03-31 14:10:44,798 [Orion Launcher] ERROR app.ContextInitializer contextInitialized.271 - Integration Class not
found: oracle.sysman.ias.ias.IASIntegration
After install
Run
emca -deconfig dbcontrol db -repos drop
and
emca -config dbcontrol db -repos create
listener port 1521
PATCHING
Checked for oracle processes and had to kill a process that had a java file open for the install to work.
oraMac1:~ # /opt/oracle/product/10gR2/db/root.sh
Running Oracle10 root.sh script...
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /opt/oracle/product/10gR2/db
Enter the full pathname of the local bin directory: [/usr/local/bin]:
The file "dbhome" already exists in /usr/local/bin. Overwrite it? (y/n)
[n]: y
Copying dbhome to /usr/local/bin ...
The file "oraenv" already exists in /usr/local/bin. Overwrite it? (y/n)
[n]: y
Copying oraenv to /usr/local/bin ...
The file "coraenv" already exists in /usr/local/bin. Overwrite it? (y/n)
[n]: y
Copying coraenv to /usr/local/bin ...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
Post install ; Run dbua as oracle
Password for scott is : “xxxx” Test to verify if Enterprise Manager is up and running
g. Php-5.2.13
Prerequisites
At this point Apache web server must be installed. If you want MySQL support in PHP, MySQL server also
must have been installed prior to the next steps.
Download source
Get the source from http://www.php.net/downloads.php . At the time of writing this tutorial the best available
version was 5.1.5 ( php-5.1.5.tar.gz ).
unpack, configure, compile
Go to the directory whith the downloaded file and enter:
tar -xzf php-5.2.1.tar.gz
cd php-5.2.1
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs –-with-curl
--with-mysql=/usr/local/mysql
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs
--withlibxml-dir=/usr/local/xmllib2 --with-config-file-path=/usr/local/apache2/lib --withcurl=/usr/local/curl
The configuration options ought to be self-explaining; --prefix specifies the location where PHP is to be
installed, --with-apxs2 with correct path pointing to bin/apxs in the Apache installation directory is
mandatory for the installator to work. Since PHP 5, you need to explicitly bundle PHP with MySQL by -with-mysql directive (make sure you specified path to where MySQL is installed on your system).
There are many other options which turn on additional features. For all available configuration options and their
default values type ./configure --help.
Tip: If you are performing an upgrade, you may want to copy config.nice from the old PHP installation
directory (if available) to where you unpacked the new PHP tarball file. Run ./config.nice instead of
./configure. This way all the previous configure options will be applied to the new installation effortlessly.
Once you entered ./configure with all the options you need, compile and install the software:
make
make install
edit httpd.conf
All necessary changes to httpd.conf (Apache configuration file) should have already been made automatically
during the installation, so usually you need not do anything. Anyways, check that following lines were added to
your httpd.conf file:
LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php
If not, add them manually.
create php.ini file
Importanly, you have to create php.ini configuration file. Choose one of the pre-made files (preferably
php.ini-recommended) residing inside the php-5.2.1/ directory (it's the folder to which the
downloaded archive was extracted). Copy the file to the lib/ directory in the PHP installation directory.
cp php-5.2.1/php.ini-recommended /usr/local/php/lib/php.ini
If you need to, edit the php.ini file:
vi /usr/local/php/lib/php.ini
However, the default settings should work for everyone in most cases.
restart apache server
After everything is set up, restart Apache:
/usr/local/bin/apachectl stop
/usr/local/bin/apachectl start
Alternatively, simply enter:
/usr/local/bin/apachectl restart
Test if the Php install went fine
Put the following in a php file called test.php
<html>
<head>
<title>PHP Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head>
<body>
<h1>PHP Test</h1> <p>
<b>An Example of PHP in Action</b><br />
<?php echo "The Current Date and Time is: <br />";
echo date("g:i A l, F j Y.");?> </p>
<h2>PHP Information</h2>
<p> <?php phpinfo(); ?> </p>
</body>
</html>
h. Update your environment variables
Be sure to set the JAVA_HOME, ANT_HOME, CATALINA_HOME and
JBOSS_HOME variables to the JAVA, ANT, TOMCAT and JBOSS home
directories you set up in steps a-d respectively.
Open the file /etc/profile.d/oracle.sh and add the following codes:
ORACLE_BASE=/opt/oracle
ORACLE_HOME=$ORACLE_BASE/product/10gR2/db
ORACLE_SID=bmid
JAVA_HOME=/usr/java/jdk1.6.0_18
JBOSS_HOME=/usr/jboss-4.2.2.GA
LAUNCH_JBOSS_IN_BACKGROUND=1
ANT_HOME=/usr/apache-ant-1.8.0
APACHE_HOME=/usr/local/apache2
PATH=$PATH:$ANT_HOME/bin:$JAVA_HOME/bin:$APACHE_HOME/bin
Secure JMX Console (Authentication Only)
1.1. About the JMX Console
The jmx-console is the default console that is available with the JBoss Application Server. It displays the
various MBean Services that are running in a JBoss Application Server instance. A user is able to get and set
attributes and invoke operations on the various services. For more information, please refer to the 'JBoss
Application Server User or Administrator's Guide'. The following wiki page has a good description of the JMX
Console. http://wiki.jboss.org/wiki/Wiki.jsp?page=JMXConsole
1.2. Simple Security for the JMX Console
If you want to have simple secured jmx console where the user/password and user/roles come from properties
files, then you can follow the following steps:
1. Locate the jmx-console.war directory in the deploy directory of your server configuration. If you are just
using the default configuration, then it will be under JBOSS_DIR/server/default/deploy directory and
you are using the clustered configuration, then it will be under JBOSS_DIR/server/all/deploy directory.
2. Now edit the web.xml file under jmx-console.war/WEB-INF directory and uncomment the security
constraint block as shown below:
3.
4.
5.
6.
7.
8.
9.
10.
<!-- A security constraint that restricts access to the HTML JMX console
to users with the role JBossAdmin. Edit the roles to what you want and
uncomment the WEB-INF/jboss-web.xml/security-domain element to enable
secured access to the HTML JMX console. -->
<security-constraint>
<web-resource-collection>
<web-resource-name>HtmlAdaptor</web-resource-name>
<description>An example security config that only allows users with
the
11.
12.
13.
14.
15.
16.
17.
18.
19.
role JBossAdmin to access the HTML JMX console web application
</description>
<url-pattern>/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>JBossAdmin</role-name>
</auth-constraint>
</security-constraint>
Edit the jboss-web.xml file also and uncomment the security-domain element as shown below:
<jboss-web>
<!-- Uncomment the security-domain to enable security. You will
need to edit the htmladaptor login configuration to setup the
login modules used to authentication users. -->
<security-domain>java:/jaas/jmx-console</security-domain>
</jboss-web>
20. Now locate the two properties files called as jmx-console-users.properties and jmx-consoleroles.properties that will be in the conf directory of your server configuration under the props subdirectory('default', 'all' or 'custom'). An example of the location will be /server/default/conf/props.
21. In the jmx-console-users.properties, you can add/change the user/password combination.
22. In the jmx-console-roles.properties, you will need to assign roles to the users you added or changed in
step.4. Just remember to add JBossAdmin role to the users who will be using the jmx-console.
23. Now when you start JBoss and try to access the jmx-console, you should see a pop up appear that will
ask you to enter the username and password. You can use one of the users/password combination that
you configured in steps 4 and 5.
Chapter 2. Secure JMX Console (Access Control)
2.1. Need for Access Control on the JMX Console
The previous chapter talked about securing the jmx console. The security provided there applied to the entire
console with no controls on what an user can do with reference to the various JMX operations possible on the
console.
2.2. Details
You will need to follow the following steps to enable access control on the jmx console.
1. Perform all the steps outlined in the earlier chapter to secure the jmx-console.
Edit the web.xml file of deploy/jmx-console.war/WEB-INF in the server configuration you are using
(default, all, custom etc). You will need to uncomment the filter settings as shown here:
<!-- -->
<filter>
<filter-name>JmxOpsAccessControlFilter</filter-name>
<filterclass>org.jboss.jmx.adaptor.html.JMXOpsAccessControlFilter</filter-class>
<init-param>
<param-name>updateAttributes</param-name>
<param-value>UpdateAttributeRole</param-value>
<description>Comma-delimited Roles that define the JMX Operation
denoting updation of Attributes</description>
</init-param>
<init-param>
<param-name>invokeOp</param-name>
<param-value>InvokeOpRole</param-value>
<description>Comma-delimited Roles that define the JMX Operation
denoting Invocation of Operations</description>
</init-param>
</filter>
<filter-mapping>
<filter-name>JmxOpsAccessControlFilter</filter-name>
<servlet-name>HtmlAdaptor</servlet-name>
</filter-mapping>
2. Now if an user is allowed to click the 'invoke' buttons on the various MBean services in the jmx console
(action will invoke operations), then the user needs to have 'InvokeOpRole'. If the user is allowed to
click the 'Apply Changes' button(action will update the jmx attributes of the service), then the user needs
to have 'updateAttributeRole'. For this to apply, you will need to update the jmx-console-roles.properties
file in jboss_home/ server/default/conf/props folder. An example is shown below:
# A sample roles.properties file for use with the UsersRolesLoginModule
admin=JBossAdmin,HttpInvoker,UpdateAttributeRole
admin2=JBossAdmin,HttpInvoker,InvokeOpRole
2.3. Reference http://wiki.jboss.org/wiki/Wiki.jsp?page=AccessControlForJMXConsole
Testing if the Install for App and Web server worked
Install Hive Cells
The following order is recommended:
1. Review ‘i2b2 Database Strategy’ in preparation for Data installation.
2. Data Installation (required) (includes table creation)
3. Project Management (PM) Cell (required)
4. Ontology (ONT) Cell Installation (required)
5. Data Repository (CRC) Cell Installation (required)
6. Workplace (WORK) Cell Installation (required)
7. File Repository (FR) Cell Installation (required)
8. PFT Processing (PFT) Cell Installation (optional)
9. Any remaining optional cells
Please refer to each cell’s installation guide. If you have followed the Prerequisites
section in this guide, you may skip the Prerequisite sections for the individual cells.
Installing the i2b2 Data Package
1. Unzip the data package into a folder: (/opt/data)
You should see the project edu.harvard.i2b2.data.
‘cd edu.harvard.i2b2.data /Release_1-4/NewInstall’
This is considered your data installation working directory. Under this directory
are folders for Demodata, Metadata, and Workdata. These map to schemas
i2b2demodata, i2b2metadata and i2b2workdata for project Demo and
i2b2demodata2, i2b2metadata2 and i2b2workdata2 for project Demo2. Folder
Hivedata maps to the i2b2hive schema.
2 . Create user accounts in Oracle:
Log in as system user
Enter i2b2metadata user name and password. Check off Direct grant system
privileges as shown below. Repeat for users i2b2demodata, i2b2workdata for
project Demo, users i2b2metadata2, i2b2demodata2, i2b2workdata2 for project
Demo2 and user i2b2hive and i2b2pm.
3. Create Metadata tables and load data:
a) 'cd Metadata’ of your working directory.
(edu.harvard.i2b2.data /Release_1-4/NewInstall)
b) Edit db.properties
Set database properties; be sure to set user/pswd to i2b2metadata and project to
demo;
Oracle:
db.type=oracle
db.username=i2b2metadata
db.password=demouser
db.server=127.0.0.1:1521:orcl
db.driver=oracle.jdbc.driver.OracleDriver
db.url=jdbc:oracle:thin:@127.0.0.1:1521:orcl
db.project=demo
In the above script we made the change from localhost to 127.0.0.1 as linux box doesn’t map it to localhost
c) To create metadata tables, indexes and sequences :
Run 'ant -f data_build.xml create_metadata_tables_release_1-4’
d) To load data:
If you wish to load your own metadata, do that now.
Otherwise:
Run 'ant -f data_build.xml db_metadata_load_data'
This may take few minutes
e) Edit db.properties for user/pswd i2b2metadata2 and project demo2.
Repeat steps c and d.
4. Create Demodata tables and load data:
a) 'cd Demodata’ of your working directory.
(edu.harvard.i2b2.data /Release_1-4/NewInstall)
b) Edit db.properties
Set database properties; be sure to set user/pswd to i2b2demodata and project
to demo.
Oracle:
db.type=oracle
db.username=i2b2demodata
db.password=demouser
db.server=127.0.0.1:1521:orcl
db.driver=oracle.jdbc.driver.OracleDriver
db.url=jdbc:oracle:thin:@127.0.0.1:1521:orcl
db.project=demo
c) To create demodata tables, indexes and sequences :
Run 'ant -f data_build.xml create_demodata_tables_release_1-4’
d) To create new stored procedures:
Run 'ant -f data_build.xml create_procedures_release_1-4’
e) To load data:
If you wish to load your own demo data, do that now.
Otherwise:
Run 'ant -f data_build.xml db_demodata_load_data'
This may take few minutes
f) Edit db.properties for user/pswd i2b2demodata2 and project demo2.
Repeat steps c, d and e.
5. Create Workdata tables and load data:
a) 'cd Workdata’ of your working directory.
(edu.harvard.i2b2.data /Release_1-4/NewInstall)
b) Edit db.properties
Set database properties; be sure to set user/pswd to i2b2workdata, and project
to demo.
Oracle:
db.type=oracle
db.username=i2b2workdata
db.password=demouser
db.server=127.0.0.1:1521:orcl
db.driver=oracle.jdbc.driver.OracleDriver
db.url=jdbc:oracle:thin:@127.0.0.1:1521:orcl
db.project=demo
c) To create workdata tables, indexes and sequences :
Run 'ant -f data_build.xml create_workdata_tables_release_1-4’
d) To load data:
If you wish to load your own work data, do that now.
Otherwise:
Run 'ant -f data_build.xml db_workdata_load_data'
e) Edit db.properties for user/pswd i2b2workdata2 and project demo2.
Repeat steps c and d.
6. Create Hive tables and load data:
a) 'cd Hivedata’ of your working directory.
(edu.harvard.i2b2.data /Release_1-4/NewInstall)
b) Edit db.properties
Set database properties; be sure to set user/pswd to i2b2hive.
Oracle:
db.type=oracle
db.username=i2b2hive
db.password=demouser
db.server=127.0.0.1:1521:orcl
db.driver=oracle.jdbc.driver.OracleDriver
db.url=jdbc:oracle:thin:@127.0.0.1:1521:orcl
c) To create hive tables, indexes and sequences :
Run 'ant -f data_build.xml create_hivedata_tables_release_1-4’
d) To load data:
If you wish to load your own hive data, do that now.
Otherwise:
Run 'ant -f data_build.xml db_hivedata_load_data'
The data loaded into the three i2b2hive db_lookup tables presumes that the
default target location pointing to the hive we are now setting up is 'i2b2demo'.
This target location is also referred to as the domain of the hive and should match
the domain set up in the PM setup.
In the client's i2b2.properties file:
I2b2.1=demo,REST,http://webservices:9090/i2b2/rest/PMService/
I2b2.2=HarvardDemo,REST,http://services.i2b2.org/PM/rest/PMService/
#I2b2.3=YourSite,REST,http://jbossHost:jbossPort/i2b2/rest/PMServ
ice/
The I2b2.1 target location ('demo') points to the hive residing on the vmware
image. The i2b2.2 target location, HarvardDemo points to the hive residing at
Harvard. The data installed at Harvard is identical to the data provided in this
package. The hive we are now setting up is I2b2.3. Please be sure to rename
'YourSite' to 'i2b2demo'.
7. Create PM tables and load data:
a) 'cd Pmdata’ of your working directory.
(edu.harvard.i2b2.data /Release_1-4/NewInstall)
b) Edit db.properties
Set database properties; be sure to set user/pswd to i2b2pm
Oracle:
db.type=oracle
db.username=i2b2pm
db.password=i2b2pm_pswd
db.server=127.0.0.1:1521:orcl
db.driver=oracle.jdbc.driver.OracleDriver
db.url=jdbc:oracle:thin:@127.0.0.1:1521:orcl
c) To create pm tables, indexes and sequences :
Run 'ant -f data_build.xml create_pmdata_tables_release_1-4’
d) To create pm triggers :
Run 'ant -f data_build.xml create_triggers_release_1-4’
e) To load data:
If you wish to load your own pm data, do that now.
Otherwise:
Run 'ant -f data_build.xml db_pmdata_load_data'
9. You are now ready to proceed with hive installation.
Installing or Upgrading the Project Management application
The 1.4 i2b2 Project Management cell now runs on the same JBoss platform as the Ontology and Data
Repository cells. As a result, all users need to perform the following installation procedures.
1. Download and extract the core server source code to a target area.
If this has been downloaded in a previous installation (e.g. ONT or CRC), there is no need to repeat this step.
a) Set up a target source_directory. (/opt/i2b2/src)
b) Extract the core server source code to the target source_directory
2. Ensure that JBOSS is not running
a) 'cd $JBOSS_HOME/bin/'
b) './shutdown.sh -S' (rcjboss Stop/start/Status)
3. Deploy edu.harvard.i2b2.common
a) 'cd source_directory/edu.harvard.i2b2.common'
b) Edit the build.properties file and set jboss.home and axis2.war.name properties
jboss.home=/usr/jboss-4.2.2.GA
axis2.war.name=i2b2.war
c) ‘ant clean deploy jboss_pre_deployment_setup’
4. Deploy edu.harvard.i2b2.pm
a) 'cd source_directory/edu.harvard.i2b2.pm'
b) Edit the build.properties file and set jboss.home and axis2.war.name properties
jboss.home=/usr/jboss-4.2.2.GA
axis2.war.name=i2b2.war
c) Edit etc/jboss/pm-ds.xml and configure your data sources:
PMBootStrapDS points to the location of your PM table.
Data source samples for both sqlserver and oracle are provided in pmds.
xml. Copy and modify the samples in pm-ds.xml as needed to create
the data sources shown below. If using Oracle rename
PMBootStrapDS_ORACLE to PMBootStrapDS, else if using SqlServer
name PMBootStrapDS_SQLSERVER to PMBootStrapDS.
<datasources>
<local-tx-datasource>
<jndi-name>PMBootStrapDS </jndi-name>
<driver-class>oracle.jdbc.driver.OracleDriver
</driver-class>
<connection-url>jdbc:oracle:thin:@127.0.0.1:1521:orcl
</connection-url>
<user-name>i2b2pm</user-name>
<password>demouser</password>
</local-tx-datasource>
f) ‘ant -f master_build.xml clean build-all deploy’
5. Install the WebClient
a) Copy the Webclient directory, which is in the root directory of the core
server source code to your httpd directory; (/usr/local/apache2/htdocs)
The webclient is pre-configured for a localhost domain of ‘i2b2demo’. If
you are upgrading from a system with a different domain or want to specify
a different domain, edit the file webclient/i2b2_config_data.js accordingly.
{ name: "oraMac1",
domain: "i2b2demo",
debug: true,
urlCellPM: "http://oraMac1/i2b2/rest/PMService/"
},
b) If your httpd server is not running, start it now.
6. Start JBoss
7. Verify webservice is running
a) Check url ‘http://yourHost:9090/i2b2/services/listServices’ in a browser.
Verify that PMService is listed as active.
Changing Server log level
By default JBOSS log will be in DEBUG mode, changing it to INFO mode will increase server performance.
a) Edit $JBOSS_HOME /server/default/conf/jboss-log4j.xml file and add the
‘Threshold’ param.
<appender name="FILE"
class="org.jboss.logging.appender.DailyRollingFileAppender">
<errorHandlerclass="org.jboss.logging.util.OnlyOnceErrorHandler"/>
<param name="File" value="${jboss.server.home.dir}/log/server.log"/>
<param name="Append" value="false"/>
<param name="Threshold" value="INFO"/>
<!-- Rollover at midnight each day -->
<param name="DatePattern" value="'.'yyyy-MM-dd"/>
<layout class="org.apache.log4j.PatternLayout">
<!-- The default pattern: Date Priority [Category] Message\n ->
<param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
.....
</layout>
</appender>
To switch back to DEBUG mode, comment out the ‘Threshold’ param and wait a minute. THERE IS NO
NEED TO RESTART JBOSS.
Administration of the i2b2 Project Management application
Go to the site http://oraMac1/webclient
1. You will see a login screen. Log in with a user you know has ADMIN role.
For those installing for the first time, use the default ADMIN user of ‘i2b2’ and password of ‘demouser’.
2. Once logged on you will be presented with a default setup, select ‘Admin’ from the primary navigation. You
should see the following:
3. Click the ‘Hive’ in the PM Navigation. This is where you can modify the Domains, Cells and Global Params.
Click on the Domain to see the Domain Information.
User creation in the i2b2 Project (Group) Management application
1. Continuing with the web client, select ‘Manage User’ from the primary navigation. You should see the
following:
2. Click on the ‘Add New’ link, and fill in the required fields for the user you wish to add, such as the
username, password, email address. Click the ‘Save Update’ button once you are complete. Repeat the process
for as many users you wish to
3. To remove a user from the system, click on the row associated with that user, and click on the ‘Delete’
button.
4. To add a parameter to the user, select the row that contains the user you wish to add the parameter to and a
new table will appear below. Follow the same procedure by select ‘Add New’ to add a parameter to that user.
Registered Cell
1. Continuing with the web client, select ‘Hive’ from the primary navigation, than ‘Cells’ from the secondary
navigation. You should see the following:
2. Click on the URL column on the row that has the CRC on it. Change the 192.168.242.130 to the IP or
domain name that the CRC is installed on. Click the ‘Save Update’ button once you are complete. Repeat the
process for the rest of the cells.
3. To add a new cell, click on the ‘Add New’ button and fill out the new information for that cell. Click the
‘Save Update’ button when complete.
4. To add a parameter to the cell, select the row that contains the cell you wish to add the parameter to and a
new table will appear below. Follow the same procedure by select ‘Add New’ to add a parameter to that cell.
Existing Projects
1. Continuing with the web client, select ‘Projects from the primary navigation, than ‘i2b2demodata’ from the
secondary navigation. This is where you can update the information associated with the project. You should see
the following:
2. You can have cells that are associated with only this specific project, by selecting the cells in the third level
in the tree. And likewise, there will be parameters associated with that cell.
3. Parameters for this project can be added or deleted by selecting the Params from the tree.
4. The last item in the tree is Users, This item allows you to associate Users to a project. In the table, enter the
username that you want to grant permission to and than select the roles. You need to select an Administration
Role which is the first three roles and a Data Track which is the remaining roles. In the example below, User
and Data_Agg was selected. The user mem61 will inherit Data_Obfsc automatically.
PM Cell Sanity Test via the i2b2Workbench
1. Configure the i2b2Workbench to communicate with your PM cell.
The i2b2Workbench may be configured via the i2b2Workbench.properties file. This file is found in the top
level directory of the binary package (see file /i2b2Workbench/i2b2Workbench.properties). Sample contents of
this file are shown below:
writeTimelineFile=yes
applicationName=i2b2
messageversion=1.1
I2b2.2=i2b2demo,REST,http://oraMac1/i2b2/rest/PMService/
The last lines in this file provide the location of the target PM cells. Its structure is as follows:
Identifier Label Protocol URL I2b2.1 HarvardDemo REST http://webservices.i2b2.org/i2b2/rest/PMService/
#I2b2.2 YourSite REST http://host:port/i2b2/rest/PMService/ To set up the system to point to your target PM
cell, remove the comment tag (‘#’) in the I2b2.2 identifier, provide a meaningful label and configure the URL
for the location of your PM cell.
2. Launch the i2b2Workbench (double-click on i2b2Workbench.exe)
Login to i2b2:
a. Select your target location (YourSite)
b. Enter a valid username and password that you set up in gridsphere (demo/demouser)
Installing the Ontology Management Application
1. Download and extract the core server source code to a target area.
If this has been downloaded in a previous installation (e.g. PM or CRC), there is no need to repeat this step.
a) Set up a target source_directory. (/opt/i2b2/src)
b) Extract the core server source code to the target source_directory
2. Ensure that JBOSS is not running
a) 'cd $JBOSS_HOME/bin/'
b) './shutdown.sh -S'
3. Deploy edu.harvard.i2b2.common
If this has been deployed in a previous installation (e.g. CRC), there is no need to repeat this step.
a) 'cd source_directory/edu.harvard.i2b2.common'
b) Edit the build.properties file and set jboss.home and axis2.war.name properties
jboss.home=/usr/jboss-4.2.2.GA
axis2.war.name=i2b2.war
c) ‘ant clean deploy jboss_pre_deployment_setup’
4. Deploy edu.harvard.i2b2.ontology
a) 'cd source_directory/edu.harvard.i2b2.ontology'
b) Edit the build.properties file and set jboss.home and axis2.war.name properties
jboss.home=/usr/jboss-4.2.2.GA
axis2.war.name=i2b2.war
c) Edit the etc/spring/ontology_application_directory.properties file and specify a location for the application
properties directory. This location can be anything you desire but must be a directory path that your linux
user has access permission for.
edu.harvard.i2b2.ontology.applicationdir= /usr/jboss-4.2.2.GA
/server/default/conf/ontologyapp
d) Edit the etc/spring/ontology.properties file and set database and project management properties Set metadata
bootstrap database schema name to the location of the ONT_DB_LOOKUP table
#######################################
# METADATA schema name
#######################################
ontology.bootstrapdb.metadataschema=i2b2hive
Set the Project Management property settings
Note the new address for the jboss-based PMService.
ontology.ws.pm.url=http://oraMac1/i2b2/rest/PMService/getServices
# Flag to bypass project management cell
ontology.ws.pm.bypass=false
ontology.ws.pm.bypass.role=ADMIN
ontology.ws.pm.bypass.project=Demo
Set the METADATA delimiter (backslash) setting
ontology.terminal.delimiter=true
If set to ‘true’, this parameter adds a backslash automatically to the metadata fullpath name if it does not already
exist. This was added to fix a bug related to leaf-level metadata concepts with similar names: such as
//i2b2/i2b2/metadata/pul and //i2b2/i2b2/metadata/pulm Set this to ‘false’ if you want true Release 1.3
backward compatibility.
e) Edit etc/jboss/ont-ds..xml and configure your data sources:
OntologyBootStrapDS points to the location of your ONT_DB_LOOKUP table. Any additional data source
specified in the lookup table must be specified here as well (shown below as "OntologyDemoDS" for project
Demo and "OntologyDemo2DS" for project Demo2). Data source samples for both sqlserver and oracle are
provided in ontds.xml. Copy and modify the samples in ont-ds.xml as needed to create the three data sources
shown below. Comment out or remove any unused samples.
<datasources>
<local-tx-datasource>
<jndi-name>OntologyBootStrapDS</jndi-name>
<driver-class>oracle.jdbc.driver.OracleDriver
</driver-class>
<connection-url>jdbc:oracle:thin:@127.0.0.1:1521:orcl
</connection-url>
<user-name>i2b2hive</user-name>
<password>demouser</password>
</local-tx-datasource>
<local-tx-datasource>
<jndi-name>OntologyDemoDS</jndi-name>
<driver-class>oracle.jdbc.driver.OracleDriver
</driver-class>
<connection-url>jdbc:oracle:thin:@127.0.0.1:1521:orcl
</connection-url>
<user-name>i2b2metadata</user-name>
<password>demouser</password>
</local-tx-datasource>
<local-tx-datasource>
<jndi-name>OntologyDemo2DS</jndi-name>
<driver-class>oracle.jdbc.driver.OracleDriver
</driver-class>
<connection-url>jdbc:oracle:thin:@127.0.0.1:1521:orcl
</connection-url>
<user-name>i2b2metadata2</user-name>
<password>demouser</password>
</local-tx-datasource>
</datasources>
f) ‘ant -f master_build.xml clean build-all deploy’
5. Start JBOSS
6. Verify webservice is running
a) Check url ‘http://oraMac1/i2b2/services/listServices’ in a browser.
Verify that OntologyService is listed as active.
Verify Installation
Ontology (ONT) Cell Sanity Test via the i2b2Workbench
1. Configure the i2b2Workbench to communicate with your ONT cell.
Cell configuration is addressed in the Project Management (PM) Cell installation and set up. Please refer to this
document if the Ontology Cell has not yet been configured. To verify this data, go to the web client site
http://oraMac1/webclient.
Once logged on, select ‘Cells’ under the ‘Hive primary navigation tab. If the Ontology Cell has been configured
it will be listed as an existing, registered cell:
2. Launch the i2b2Workbench (double-click on i2b2Workbench.exe)
Login to i2b2:
a. Select your target location (YourSite)
b. Enter a valid username and password (demo/demouser)
c. The URL at the bottom of the login screen should be the address of your PM cell.
If not, edit the i2b2workbench.properties file to point to the location of your PM cell.
I2b2.1=oraMac1,REST,http://oraMac1/i2b2/rest/PMService/
3. Open the Navigate Terms view in the workbench.
If all is configured properly, you will be greeted with a top level folder called
“Ontology”. Double click on this folder to expand.
4. Open the Find Terms view in the workbench
Enter a diagnostic term to search on such as “asthma”. Click on the Find button. If all is configured properly,
you will see a list of entries each containing the work ‘asthma’.
Installing the Clinical Research Chart Application
1. Download and extract the core server source code to a target area.
If this has been downloaded in a previous installation (e.g. PM or ONT), there
is no need to repeat this step.
a) Set up a target source_directory. (/opt/i2b2/src)
b) Extract core server source code to the target source_directory.
2. Ensure that JBOSS is not running
a) ./$JBOSS_HOME/bin/shutdown.sh –S
3. Deploy edu.harvard.i2b2.common
If this has been deployed in a previous installation (eg. ONT), there is no need to repeat this step.
a) 'cd source_directory/edu.harvard.i2b2.common'
b) Edit the build.properties file and set jboss.home and axis2.war.name properties
jboss.home=/usr/jboss-4.2.2.GA
axis2.war.name=i2b2.war
c) ‘ant clean dist deploy jboss_pre_deployment_setup’
4. Deploy edu.harvard.i2b2.crc and edu.harvard.i2b2.crc.loader
4.1. Build edu.harvard.i2b2.crc.loader
The Uploader service is added to the CRC as part of the Release 1.3. The source for the Uploader resides in
edu.harvard.i2b2.crc.loader project and it uses the CRC’s datasource setup.
a) 'cd source_directory/edu.harvard.i2b2.crc.loader'
b) Edit the build.properties file and set jboss.home and axis2.war.name properties
jboss.home=/usr/jboss-4.2.2.GA
axis2.war.name=i2b2.war
c) Edit the etc/spring/crc_loader_application_directory.properties file and specify a location for the application
properties directory. This location can be anything you desire but must be a directory path that your linux
user has access permission for.
edu.harvard.i2b2.crc.applicationdir= /usr/jboss-4.2.2.GA/server/default/conf/crcloaderapp
d)Edit the etc/spring/edu.harvard.i2b2.crc.loader.properties file and set project management properties Set
Project Management property settings:
Note the new location of the PM URL.
edu.harvard.i2b2.crc.loader.ws.pm.url=http://oraMac1/i2b2/rest/PMService/getServices
# Flag to bypass project management cell
edu.harvard.i2b2.crc.loader.ws.pm.bypass=false
edu.harvard.i2b2.crc.loader.ws.pm.bypass.role=ADMIN
edu.harvard.i2b2.crc.loader.ws.pm.bypass.project=Demo
If you are using file repository cell and want to connect the CRC loader to it,
then set the FileRepository cell property setting
#######################################
# File Management Cell
#######################################
edu.harvard.i2b2.crc.loader.ws.fr.url=http://oraMac1/i2b2/services/FRService/
e) Edit the etc/spring/CRCLoaderApplicationContext.xml Specify the jdbc properties to locate the
‘CRC_DB_LOOKUP’ table.
<bean id="LoaderLookupDS" class="org.apache.commons.dbcp.BasicDataSource" destroymethod="
close">
<property name="driverClassName" value=" oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:orcl"/>
<property name="username" value="i2b2hive"/>
<property name="password" value="demouser"/>
</bean>
Update entry in edu.harvard.i2b2.crc.loader.properties to reflect the above change.
#######################################
# Datasource Lookup properties
#######################################
edu.harvard.i2b2.crc.loader.ds.lookup.datasource=LoaderLookupDS
edu.harvard.i2b2.crc.loader.ds.lookup.servertype=ORACLE
edu.harvard.i2b2.crc.loader.ds.lookup.schemaname=i2b2hive
f) ‘ant -f build.xml clean dist’
Note : No ‘deploy’ target is used. The loader will be deployed as part of edu.harvard.i2b2.crc project.
4.2 Setup edu.harvard.i2b2.crc
a) 'cd source_directory/edu.harvard.i2b2.crc'
b) Edit the build.properties file and set jboss.home and axis2.war.name properties
jboss.home=/usr/jboss-4.2.2.GA
axis2.war.name=i2b2.war
#jms persistance could be either oracle or mssql
jboss.jms.persistance=oracle
c) Edit the etc/spring/crc_application_directory.properties file and specify a location for the application
properties directory. This location can be anything you desire but must be a directory path that your linux user
has access permission for.
edu.harvard.i2b2.crc.applicationdir= /usr/jboss-4.2.2.GA/server/default/conf/crcapp
d)Edit the etc/spring/crc.properties file and set project management properties
Set Project Management property settings
Note the new location of the PM Service.
#######################################
# Project Management Cell
#######################################
queryprocessor.ws.pm.url=http://localhost:9090/i2b2/rest/PMService/getServices
# Flag to bypass project management cell
queryprocessor.ws.pm.bypass=false
queryprocessor.ws.pm.bypass.role=ADMIN
queryprocessor.ws.pm.bypass.project=Demo
e)Set Ontology property settings, change the hostname and port
#######################################
# Ontology Cell
#######################################
queryprocessor.ws.ontology.url=http://localhost:9090/i2b2/rest/OntologyService/getTermInfo
f)Create the CRC service user account in the Project Management cell and assign the ‘User’ and ‘Data_Obfsc’
role to the user. CRC uses this PM user in the Ontology and PM cell calls.
#####################################################
# CRC service account properties
#####################################################
edu.harvard.i2b2.crc.pm.serviceaccount.user=OBFSC_SERVICE_ACCOUNT
edu.harvard.i2b2.crc.pm.serviceaccount.password=demouser
g) Update QT_BREAKDOWN_PATH table: Based on your Ontology mapping,
update the parent item key values used in the analysis break down calculation.
Name Value
PATIENT_GENDER_COUNT_XML \\i2b2\i2b2\Demographics\Gender\
PATIENT_RACE_COUNT_XML \\i2b2\i2b2\Demographics\Race\
PATIENT_VITALSTATUS_COUNT_XML \\i2b2\i2b2\Demographics\Vital Status\
PATIENT_AGE_COUNT_XML \\i2b2\i2b2\Demographics\Age\
h) The following steps tells CRC, where the “CRC_DB_LOOKUP” table is located.
code_lookup
PK c_domain_id varchar(255)
PK c_project_path varchar(255)
PK c_owner_id varchar(255)
c_db_fullschema varchar(255)
c_db_datasource varchar(255)
c_db_servertype varchar(255)
c_db_nicename varchar(255)
c_db_tooltip varchar(255)
c_comment text
c_entry_date datetime
c_change_date datetime
c_status_cd char(1)
Edit etc/spring/CRCApplicationContext.xml:
<bean id="CRCDataSourceLookup"
class="org.apache.commons.dbcp.BasicDataSource" destroymethod="close">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:orcl"/>
<property name="username" value="i2b2hive"/>
<property name="password" value="demouser"/>
</bean>
Update entry in etc/spring/crc.properties to reflect the above change.
#######################################
# Datasource Lookup properties
#######################################
queryprocessor.ds.lookup.datasource=CRCDataSourceLookup
queryprocessor.ds.lookup.servertype=ORACLE
queryprocessor.ds.lookup.schemaname=i2b2hive
Continuing in file etc/spring/crc.properties:
i)The PDO paging size can be adjusted based on the runtime jvm setting.
#######################################
# PDO Paging properties
#######################################
edu.harvard.i2b2.crc.pdo.paging.observation.size=75000
j)You can tune the default max job count for the Analysis job queue
#######################################
# Analysis Queue properties
#######################################
edu.harvard.i2b2.crc.analysis.queue.medium.timeoutmills=1800000
edu.harvard.i2b2.crc.analysis.queue.medium.maxjobcount=4
edu.harvard.i2b2.crc.analysis.queue.large.timeoutmills=3600000
9
edu.harvard.i2b2.crc.analysis.queue.large.maxjobcount=4
edu.harvard.i2b2.crc.analysis.queue.medium.jobcheck.timemills=120000
edu.harvard.i2b2.crc.analysis.queue.large.jobcheck.timemills=120000
k)If required adjust the default query queues timeout in second.
#####################################################
# Setfinder JMS Queue transaction timeout properties
#####################################################
edu.harvard.i2b2.crc.jms.small.timeoutsec=180
edu.harvard.i2b2.crc.jms.medium.timeoutsec=14400
edu.harvard.i2b2.crc.jms.large.timeoutsec=43200
l)If required change the default user’s setfinder lockout parameter
#####################################################
# CRC setfinder query lockout parameter
#####################################################
edu.harvard.i2b2.crc.lockout.setfinderquery.count=7
edu.harvard.i2b2.crc.lockout.setfinderquery.day=30
m)Configure JBoss Datasource:
CRC supports both Oracle and SqlServer. Edit etc/jboss/crc-ds.xml and set the database connection properties.
For SqlServer data source, please use the sample provided in the crc-ds.xml. The following steps show the
configuring Oracle data source for two projects. If your setup has multiple projects pointing to different data
sources, then copy <local-tx-datasource> in ds-xml for each project data source.
<jndi-name>QueryToolDemoDS</jndi-name>
<connectionurl>
jdbc:oracle:thin:@127.0.0.1:1521:orcl</connection-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<user-name>i2b2demodata</user-name>
<password>demouser</password>
For example, project Demo2 would have this entry:
<jndi-name>QueryToolDemo2DS</jndi-name> with connection-url:
<connectionurl>
jdbc:oracle:thin:@127.0.0.1:1521:orcl</connection-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<user-name>i2b2demodata2</user-name>
<password>demouser</password>
n)Edit etc/jboss/crc-jms-ds.xml and set ‘DefaultDS’ JMS database connection properties If the data source is
Sqlserver, then comment the oracle section and uncomment sqlserver datasource section.
<local-tx-datasource>
<jndi-name>DefaultDS</jndi-name>
<connectionurl>
jdbc:oracle:thin:@127.0.0.1:1521:orcl</connection-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driverclass>
<user-name>i2b2hive_uname</user-name>
<password>demouser</password>
...
</local-tx-datasource>
4.3 Build and deploy edu.harvard.i2b2.crc and edu.harvard.i2b2.crc.loader
‘ant -f master_build.xml clean build-all deploy’
Note: If you are deploying on an existing JBoss instance with CRC 1.3, then please remove the
QueryProcessor-EJB.jar from the $JBOSS_HOME/server/default/deploy directory.
5. Start JBOSS
6. Verify webservice is running
a) Check url ‘http://yourHost:9090/i2b2/services/listServices’ in a browser.
Verify that QueryToolService is listed as active.
Verify Installation
CRC Cell Sanity Test via the i2b2Workbench
1. Configure the i2b2Workbench to communicate with your CRC cell.
Cell configuration is addressed in the Project Management (PM) Cell installation and set up. Please refer to this
document if the CRC Cell has not yet been configured.
To verify this data, go to the web client site http://oraMac1/webclient.
Once logged on, select ‘Cells’ under the ‘Hive primary navigation tab. If the CRC Cell has been configured it
will be listed as an existing, registered cell: To verify cell data, select cell name(CRC) and click on Edit Cell
Info.
2. Launch the i2b2Workbench (double-click on i2b2Workbench.exe)
Login to i2b2:
a. Select your target location (YourSite)
b. Enter a valid username and password (demo/demouser)
3. Open the Query Tool, Previous Queries and Timeline views in the workbench
If all is configured properly, you will be greeted with the following
Installing the Workplace Application
1. Download and extract the core server source code to a target area.
If this has been downloaded in a previous installation (e.g. PM or CRC), there is no need to repeat this step.
a) Set up a target source_directory. (/opt/i2b2/src)
b) Extract the core server source code to the target source_directory
2. Ensure that JBOSS is not running
3. Deploy edu.harvard.i2b2.common
If this has been deployed in a previous installation (e.g. CRC, ONT), there is no need to repeat this step.
a) 'cd source_directory/edu.harvard.i2b2.common'
b) Edit the build.properties file and set jboss.home and axis2.war.name properties
jboss.home=/usr/jboss-4.2.2.GA
axis2.war.name=i2b2.war
c) ‘ant clean deploy jboss_pre_deployment_setup’
4. Deploy edu.harvard.i2b2.workplace
a) 'cd source_directory/edu.harvard.i2b2.workplace'
b) Edit the build.properties file and set jboss.home and axis2.war.name properties
jboss.home=/usr/jboss-4.2.2.GA
axis2.war.name=i2b2.war
c) Edit the etc/jboss/work-ds.xml file and configure your data sources: WorkplaceBootStrapDS points to the
location of your WORK_DB_LOOKUP table. Any additional data source specified in the lookup table must be
specified here as well (shown below as "WorkplaceDemoDS" and "WorkplaceDemo2DS"). Data source
samples for both sqlserver and oracle are provided in workds.xml. Copy and modify the samples in workds.xml as needed to create the three data sources shown below. Comment out or remove any unused samples.
<datasource>
<local-tx-datasource>
<jndi-name>WorkplaceBootStrapDS</jndi-name>
<driver-class>oracle.jdbc.driver.OracleDriver</driverclass>
<connectionurl>
jdbc:oracle:thin:@127.0.0.1:1521:orcl</connection-url>
<user-name>i2b2hive</user-name>
<password>demouser</password>
</local-tx-datasource>
<local-tx-datasource>
<jndi-name>WorkplaceDemoDS</jndi-name>
<driver-class>oracle.jdbc.driver.OracleDriver</driverclass>
<connection-url>jdbc:oracle:thin:@127.0.0.1:1521:orcl</connection-url>
<user-name>i2b2workdata</user-name>
<password>demouser</password>
</local-tx-datasource>
<local-tx-datasource>
<jndi-name>WorkplaceDemo2DS</jndi-name>
<driver-class>oracle.jdbc.driver.OracleDriver</driverclass>
<connection-url>jdbc:oracle:thin:@yourHost:1521:orcl
</connection-url>
<user-name>i2b2workdata2</user-name>
<password>demouser</password>
</local-tx-datasource>
</datasources>
d) Edit the etc/spring/workplace_application_directory.properties file and specify a location for the application
properties directory. This location can be anything you desire but must be a directory path that your linux user
has access permission for.
edu.harvard.i2b2.workplace.applicationdir=/usr/jboss-4.2.2.GA/server/default/conf/workplaceapp
e) Edit the etc/spring/workplace.properties file and set database and project management properties
Set WORK_DB_LOOKUP schema name
#######################################
# METADATA schema name
#######################################
workplace.bootstrapdb.metadataschema=i2b2hive
Set the Project Management property settings
workplace.ws.pm.url=http://oraMac1/i2b2/rest/PMService/getServices
workplace.ws.pm.webServiceMethod=REST
# Flag to bypass project management cell
workplace.ws.pm.bypass=false
workplace.ws.pm.bypass.role=ADMIN
workplace.ws.pm.bypass.project=Demo
f) ant -f master_build.xml clean build-all deploy’
5. Start JBOSS
6. Verify webservice is running
a) Check url ‘http://oraMac1/i2b2/services/listServices’ in a browser.
Verify that WorkplaceService is listed as active.
Verify Installation
Workplace (WORK) Cell Sanity Test via the i2b2Workbench
1. Configure the i2b2Workbench to communicate with your WORK cell.
Cell configuration is addressed the Project Management (PM) Cell installation and setup. Please refer to this
document if the Workplace Cell has not yet been configured. To verify this data, go to the web client site
http://oraMac1/webclient.
Once logged on, select ‘Cells’ under the ‘Hive primary navigation tab. If the Workplace Cell has been
configured it will be listed as an existing, registered cell:
To verify cell data, select cell name and click on Edit Cell Info.
If the Workplace has not been configured yet, select Add New. Properties for the Workplace cell are as follows:
ID
WORK
Name Base
URL
Workplace Cell http://host:port/i2b2/rest/WorkplaceService/
Method
REST
2. Launch the i2b2Workbench (double-click on i2b2Workbench.exe)
Login to i2b2:
a. Select your target location (YourSite)
b. Enter a valid username and password (demo/demouser)
3. Open the Workplace view in the workbench
If all is configured properly, you will be greeted with two top level workplace containers: ‘SHARED’ and
‘yourUserId’. Double click on either container to expand.
Installing the File Repository cell
1. Download and extract the core server source code to a target area.
If this has been downloaded in a previous installation (e.g. PM or ONT), there is no need to repeat this step.
a) Set up a target source_directory. (/opt/i2b2/src)
b) Extract core server source code to the target source_directory.
2. Ensure that JBOSS is not running
3. Deploy edu.harvard.i2b2.common
If this has been deployed in a previous installation (eg. ONT), there is no need to repeat this step.
a) 'cd source_directory/edu.harvard.i2b2.common'
b) Edit the build.properties file and set jboss.home and axis2.war.name properties
jboss.home=/usr/jboss-4.2.2.GA
axis2.war.name=i2b2.war
c) ‘ant clean deploy jboss_pre_deployment_setup’
4. Deploy edu.harvard.i2b2.fr
a) 'cd source_directory/edu.harvard.i2b2.fr'
b) Edit the build.properties file and set jboss.home, axis2.war.name
jboss.home=/usr/jboss-4.2.2.GA
axis2.war.name=i2b2.war
c) Edit the etc/spring/fr_application_directory.properties file and specify a location for the application
properties directory. This location can be anything you desire but must be a directory path that your linux user
has access permission for.
edu.harvard.i2b2.fr.applicationdir= /usr/jboss-4.2.2.GA/server/default/conf/frapp
d) Edit the etc/spring/edu.harvard.i2b2.fr.properties file and set project management properties
Set Project Management property settings
Note the new location of the PM Service:
edu.harvard.i2b2.fr.ws.pm.url=http://oraMac1/i2b2/rest/PMService/getServices
# Flag to bypass project management cell
edu.harvard.i2b2.fr.ws.pm.bypass=false
edu.harvard.i2b2.fr.ws.pm.bypass.role=ADMIN
edu.harvard.i2b2.fr.ws.pm.bypass.project=Demo
e) ‘ant -f master_build.xml clean build-all deploy’
5. Update Project Management
a) Logon to Project Manager Web Interface
Once logged on, select ‘Hive’ from the primary navigation tab and ‘Cell’ from the secondary navigation menu.
If the Data Importer Cell (FR Cell) has not been configured, select ‘Add New’ and fill in the required cell
information in step 1.
Please note that the correct ID for this cell is ‘FRC’.
b) Enter the parameters by selecting the row that has the ‘FRC’ as the ID.
PathSeperator is the default path separator for the host machine running the cell, on Mac OS and Linux is it /,
while on Windows it is \ DestDir is the destination where the files will be hosted.
c) (optional) To allow admin users to transfer files directly via SFTP, create a Group Variable called FRMethod
with the value of SFTP and FRHost with the name of the machine. FRPort is an optional field, usually set at 22.
To allow the CRC loader to retrieve the files locally when it is on the same JBoss as FR, set the FRMethod to
'local'. This will prevent the CRC Loader from accessing the FR via a web service call, resulting in faster
responses.
d) To create a directory on the server to host the files, logon as the same user that will be running jBoss.
1. ‘mkdir /opt/FRC’
6. Start JBOSS
7. Verify webservice is running
a) Check url ‘http://oraMac1/i2b2/services/listServices’ in a browser.
Verify that FRService is listed as active.
FR Cell Sanity Test via the i2b2Workbench
1. Launch the i2b2Workbench (double-click on i2b2Workbench.exe)
Login to i2b2:
a. Select your target location (YourSite)
b. Enter a valid username and password (demo/demouser)
2. Open the Import Data view in the workbench
If all is configured properly, you will be greeted with the following
Download