NIH | National Cancer Institute | NCI Wiki  

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The following open source technologies power a caNanoLab release 2.0 1 web application:

Open Source Technologies

The caNanoLab web application has been tested within NCICBIIT against JBoss Wildfly servers (version 58.12.0) hosted on Windows XP and RedHat Linux systems, and against MySQL 5.1.x databases hosted on RedHat Linux systems and Windows XP systems. Prior to release 1.2.1, the caNanoLab web application had been tested against Oracle 9i databases hosted on Sun Solaris systems, and Oracle 10g XE database hosted on Windows XP.

...

NOTE:  In caNanoLab release 2.01, the Ant build script automatically installs the web application.

...

Extract the caNanoLab_2.0.zip to a location on your local system, for example, C:\caNanoLab_2.01. This location is referred as <CANANOLAB_SOURCE> throughout the document. Verify that the following five folders exist in the directory <CANANOLAB_SOURCE>:

...

  1. file.repository.dir:  A directory on the system that hosts the JBoss Wildfly application server for storing uploaded files, for example, C:/apps/caNanoLab.
    NOTE: This directory should be writable by the user that starts the JBoss serverWildfly server, and this directory should be created prior to starting the application. Use either double-back slashes or a single forward slash / as the file separator if working on Windows platform.
  2. admin.email:  The email address that receives requests for new user accounts, for example, the NCICBIIT application support email for the NCICBIIT installation.
  3. ldap.authentication.enabled:  A Boolean flag to indicate whether or not to use LDAP for user authentication in caNanoLab, for example, true.
    NOTE: Please note that the default value is true. If you are not using LDAP for user authentication, set this value to false and leave properties 4) through 9) blank.
  4. ldap.host.url:  The URL of the LDAP server used for user authentication.
  5. ldap.searchable.base:  The location in the directory from which the LDAP search begins.
  6. ldap.userId.label:  The uid label for LDAP, for example, cn.
  7. superadmin.login.name:  The LDAP login name for the user account who is the super admin of the UPT tool. See User Provisioning Tool (UPT) for details on setting up UPT.
  8. superadmin.first.name:  The LDAP first name for the user account who is the super admin of the UPT tool.
  9. superadmin.last.name:  The LDAP last name for the user account who is the super admin of the UPT tool.
  10. database.server:  The name of the server hosting the database, for example, localhost.
  11. database.port:  The database port number, for example, 3306.
  12. database.user: The database user name used in the caNanoLab application, for example, cananolab_app.
  13. database.password: The password for the database user specified above, for example, go!234.
  14. database.system.user:  The system database user name with privileges to create a database, create tables, grant user accesses to a database, for example, root.
  15. database.system.password:  The password for the system database user specified above, for example, rootpass.
  16. jboss.server.dir:  The JBoss server Wildfly server directory, for example, C:/apps/jbosswildfly-58.12.0.GAFinal/server/defaultstandalone.

Database Technology

Assumptions and Requirements

...

If you installed caNanoLab prior to release 2.01 against an MySQL database, or release 1.2, release 1.1.1, or release 1.1 against an Oracle database, and have associated production data in these schemas and you would like to continue to use the same data for caNanoLab release 2.0 1 in MySQL, review the following database initialization steps, and then go directly to section, Data Migration.

If you have a previously installed caNanoLab application running on a JBoss serverWildfly server, stop the server before running the database scripts.

...

If you are installing the caNanoLab application for the first time or want to install a new schema for release 2.01, follow the steps below to set up the required MySQL schema objects and the seed data for release 2.01.

Initializing the MySQL Database

...

Step

Action

1

Execute the Ant build script build.xml located at <CANANOLAB_SOURCE>/build with the target install:new:cananolab-db.

Example: Issue the following commands to execute the Ant script:

C:\>cd C:\caNanoLab_2.01\build C:\caNanoLab_2.01\build>ant install:new:cananolab-db

Successful execution of the Ant script creates the database schema and seed data required the caNanoLab 2.0 1 release.

2

If you are NOT using LDAP for user authentication, you can skip this step. If you are using LDAP for authentication, execute the Ant build script build.xml located at <CANANOLAB_SOURCE>/build with the target update:cananolab-db:ldap:upt:superadmin

Example: Issue the following commands to execute the Ant script:

C:\>cd C:\caNanoLab_2.01\build C:\caNanoLab_2.01\build>ant update:cananolab-db:ldap:upt:superadmin

