Tuesday, March 16, 2010

NCI UPT 4.2 Tricky Post

Installation Properties

This is the install.properties used in command line installation process. Testing on WinXP VBox and only enable typical (central) configuration.

##############################################################
#
# $Id: install.properties 1593 2009-04-27 21:29:25Z saksass $
# $HeadURL: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/bda-build-template/software/build/install.properties $
#
# This properties file is for cancer center installs.
# 
##############################################################

##############################
###  APPLICATION SETTINGS  ###
##############################
# install/build.xml set application.base.path to correct path based on os type
application.base.path.linux=REPLACE_VALUE
application.base.path.windows=C:/NCI/upt
env.name=external
exclude.access-logs=true

###########################
###  DATABASE SETTINGS  ###
###########################
database.type=mysql
super.admin.user=superadmin
database.re-create=true
#exclude.database=true
# Required for upt central config

upt.central.database.re-create=true
#upt.central.database.drop-schema=true
upt.central.authentication.type=db

upt.central.database.type=mysql
upt.central.database.server=localhost
upt.central.database.version=5.0.27
upt.central.database.port=3306
upt.central.database.name=upt
upt.central.database.system.user=root
upt.central.database.system.password=
upt.central.database.user=mysql
upt.central.database.password=
upt.central.database.url.prefix=jdbc:mysql
upt.central.database.system.url=${upt.central.database.url.prefix}://${upt.central.database.server}:${upt.central.database.port}
upt.central.database.url=${upt.central.database.system.url}/${upt.central.database.name}
upt.central.database.driver.class=org.gjt.mm.mysql.Driver
upt.central.database.encrypt.enabled=YES
upt.central.database.dialect=org.hibernate.dialect.MySQLDialect

upt.central.ldaps.url=ldaps://ncids4a.nci.nih.gov:636
upt.central.ldaps.basedn=ou=nci,o=nih
upt.central.ldaps.userid.label=cn
upt.central.ldap.url=ldap://ncicbds-dev.nci.nih.gov:389
upt.central.ldap.searchable.base=ou=csm,dc=ncicb-dev,dc=nci,dc=nih,dc=gov
upt.central.ldap.userid.label=uid
upt.central.ldap.admin.user.name=uid=csmAdmin,ou=csm,dc=ncicb-dev,dc=nci,dc=nih,dc=gov
upt.central.ldap.admin.user.password=CSM@admin!

########################
###  JBOSS SETTINGS  ###
########################
# jboss.home will be generated as ${application.base.path}/${jboss.relateive.path}
jboss.relative.path=${jboss.binaries.relative.dir}
jboss.server.hostname=localhost
jboss.server.name=default
jboss.web.user=pwbc_admin
jboss.web.password=

# If you want to use JBboss NCICB Standard port configurations, uncommment the lines below and comment out all the ports.  Be sure to pick a correct prot configuration (see  https://wiki.nci.nih.gov/x/0gqy)
exclude.jboss-login-config=true
#jboss.ncicb-standard.port-config=true
#jboss.server.ports.name=config39080
jboss.server.ports.name=bda-ports

jboss.server.jndi.port=46200
jboss.server.port=46210
jboss.cobraorb.port=46350
jboss.ejbinvoker.port=46150
jboss.hajndi.port=46160
jboss.hajrmi.port=46260
jboss.jms.port=46170
jboss.jmx-rmi.port=46290
jboss.messaging.port=46330
jboss.pooledha.port=46270
jboss.remoting.port=46320
jboss.server.bind.port=0
jboss.server.rmi.port=46230
jboss.service.rmiobject.port=46240
jboss.snmp.port=46310
jboss.snmp-trapd.port=46300
jboss.web.service.port=46250
jboss.server.redirect.port=46298

jboss.ssl.enable=false

#@Resolve this property
jboss.external.http.host=

##################################
### Filesystem Data Repository ###
##################################
# If you need to store files on the file system add properties to this section otherwise delete it
#@Resolve this property
fs-data.base.dir=

##############
### TOMCAT ###
##############
# tomcat.home will be generated as ${application.base.path}/${tomcat.relateive.path}
exclude.tomcat.backup=true
tomcat.ssl.enable=false
exclude.tomcat=true

###############
###  Log4J  ###
###############
log4j.maxFileSize=100MB
log4j.maxDays=7
log4j.level=WARN

###################################
#  PRE-POST VALIDATION PROPERTIES #
###################################
validation.pre.port.list=${jboss.server.rmi.port},${jboss.server.jndi.port},${jboss.service.rmiobject.port},${jboss.jms.port},${jboss.server.port},${jboss.web.service.port}
validation.post.http.list=${jboss.server.port}
validation.post.socket.list=${jboss.server.rmi.port},${jboss.server.jndi.port},${jboss.service.rmiobject.port},${jboss.jms.port},${jboss.web.service.port}

