Oracle UCM 10g R3 Clustered Installat...


Oracle UCM 10g R3 Clustered Installation and Configuration (RHEL 5 x86_64)

Install Clustering Software

Add software channels for Cluster and Cluster Storage in RHN to the servers

rhn_register on both servers

yum -y groupinstall Clustering
yum -y groupinstall "Cluster Storage"

On 1st node:

chkconfig luci on
service luci start

On both nodes:

chkconfig ricci on
service ricci start
chkconfig gfs on
chkconfig gfs2 on
chkconfig cman on
chkconfig clvmd on

Create Cluster

logon to luci via https://ecmp001:8084 with user: admin and pw

Create new cluster clu_ucm_p001

Add node ecmp001 using locally installed files option

Add node ecmp002

Adding 2nd node with Luci fails but:

copy /etc/cluster/cluster.conf to added node
edit /etc/lvm/lvm.conf and change locking_type to 3

restart 2nd node

Configure Clustered Storage

SAN: VMWare team setup Mapped Raw LUN

Created LUNS in Navispshere and exposed to ESX by dropping into ESX Storage Group
Rescan Storage adapters on each esx host in cluster twice
Add new raw mapped lun via edit settings in vi console

On first node:

partprobe
fdisk /dev/sdb
pvcreate /dev/sdb1
vgcreate ucmvg /dev/sdb1
lvcreate -L 18G ucmvg
lvrename /dev/ucmvg/lvol0 /dev/ucmvg/ucmlv
gfs_mkfs -p lock_dlm -t mn_clu_ucm_p001:ucm -j 4 /dev/ucmvg/ucmlv

Added the following to /etc/fstab

/dev/ucmvg/ucmlv /apps gfs acl,noatime 1 2

run mount -a to mount the new entry

Create storage resource in luci

Name: apps gfs share
Type: GFS
Mount point: /apps
Device: /dev/ucmvg/ucmlv
Options: acl,noatime


UCM Install on first node:

chown user1.user1 /apps
download java from santa > installs > jboss > java.tar.gz
install java in /apps/java and link /apps/java/default to /apps/java/jdk1.6.0_01-64bit

Install ContentServer_Linux_10gR3_20071031.zip following instructions in install_cserver_pv_10en.pdf and clustering_config_pv_10en.pdf (Disregard unc path instructions as we are using GFS which does not require unc naming - use /apps/ as root for shared_directory)

192.168.1.214 ecmp001 (primary)

192.168.1.215 ecmp002

Edit user1's .bash_profile on both nodes as follows:

JAVA_HOME=/apps/java/default
PATH=/apps/java/default/bin:$PATH:$HOME/bin:/usr/sbin:/usr/bin
export PATH JAVA_HOME
umask 002

Then run:

source ~/.bash_profile

Plan for the following list of configuration options

file repository = /apps/oracle/ucm/server/vault
email server = mail.pvsales.com
admin email = webmaster
HTTP Address = http://ucmprod.pvsales.com
IP = 192.168.1.214
ports = default
web server = Apache
db = oracle
IDC_Name=idc
Instance Menu Label = idc
Relative root = /idc/
security filter = 127.0.0.1|192.168.1.214|192.168.1.215


Installer menu options:

*4. English-US
*1. Install new server
Content Server Core Folder [/oracle/ucm/server]:/apps/oracle/ucm/server
Create Directory
*1. yes
Java virtual machine
*1. Sun Java 1.6.0 JDK
Content Server Native Vault Folder [/apps/oracle/ucm/server/vault/]:
Create Directory
*1. yes
Content Server Weblayout Folder [/apps/oracle/ucm/server/weblayout/]:
Create Directory
*1. yes
*1. Configure as a master server.
*1. Install an admin server to manage this server.
Web Browser Path [/usr/bin/firefox]:
*4. English-US
*1. Use the timezone setting for your operating system
Content Server Port [4444]:
Admin Server Port [4440]:
Incoming connection address filter [127.0.0.1]:127.0.0.1|192.168.1.214|192.168.1.215
Web Server Relative Root [/idc/]:
Company Mail Server [mail]:mail.pvsales.com
Administrator E-Mail Address [sysadmin@mail]:webmaster@pvsales.com
Web Server HTTP Address [ecmp001]:ucmprod.pvsales.com
Server Instance Name [idc]:
Server Instance Label [idc]:
Server Description [Content Server idc]:Production UCM Master Server
Web Server
*1. Apache
Content Server Database
*1. Oracle
Manually configure JDBC settings for this database
1. yes
*2. no
Oracle Server Hostname [localhost]:ora.pvsales.lan
Oracle Listener Port Number [1521]:
Oracle User [user]:STELLENT_USER
Oracle Password []:
Configure the JVM to find the JDBC driver in a specific jar file
1. yes
*2. no
Attempt to create database tables
1. yes
*2. no
Choice? 1
Select components to install.
1. CheckOutAndOpen: Checkout and Open component
2. ContentFolios: Collect related items in folios
3. ExtranetLook: Extranet website support
4. FileStoreProvider: Alternate FileStoreProvider Implementation
5. FormEditor: Create and edit HTML forms
6. LinkManager8: Hypertext link management support
7. ThreadedDiscussions: Threaded discussion management
Enter numbers separated by commas to toggle, 0 to unselect all, F to finish: 1, 2,4,5,6,7
*1. CheckOutAndOpen: Checkout and Open component
2. ContentFolios: Collect related items in folios
3. ExtranetLook: Extranet website support
*4. FileStoreProvider: Alternate FileStoreProvider Implementation
*5. FormEditor: Create and edit HTML forms
*6. LinkManager8: Hypertext link management support
*7. ThreadedDiscussions: Threaded discussion management
Enter numbers separated by commas to toggle, 0 to unselect all, F to finish: F

Error regarding oracle permissions fixed with:

REM
REM This Script needs to be run as privileged user. A role called
REM 'stellent_role' will be created. Please grant this role to Content
REM Server user. In general, content server user would also need
REM UNLIMITED TABLESPACE privilege. This should be granted to user with
REM following command:
REM GRANT UNLIMITED TABLESPACE TO <user>;
REM
CREATE ROLE stellent_role;
GRANT CREATE SESSION TO stellent_role;
GRANT CREATE TABLE TO stellent_role;
GRANT CREATE TYPE TO stellent_role;
GRANT CREATE PROCEDURE TO stellent_role;
GRANT CTXAPP TO stellent_role;
GRANT stellent_role to STELLENT_USER;
GRANT unlimited tablespace to STELLENT_USER;

Recheck config with option 3 and once successfull

Proceed with install
*1. Proceed

Check log file in /apps/oracle/ucm/server/install/log.txt for any errors

Startup and Shutdown

create startup script for idcserver_ctrl and idcadmin_ctrl - see CVS systems/scripts

JDBC and Indexing

oracle.jdbc.OracleDriver
jdbc:oracle:thin:@ora:1521:stellent
JdbcUser=STELLENT_USER
JdbcPassword=

config.cfg - change following:

SearchIndexerEngineName=DATABASE.FULLTEXT

Cluster bin and etc directory config

cp -r /apps/oracle/ucm/server/bin /apps/oracle/ucm/server/bin-ecmp001

edit intradoc.cfg in bin-ecmp001 by adding:

DisableSharedCacheChecking=true
ClusterGroup=mn_clu_ucm_p001
ClusterNodeName=ecmp001.pvsales.lan
ClusterNodeAddress=192.168.1.214
ClusterBinDirRule=shared

cp -r /apps/oracle/ucm/server/bin /apps/oracle/ucm/server/bin-ecmp002

edit intradoc.cfg in bin-ecmp002 by adding:

DisableSharedCacheChecking=true
ClusterGroup=mn_clu_ucm_p001
ClusterNodeName=ecmp002.pvsales.lan
ClusterNodeAddress=192.168.1.215
ClusterBinDirRule=shared

cp -r /apps/oracle/ucm/server/bin-ecmp001 /apps/oracle/ucm/server/admin/ cp -r /apps/oracle/ucm/server/bin-ecmp002 /apps/oracle/ucm/server/admin/

copy all etc folders and edit configs same as bin including updating bindir and etcdir paths and verify that all intradoc.cfg files have the correct settings as shown above.


Apache Configuration

Add the following to the end of httpd.conf on both nodes and restart httpd:

LoadModule IdcApacheAuth /apps/oracle/ucm/server/shared/os/linux64/lib/IdcApache22Auth.so
IdcUserDB idc '/apps/oracle/ucm/server/data/users/userdb.txt'
Alias /idc "/apps/oracle/ucm/server/weblayout"
<Location /idc>
Order allow,deny
Options All
Allow from all
DirectoryIndex portal.htm index.html index.htm default.htm default.html
IdcSecurity idc
</Location>
<Location "/">
IdcSecurity idc
Options All
Allow from all
</Location>

In /var/www/html create a redirect page called index.html as follows:

<HTML>
<HEAD>
<META HTTP-EQUIV="Refresh" CONTENT="0;
URL=http://ucmprod.sysxperts.com/idc">
</HEAD>
</HTML>


Update to the current Patch Release:

Install Optional Packages via the Admin Server Component Manager

Browse to and install the following which were downloaded from oracle metalink

 

    DynamicConverter.zip

    Folders.zip

    SiteStudio.zip

 

Finally install p6907073_101332_Generic.zip update bundle

 

Make sure that Extranet Look is not enabled (NOT COMPATIBLE WITH THIS VERSION - HEADACHE WORTH AVOIDING)

 

Restart all services to complete the update.

 

GFS Troubleshooting:

Look in /var/log/messages for anything from gfs_controld. If there are none, check the output of 'group_tool -v; group_tool dump gfs' after the failed mount.

Or, another option is to temporarily disable startup fencing altogether by adding this to /etc/cluster/cluster.conf:

change <fence_daemon clean_start="0"/>
to <fence_daemon clean_start="1"/>

Still working on finding a good fencing method since I am using VMWare hosts for this test

Admin server troubleshooting:

Admin server would not open in browser with service unavailable error

Found invalid IP in /apps/oracle/ucm/server/data/users/SecurityInfo.hda

changed intradoc ip and ip above 4440 entry to 192.168.1.214 and restarted services.


Configure LDAP for Active Directory

Provider Name: pvsalesldap

Provider Description: PVSALES AD Ldap Provider

Provider Type: ldapuser

Provider Class: ldap.ActiveDirectoryLdapProvider

Provider Connection: intradoc.provider.LdapConnection

Source Path: pvsalesldap   #Note that Source Path and provider name match

LDAP Server: pvsales_dc7.pvsales.com

LDAP Suffix: DC=pvsales,DC=com

LDAP Port: 389

Number of connections: 5

Connection timeout: 10

Priority: 1

Credential Map: 

Use Netscape: Yes

SSL Enabled: No

Attribute Map:

Role Prefix: OU=ucm,OU=Security Groups[1]

Default Network Roles:

Filter Groups: Yes

Use Full Group Name: No

LDAP Admin DN: PVSALES\ucmadmin


Filter Administration > Default Authentication set to NTLM

 

CN=stellent,OU=ucm,OU=Security Groups,DC=pvsales,DC=com that has a corresponding role in the content server configuration called stellent (role and group name must match for Credential Map to work)

 

restart the content server, admin server, and httpd

Configure JSP Support

Go to Admin Server -> General Configuration

Check the box for "Enable JSP Pages" and specify a security group(s) that will be allowed to execute JSP pages i.e. Public,Secure,JSP

 

Check in your JSP page specifying on of the security groups from above Click on the web viewable link for your JSP page and it should execute

 

Goto Site Studio Admin > Manage Fragment Libraries and click configure jsp support


Configure Dynamic Converter

Install Dynamic Converter component via the Admin Server Component Manager Link

Restart the Content Server

Go to the Content Server Administration Drop Down Menu > Dynamic Converter Admin

  1. Select "Check in Existing Template"
  2. Title = BlankTemplate
  3. Author = sysadmin
  4. Security Group = public
  5. Primary File = \Blank.ttp
  6. Template Type = Script Template
  7. Then click Check In
  8. Go to the Configuration Settings Link under Dynamic Converter Admin and select Script Templates from the Template Types Dropdown
  9. Select BlankTemplate from the Available Templates Dropdown
  10. Click Update button

On each server go to the /apps/oracle/ucm/server/bin* directories and for every intradoc.cfg file add the following

IdcOSName=linux

2 comments:

wong said...

hi, this is active-active or active-passive setup?

Octavio said...

where do i do the JSP Page check in?
Thanks