Successful execution of the Ant script updates the default UPT super admin with the user name entered in the build properties file.

...

NOTE:  If you are installing caNanoLab 2.0 1 for the first time or installing a new caNanoLab release 2.0 1 schema, you can skip this section.

This installation guide only discusses the steps for migrating from release 1.5.3, 1.5.4, or 1.5.5. in MySQL to release 2.0 1 in MySQL. If you have previously installed caNanoLab in MySQL prior to release 1.5.1, you need to migrate to release 1.5.1 first, one release at a time. The 1.5.5 installation guide is available at the main caNanoLab wiki page, but previous installation guides are available at the caNanoLab Archive page.

Follow these steps to complete the required data migration from release 1.5.3, 1.5.4, or 1.5.5. in MySQL to release 2.0 1 in MySQL:

Step

Action

1

Execute the Ant build script build.xml located at <CANANOLAB_SOURCE>/build with the target update:cananolab-db.

Example: Issue the following commands to execute the Ant script:

C:\>cd C:\caNanoLab_2.01\build C:\caNanoLab_2.01\build>ant update:cananolab-db

Successful execution of the Ant script updates the database schema and seed data required the caNanoLab 2.0 1 release.

2

If you are NOT using LDAP for user authentication, you can skip this step. If you are using LDAP for authentication, execute the Ant build script build.xml located at <CANANOLAB_SOURCE>/build with the target update:cananolab-db:ldap:upt:superadmin

Example: Issue the following commands to execute the Ant script:

C:\>cd C:\caNanoLab_2.01\build C:\caNanoLab_2.01\build>ant update:cananolab- db:ldap:upt:superadmin

Successful execution of the Ant script updates the default UPT super admin with the user name entered in the build properties file.

3

If you are NOT using LDAP for user authentication, you can skip this step. If you are using LDAP for authentication, and you already have user accounts in the system and you have data created by these users whose login names are not their LDAP login IDs, you need to perform the following update:

  • Update the login_name column of the csm_user table with the LDAP login name for each user in the table: 
    Example:
    Issue the following query at the MySQL prompt for each user, logging in as root:
    mysql> update csm_user set login_name='' where login_name='';

    ...Where the token is replaced by the real LDAP login name that corresponds to the old login name. Replace the token with the old login name.

  • Update the created_by column of tables containing the column with the LDAP login name:
    Example:
    Issue the following query at the MySQL prompt for each table containing the created_by column, logging in as root:
    mysql> update sample set created_by='' where created_by ='';
    ...Where the token is replaced by the real LDAP login name that corresponds to the old login name. Replace the token with old login name.

Note: if the created_by field contains the word "COPY" in it, update it with a prefix : (colon), where the token is replaced by the real LDAP login name that corresponds to the old login name who created the data. If you do not know the original login who created the data, use the LDAP login of a curator. If you need assistance on completing the data updates for this step, please contact the caNanoLab technical team.

...

Ant is installed, and the Ant build properties are set up. The database is installed and verified. The JBoss Wildfly application server is installed on a system (local or remote) and can be started at a designated port. JBoss Wildfly install directory is referred to as <JBOSS_HOME> in the document. The JBoss Wildfly application server host URL is referred as <APP_SERVER_URL>, for example, cananolab-dev.nci.nih.gov:19080.

It is assumed that the default configuration is used for deploying caNanoLab web archive files. For example, in JBoss 5.1wildfly-8.2.0.Final, the default configuration is located at the directory <JBOSS_HOME>/server/defaultstandalone. The caNanoLab web archive file will be deployed at the directory <JBOSS_HOME>serverHOME>standalone/default/deploydeployments.

It is possible to configure Apache server to interface with the JBoss Wildfly server and set up a virtual host for the caNanoLab application. If you need assistance, please contact NCICBIIT Application Support.

...

<!-- ================ --> <!-- Limit categories --> <!-- ================ --> <!-- edited for caNanoLab --> <category name="org.hibernate"> <priority value="WARN"/> </category> <category name="org.springframework"> <priority value="WARN"/> </category> <category name="org.globus"> <priority value="WARN"/> </category> <category name="gov.nih.nci"> <priority value="ERROR"/> </category> <category name="org.displaytag"> <priority value="ERROR"/> </category> <category name="org.directwebremoting"> <priority value="ERROR"/> </category> <category name="net.sf.ehcache"> <priority value="INFO"/> </category> <category name="com.mchange.v2"> <priority value="INFO"/> </category> <category name="org.jboss"> <priority value="INFO"/> </category> <category name="CSM"> <priority value="ERROR"/> </category> <category name="Authorization"> <priority value="ERROR"/> </category> <!—end of edit for caNanoLab -->