###################################
#  upt backwards compatible multiple installation configuration #
###################################
upt.central.config=true
upt.31.installed=false
upt.32.installed=false
upt.40.installed=false
upt.41.installed=false
# When typical setup is enable (i.e. upt.central.config=true), it has been experiencing /upt42/Login.do not found (HTTP 404).
# It's confirmed that typical setup installs UPT 4.2 but 404 happens if upt.42.installed is not enabled. Guessing this option
# may fully expose everything that UPT 4.2 needs.
upt.42.installed=true

This is the install.properties used in command line installation process. Used on installation on ptest with non-typical configuration enabled. This enables all backward compatibility for CSM 3.1 - 4.2. Each version requires its own DB named as uptdbxx where xx could be 31, 32, 42 etc. All other config such as port are left as default.

##############################################################
#
# $Id: install.properties 1593 2009-04-27 21:29:25Z saksass $
# $HeadURL: https://gforge.nci.nih.gov/svnroot/automation/trunk/software/bda-build-template/software/build/install.properties $
#
# This properties file is for cancer center installs.
# 
##############################################################

##############################
###  APPLICATION SETTINGS  ###
##############################
# install/build.xml set application.base.path to correct path based on os type
application.base.path.linux=/opt/nci/upt
application.base.path.windows=C:/NCI/upt
env.name=external
exclude.access-logs=true

###########################
###  DATABASE SETTINGS  ###
###########################
database.type=mysql
super.admin.user=superadmin
database.re-create=true
#exclude.database=true
# Required for upt central config

upt.central.database.re-create=true
#upt.central.database.drop-schema=true
upt.central.authentication.type=db

upt.central.database.type=mysql
upt.central.database.server=localhost
upt.central.database.version=5.0.27
upt.central.database.port=3306
upt.central.database.name=csm_dev_bkwrdscmptbl_central
upt.central.database.system.user=root
upt.central.database.system.password=
upt.central.database.user=mysql
upt.central.database.password=
upt.central.database.url.prefix=jdbc:mysql
upt.central.database.system.url=${upt.central.database.url.prefix}://${upt.central.database.server}:${upt.central.database.port}
upt.central.database.url=${upt.central.database.system.url}/${upt.central.database.name}
upt.central.database.driver.class=org.gjt.mm.mysql.Driver
upt.central.database.encrypt.enabled=YES
upt.central.database.dialect=org.hibernate.dialect.MySQLDialect

upt.central.ldaps.url=ldaps://ncids4a.nci.nih.gov:636
upt.central.ldaps.basedn=ou=nci,o=nih
upt.central.ldaps.userid.label=cn
upt.central.ldap.url=ldap://ncicbds-dev.nci.nih.gov:389
upt.central.ldap.searchable.base=ou=csm,dc=ncicb-dev,dc=nci,dc=nih,dc=gov
upt.central.ldap.userid.label=uid
upt.central.ldap.admin.user.name=uid=csmAdmin,ou=csm,dc=ncicb-dev,dc=nci,dc=nih,dc=gov
upt.central.ldap.admin.user.password=CSM@admin!

###################################
#  upt backwards compatible multiple database configuration #
###################################
upt.31.database.re-create=true
#upt.31.database.drop-schema=true
upt.31.authentication.type=db

upt.31.database.type=mysql
upt.31.database.server=localhost
upt.31.database.version=5.0.27
upt.31.database.port=3306
upt.31.database.name=uptdb31
upt.31.database.system.user=root
upt.31.database.system.password=
upt.31.database.user=mysql
upt.31.database.password=
upt.31.database.url.prefix=jdbc:mysql
upt.31.database.system.url=${upt.31.database.url.prefix}://${upt.31.database.server}:${upt.31.database.port}
upt.31.database.url=${upt.31.database.system.url}/${upt.31.database.name}
upt.31.database.driver.class=org.gjt.mm.mysql.Driver
upt.31.database.encrypt.enabled=NO
upt.31.database.dialect=org.hibernate.dialect.MySQLDialect

upt.31.ldaps.url=ldaps://ncids4a.nci.nih.gov:636
upt.31.ldaps.basedn=ou=nci,o=nih
upt.31.ldaps.userid.label=cn
upt.31.ldap.url=ldap://ncicbds-dev.nci.nih.gov:389
upt.31.ldap.searchable.base=ou=csm,dc=ncicb-dev,dc=nci,dc=nih,dc=gov
upt.31.ldap.userid.label=uid
upt.31.ldap.admin.user.name=uid=csmAdmin,ou=csm,dc=ncicb-dev,dc=nci,dc=nih,dc=gov
upt.31.ldap.admin.user.password=CSM@admin!
#---------------------------------#
upt.32.database.re-create=true
#upt.32.database.drop-schema=true
upt.32.authentication.type=db

