University of Kansas Medical Center



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

1 a. Java JDK

JDK 6.0 (recommended)

This procedure installs the Java Development Kit (JDK) for 64-bit Linux, using an RPM binary bundle.

The name of the downloaded file has the following format:

jdk-6u-linux-x64-rpm.bin

where 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-linux-x64-rpm.bin

% ./jdk-6u-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-linux-x64.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.

|[pic] |

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.

2 b. JBoss 4.2.2 GA

Download ‘jboss-4.2.2.GA.zip’, from .

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

";

  echo date("g:i A l, F j Y.");?> </p>

 PHP Information

  

 

[pic]

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

7 Secure JMX Console (Authentication Only)

8 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.

9 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:

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.

Now edit the web.xml file under jmx-console.war/WEB-INF directory and uncomment the security constraint block as shown below:

HtmlAdaptor

An example security config that only allows users with the

role JBossAdmin to access the HTML JMX console web application

/*

GET

POST

JBossAdmin

Edit the jboss-web.xml file also and uncomment the security-domain element as shown below:

java:/jaas/jmx-console

Now locate the two properties files called as jmx-console-users.properties and jmx-console-roles.properties that will be in the conf directory of your server configuration under the props sub-directory('default', 'all' or 'custom'). An example of the location will be /server/default/conf/props.

In the jmx-console-users.properties, you can add/change the user/password combination.

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.

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.

10 Chapter 2. Secure JMX Console (Access Control)

1 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.2. Details

You will need to follow the following steps to enable access control on the jmx console.

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:

JmxOpsAccessControlFilter

org.jboss.jmx.adaptor.html.JMXOpsAccessControlFilter

updateAttributes

UpdateAttributeRole

Comma-delimited Roles that define the JMX Operation denoting updation of Attributes

invokeOp

InvokeOpRole

Comma-delimited Roles that define the JMX Operation denoting Invocation of Operations

JmxOpsAccessControlFilter

HtmlAdaptor

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

Testing if the Install for App and Web server worked

[pic]

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

[pic]

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,

I2b2.2=HarvardDemo,REST,

#I2b2.3=YourSite,REST,

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'

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.mon

a) 'cd source_directory/edu.harvard.mon'

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.

PMBootStrapDS

oracle.jdbc.driver.OracleDriver

jdbc:oracle:thin:@127.0.0.1:1521:orcl

i2b2pm

demouser

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: ""

},

b) If your httpd server is not running, start it now.

6. Start JBoss

7. Verify webservice is running

a) Check url ‘’ in a browser.

Verify that PMService is listed as active.

[pic]

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.

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download