Step

Action

1

Set up an environment variable JBOSS_HOME to point to the JBoss Wildfly installation directory.

Note: Use either double back slashes // or a single forward slash / as the file separator if working on Windows platform, for example, JBOSS_HOME=C:/jbosswildfly-58.12.0.GAFinal (C:\jbosswildfly-58.12.0.GA Final would fail).

2

Execute the Ant build script build.xml located at <CANANOLAB_SOURCE>/build with the target deploy:cananolab-webpp.

Example: Issue the following commands to execute the Ant script:

C:\>cd C:\caNanoLab_2.01\build C:\caNanoLab_2.01\build>ant deploy:cananolab-webapp

Successful execution of the Ant script generates the following artifacts that include two deployable web archive war files, configuration files and libraries for running the web application in the JBoss Wildfly environment, and also places these artifacts in the appropriate directories under <JBOSS_HOME>:

Code Block
 <CANANOLAB_SOURCE>/target/dist/exploded/cananolab- webapp/caNanoLab.war 
 <CANANOLAB_SOURCE>/target/dist/exploded/common/Applica tionSecurityConfigApplicationSecurityConfig.xml 
 <CANANOLAB_SOURCE>/target/dist/exploded/common/csmupt. csm.new.hibernate.cfg.xml 
 <CANANOLAB_SOURCE>/target/dist/exploded/common/csmupt4 23csmupt423.csm.new.hibernate.cfg.xml 
 <CANANOLAB_SOURCE>/target/dist/exploded/common/login- config.xml 
 <CANANOLAB_SOURCE>/target/dist/exploaded/common/mysql- connector-java-5.01.726.jar 
 <CANANOLAB_SOURCE>/target/dist/exploded/common/upt- ds.xml 
 <CANANOLAB_SOURCE>/target/dist/exploded/common/propert iesproperties-service.xml 
 <CANANOLAB_SOURCE>/target/dist/exploded/common/upt- ds.xml  
 <CANANOLAB_SOURCE>/target/dist/exploded/common/uptEAR. ear

3

We recommend increasing the JBoss JVM heap size to 1G bytes and permanent generation (permgen) memory space to 256M bytes by updating the file
<JBOSS_HOME>/bin/run.conf with the following JAVA_OPTS:

Code Block
JAVA_OPTS="-Xms512m -Xmx1024m -XX:PermSize=128m - XX:MaxPermSize=256m -Dsun.rmi.dgc.client.gcInterval=3600000 - Dsun.rmi.dgc.server.gcInterval=3600000" 

This configuration file is read when JBoss server starts.

ear
 <CANANOLAB_SOURCE>/target/dist/exploded/common/bcprov-jdk15on-1.47.jar
 <CANANOLAB_SOURCE>/target/dist/exploded/common/caNanoLab_modules.cli
 <CANANOLAB_SOURCE>/target/dist/exploded/common/caNanoLab_setup.cli
 <CANANOLAB_SOURCE>/target/dist/exploded/common/caNanoLab_deploy.cli
 <CANANOLAB_SOURCE>/target/dist/exploded/common/csmapi-5.2.jar

3

We recommend increasing the JBoss JVM heap size to 2G bytes and permanent generation (permgen) memory space to 256M bytes by updating the file
<JBOSS_HOME>/bin/standalone.conf with the following JAVA_OPTS:

Code Block
JAVA_OPTS="-Xms512m -Xmx2048m -XX:PermSize=128m - XX:MaxPermSize=256m -Dsun.rmi.dgc.client.gcInterval=3600000 - Dsun.rmi.dgc.server.gcInterval=3600000" 

This configuration file is read when Wildfly server starts.

4

A. Create a new directory structure C:/local/content/caNanoLab/artifacts and move the following artifacts.

i. csmapi-5.2.jar

ii. caNanoLab.war

iii. uptEAR.ear

iv. bcprov-jdk15on-1.47.jar

v. mysql-connector-java-5.1.26.jar

vi. caNanoLab_modules.cli

vii. caNanoLab_setup.cli

viii. caNanoLab_deploy.cli