upt.32.database.type=mysql
upt.32.database.server=localhost
upt.32.database.version=5.0.27
upt.32.database.port=3306
upt.32.database.name=uptdb32
upt.32.database.system.user=root
upt.32.database.system.password=
upt.32.database.user=mysql
upt.32.database.password=
upt.32.database.system.url=jdbc:mysql://${upt.32.database.server}:${upt.32.database.port}
upt.32.database.url=${upt.32.database.system.url}/${upt.32.database.name}
upt.32.database.driver.class=org.gjt.mm.mysql.Driver
upt.32.database.encrypt.enabled=YES
upt.32.database.dialect=org.hibernate.dialect.MySQLDialect

upt.32.ldaps.url=
upt.32.ldaps.basedn= 
upt.32.ldaps.userid.label=
upt.32.ldap.url=
upt.32.ldap.searchable.base=
upt.32.ldap.userid.label=
upt.32.ldap.admin.user.name=
upt.32.ldap.admin.user.password=
#--------------------------------#
upt.40.database.re-create=true
#upt.40.database.drop-schema=true
upt.40.authentication.type=db

upt.40.database.type=${database.type}
upt.40.database.server=localhost
upt.40.database.version=5.0.27
upt.40.database.port=3306
upt.40.database.name=uptdb40
upt.40.database.system.user=root
upt.40.database.system.password=
upt.40.database.user=mysql
upt.40.database.password=
upt.40.database.system.url=jdbc:mysql://${upt.40.database.server}:${upt.40.database.port}
upt.40.database.url=${upt.40.database.system.url}/${upt.40.database.name}
upt.40.database.driver.class=org.gjt.mm.mysql.Driver
upt.40.database.encrypt.enabled=YES
upt.40.database.dialect=org.hibernate.dialect.MySQLDialect

upt.40.ldaps.url=
upt.40.ldaps.basedn= 
upt.40.ldaps.userid.label=
upt.40.ldap.url=
upt.40.ldap.searchable.base=
upt.40.ldap.userid.label=
upt.40.ldap.admin.user.name=
upt.40.ldap.admin.user.password=
#---------------------------------#
upt.41.database.re-create=true
#upt.41.database.drop-schema=true
upt.41.authentication.type=db

upt.41.database.type=${database.type}
upt.41.database.server=localhost
upt.41.database.version=5.0.27
upt.41.database.port=3306
upt.41.database.name=uptdb41
upt.41.database.system.user=root
upt.41.database.system.password=
upt.41.database.user=mysql
upt.41.database.password=
upt.41.database.system.url=jdbc:mysql://${upt.41.database.server}:${upt.41.database.port}
upt.41.database.url=${upt.41.database.system.url}/${upt.41.database.name}
upt.41.database.driver.class=org.gjt.mm.mysql.Driver
upt.41.database.encrypt.enabled=YES
upt.41.database.dialect=org.hibernate.dialect.MySQLDialect

upt.41.ldaps.url=
upt.41.ldaps.basedn= 
upt.41.ldaps.userid.label=
upt.41.ldap.url=
upt.41.ldap.searchable.base=
upt.41.ldap.userid.label=
upt.41.ldap.admin.user.name=
upt.41.ldap.admin.user.password=
#------------------------------------#
upt.42.database.re-create=true
#upt.42.database.drop-schema=true
upt.42.authentication.type=db

upt.42.database.type=${database.type}
upt.42.database.server=localhost
upt.42.database.version=5.0.27
upt.42.database.port=3306
upt.42.database.system.user=root
upt.42.database.system.password=
upt.42.database.name=uptdb42
upt.42.database.user=mysql
upt.42.database.password=
upt.42.database.system.url=jdbc:mysql://${upt.42.database.server}:${upt.42.database.port}
upt.42.database.url=${upt.42.database.system.url}/${upt.42.database.name}
upt.42.database.driver.class=org.gjt.mm.mysql.Driver
upt.42.database.encrypt.enabled=YES
upt.42.database.dialect=org.hibernate.dialect.MySQLDialect

upt.42.ldaps.url=
upt.42.ldaps.basedn= 
upt.42.ldaps.userid.label=
upt.42.ldap.url=
upt.42.ldap.searchable.base=
upt.42.ldap.userid.label=
upt.42.ldap.admin.user.name=
upt.42.ldap.admin.user.password=
########################
###  JBOSS SETTINGS  ###
########################
# jboss.home will be generated as ${application.base.path}/${jboss.relateive.path}
jboss.relative.path=${jboss.binaries.relative.dir}
jboss.server.hostname=ptest.garvan.unsw.edu.au
jboss.server.name=default
jboss.web.user=pwbc_admin
jboss.web.password=

