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
- service ricci start
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
- Rescan Storage adapters on each esx host in cluster twice
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
- fdisk /dev/sdb
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
- Type: GFS
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
- download java from santa > installs > jboss > java.tar.gz
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
- PATH=/apps/java/default/bin:$PATH:$HOME/bin:/usr/sbin:/usr/bin
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
- email server = mail.pvsales.com
- file repository = /apps/oracle/ucm/server/vault
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.
- *1. Configure as a master 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
- 2. ContentFolios: Collect related items in folios
- Enter numbers separated by commas to toggle, 0 to unselect all, F to finish: 1, 2,4,5,6,7
- *1. Install new server
-
- *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
- 2. ContentFolios: Collect related items in folios
- Enter numbers separated by commas to toggle, 0 to unselect all, F to finish: F
- *1. CheckOutAndOpen: Checkout and Open component
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;
- REM This Script needs to be run as privileged user. A role called
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=
- jdbc:oracle:thin:@ora:1521:stellent
- oracle.jdbc.OracleDriver
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
- ClusterGroup=mn_clu_ucm_p001
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
- ClusterGroup=mn_clu_ucm_p001
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
- Options All
- </Location>
- <Location "/">
- IdcSecurity idc
- Options All
- Allow from all
- Options All
- </Location>
- IdcUserDB idc '/apps/oracle/ucm/server/data/users/userdb.txt'
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>
- <HEAD>
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
-
- Select "Check in Existing Template"
- Title = BlankTemplate
- Author = sysadmin
- Security Group = public
- Primary File = \Blank.ttp
- Template Type = Script Template
- Then click Check In
- Go to the Configuration Settings Link under Dynamic Converter Admin and select Script Templates from the Template Types Dropdown
- Select BlankTemplate from the Available Templates Dropdown
- 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:
hi, this is active-active or active-passive setup?
where do i do the JSP Page check in?
Thanks
Post a Comment