B. Create a new directory structure C:/local/content/caNanoLab/config and move the following artifacts.

i. ApplicationSecurityConfig.xml

ii. csmupt.csm.new.hibernate.cfg.xml

iii. wikihelp.properties

5.

 Start JBoss application server in Standalone mode.

 

  1. This script assumes the CLI port is running at 19990. If it is different, you need to update port number at the 2nd  line in the script.
  2. Type
    1. For Windows env:  jboss-cli.bat --file=C:/local/content/caNanoLab/artifacts/caNanoLab_modules.cli and press enter.
    2. For Linux env:  jboss-cli.sh --file=C:/local/content/caNanoLab/artifacts/caNanoLab_modules.cli and press enter.
    3. Run the remaining caNanoLab_setup.cli and caNanoLab_deploy.cli that deploys the caNanoLab and csmUPT.
    4. After successful completion, you should see following output in the window

       

      {"outcome" => "success"}
       {"outcome" => "success"}
       {"outcome" => "success"}
       {"outcome" => "success"}
       {
       "outcome" => "success",
       "result" => undefined
       }
    5. Press any key to continue.

4

When deploying the caNanolab application in a production environment, we also recommend updating the default logging behavior of the JBoss server by turning off the unnecessary loggings thus reducing file system requirements for server log files.
Please locate the file <JBOSS_HOME>/server/default/conf/log4j.xml and add to the beginning of the section Limit categories the following text:
Code Block

Verification

Once the deployment artifacts are deployed and the JBoss Wildfly application server is correctly configured, you can now start the JBoss Wildfly application server, which in turn starts the caNanoLab application.
Open the URL http://<APP_SERVER_URL>/caNanoLab/ , for example, http://localhost:8080/caNanoLab). The Welcome/Login page displays.

...

Step

Action

1

Launch the UPT tool at http://<APP_SERVER_URL>/upt52/uptloginHome.action and login as the super admin. If you are NOT using LDAP for user authentication, the default user account/password for super admin is superadmin/superadmin.

Enter csmupt as the application name when prompted at the UPT log in. If you are using LDAP for user authentication, use the LDAP login name and password of the user assigned as the super admin as specified in the Ant build properties file.

Note:
The user superadmin with initial password superadmin was created as a part of the database setup. Only superadmin can assign users to be caNanoLab administrators.

2

If you are using LDAP for user authentication, skip this step. If you are not using LDAP for authentication, follow this step to reset the password for superadmin:

  • Select User > Select an Existing User.
  • Click on Search and select superadmin, and click on ViewDetails.
  • Update the UserPassword field and ConfirmPassword field.
  • Click on Update to commit the change.

3

Log in as the super admin, and follow these steps to create a new user and assign it to be a caNanoLab administrator:

  • Select User > Create a New User.
  • Create a new user account named admin with an initial password.
  • Select Application>SelectanExistingApplication, and click Search. Select caNanoLab from the application list.
  • Click ViewDetails, then AssociatedAdmins.
  • Assign this user to be an administrator for the caNanoLab application.
  • Click UpdateAssociation to commit the change.
    Note
    : If you are using LDAP for user authentication, any user login names created in the UPT tool must be a valid LDAP log in name.

4

Before the newly-created user can log into the UPT application, logged in as the super admin, follow these steps to update the required database connection information for the csmupt and caNanoLab applications under the Application tab:

Select Application > Select an Existing Application, and click Search. Select csmupt from the application list.

Click View Details, then update the following fields:

  • Application Database URL, for example, jdbc://mysql://localhost:3306/canano
  • Application Database User Name, for example, cananolab_app
  • Application Database Password, for example, go!234
  • Application Database Confirm Password, for example, go!234
  • Application Database Dialect, for example, org.hibernate.dialect.MySQLDialect
  • Application Database Driver, for example, com.mysql.jdbc.Driver

Note: Please refer to Edit Ant Properties for the appropriate values for these fields. Values for Application Database Dialect and Application Database Driver must be exactly entered as shown above.

Repeat the steps to update the database connection information for the caNanoLab application.

5

Log out of the UPT tool and log back in as admin. Use caNanoLab as the application name when prompted at the UPT log in.

6

Select User > Select an Existing User, and click Search. Select admin from the User list.

Click ViewDetails, then AssociatedGroups.

Select Curator from the pre-defined group list and assign it to the user. Click UpdateAssociations to commit the change.

...