# If you want to use JBboss NCICB Standard port configurations, uncommment the lines below and comment out all the ports.  Be sure to pick a correct prot configuration (see  https://wiki.nci.nih.gov/x/0gqy)
exclude.jboss-login-config=true
#jboss.ncicb-standard.port-config=true
#jboss.server.ports.name=config39080
jboss.server.ports.name=bda-ports

jboss.server.jndi.port=46200
jboss.server.port=46210
jboss.cobraorb.port=46350
jboss.ejbinvoker.port=46150
jboss.hajndi.port=46160
jboss.hajrmi.port=46260
jboss.jms.port=46170
jboss.jmx-rmi.port=46290
jboss.messaging.port=46330
jboss.pooledha.port=46270
jboss.remoting.port=46320
jboss.server.bind.port=0
jboss.server.rmi.port=46230
jboss.service.rmiobject.port=46240
jboss.snmp.port=46310
jboss.snmp-trapd.port=46300
jboss.web.service.port=46250
jboss.server.redirect.port=46298

jboss.ssl.enable=false

#@Resolve this property
jboss.external.http.host=

##################################
### Filesystem Data Repository ###
##################################
# If you need to store files on the file system add properties to this section otherwise delete it
#@Resolve this property
fs-data.base.dir=

##############
### TOMCAT ###
##############
# tomcat.home will be generated as ${application.base.path}/${tomcat.relateive.path}
exclude.tomcat.backup=true
tomcat.ssl.enable=false
exclude.tomcat=true

###############
###  Log4J  ###
###############
log4j.maxFileSize=100MB
log4j.maxDays=7
log4j.level=WARN

###################################
#  PRE-POST VALIDATION PROPERTIES #
###################################
validation.pre.port.list=${jboss.server.rmi.port},${jboss.server.jndi.port},${jboss.service.rmiobject.port},${jboss.jms.port},${jboss.server.port},${jboss.web.service.port}
validation.post.http.list=${jboss.server.port}
validation.post.socket.list=${jboss.server.rmi.port},${jboss.server.jndi.port},${jboss.service.rmiobject.port},${jboss.jms.port},${jboss.web.service.port}

###################################
#  upt backwards compatible multiple installation configuration #
###################################
upt.central.config=false
upt.31.installed=true
upt.32.installed=true
upt.40.installed=true
upt.41.installed=true
upt.42.installed=true

User and Application Relationship

UPT can control what applications a user has access to. The very 1st application registered in UPT is csmupt which is UPT itself:

mysql> select * from csm_application;
+----------------+---------------------------+---------------------------------+-
| APPLICATION_ID | APPLICATION_NAME          | APPLICATION_DESCRIPTION         |
+----------------+---------------------------+---------------------------------+-
|              1 | csmupt                    | CSM UPT Super Admin Application |
|              2 | sampleHostApplicationName | Application Description         |
|              3 | sample31                  | Application Description         |

When a new user created, it's added in csm_user table without any association.

mysql> select * from csm_user where login_name='derlin';
+---------+------------+---------------+------------+-------
| USER_ID | LOGIN_NAME | MIGRATED_FLAG | FIRST_NAME | LAST_N
+---------+------------+---------------+------------+-------
|       3 | derlin     |             0 | Derrick    | Lin
+---------+------------+---------------+------------+-------

In UPT, each regiestered application is an protection element, that is in table:

mysql> select * from csm_protection_element where protection_element_name like '%csmupt%';
+-----------------------+-------------------------+----------------------------------------------------+-----------+
| PROTECTION_ELEMENT_ID | PROTECTION_ELEMENT_NAME | PROTECTION_ELEMENT_DESCRIPTION                     | OBJECT_ID |
+-----------------------+-------------------------+----------------------------------------------------+-----------+
|                     1 | csmupt                  | CSM UPT Super Admin Application Protection Element | csmupt    |
+-----------------------+-------------------------+----------------------------------------------------+-----------+

After a user is assigned to an application, essentially, it's a user, protection element many-to-many relationship defined in table:

mysql> select * from csm_user_pe;
+----------------------------+-----------------------+---------+
| USER_PROTECTION_ELEMENT_ID | PROTECTION_ELEMENT_ID | USER_ID |
+----------------------------+-----------------------+---------+
|                          9 |                     1 |       1 |
|                          2 |                     2 |       1 |
|                          3 |                     3 |       1 |
|                          4 |                     4 |       1 |
|                          5 |                     5 |       1 |
|                          6 |                     6 |       1 |
|                          7 |                     7 |       1 |
|                          8 |                     1 |       3 |<<<< derlin assigned to csmupt
+----------------------------+-----------------------+---------+

1 comment:

21st Century Software Solutions said...

ldap online training| ldap training| call us+919000444287 ...
www.21cssindia.com/courses/ldap-online-training-103.html
LDAP Online Training, LDAP training, LDAP course contents, LDAP , call us: +919000444287,dharani@21cssindia.com.