(Unofficial) D7.1 Developer Edition

This is a step-by-step guide to install D7.1 in a Linux environment with Oracle XE (while we wait for the official developer edition). I’ve used the great (Unofficial) D7 Developer Edition guide posted by Ingo Zitzmann as a reference, in fact, this is +90% the same, just with some different scripts (and OS/Documentum version).

Environment

  • Host:
    • Windows 7 x64 8GB RAM
    • VMWare Player 6.0.1
  • Guest:
    • CentOS 6.5 x64 40GB HD 4GB RAM
    • Oracle XE 11.0.2 / InstantClient 11.0.3 (not officially supported)
    • Documentum 7.1
    • Tomcat 7.0.42
    • /mnt/hgfs/cs7.1 as a shared folder with host machine

VM Creation

This is quite straightforward, pictures are self explanatory

image1.pngimage2.pngimage3.pngimage4.pngimage5.pngimage6.pngimage7.png

 

From here, just follow the Linux Easy Install wizard. In this case, I created an user named “dmadmin”. When the OS boots for the first time, login in to check the user works and disable the firewall (System -> Administration -> Firewall)

OS Configuration

  • Let’s add dmadmin to the sudoer list
[admin@dev-vm ~]# su
Password: <admin pwd>
[root@dev-vm ~]# visudo
## Next comes the main part: which users can run what software on
## which machines (the sudoers file can be shared between multiple
## systems).
## Syntax:
##
## user MACHINE=COMMANDS
##
## The COMMANDS section may have other options added to it.
##
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
dmadmin ALL=(ALL) ALL
  • Now we are going to change the vm’s name to vm-dctm71
[dmadmin@localhost ~]$ sudo vi /etc/hosts
192.168.161.128 vm-dctm71
[dmadmin@localhost ~]$ sudo vi /etc/sysconfig/network
NETWORKING=yes
#HOSTNAME=localhost.localdomain
HOSTNAME=vm-dctm71

Oracle XE setup

  • Install needed libs (just in case)
[dmadmin@vm-dctm71]# sudo yum install libaio bc
  • Run installer:
[dmadmin@vm-dctm71 Disk1]# sudo rpm -ivh oracle-xe-11.2.0-1.0.x86_64.rpm
[dmadmin@vm-dctm71 Disk1]# sudo /etc/init.d/oracle-xe configure
8008 #Defaults to 8080, change it to avoid conflicts with Tomcat
1521 #Default Oracle port
<password> #SYSTEM user password, usual restrictions apply
y  #Start when booting
  • Allow remote access to the database:
[root@vm-dctm71 admin]# . /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh
[root@vm-dctm71 admin]# /u01/app/oracle/product/11.2.0/xe/bin/sqlplus system
EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);
quit:

Oracle client setup

  • Install/update required 32bits libs:
[dmadmin@vm-dctm71~]# sudo yum install libXp.x86_64
[dmadmin@vm-dctm71~]# sudo yum update libXi.x86_64 libXtst.x86_64 libXt.x86_64
[dmadmin@vm-dctm71~]# sudo yum install libXp.i686 libXi.i686 libXtst.i686 libXt.i686
[dmadmin@vm-dctm71~]# sudo yum update glibc.x86_64 libgcc.x86_64 libstdc++.x86_64 libaio.x86_64
[dmadmin@vm-dctm71~]# sudo yum install glibc.i686 libgcc.i686 libstdc++.i686 libaio.i686
  • Make a new folder for the client’s libs
[dmadmin@vm-dctm71~]# cd /u01/app/oracle/product/11.2.0/xe/
[dmadmin@vm-dctm71 xe]# sudo mkdir lib32
[dmadmin@vm-dctm71 xe]# sudo chown oracle.dba lib32
  • Copy the client libs from the host to the new folder and create the symlinks
[dmadmin@vm-dctm71 xe]# sudo cp /mnt/hgfs/cs7.1/instantclient-basic-linux-11.2.0.3.0/instantclient_11_2/lib* lib32/
[dmadmin@vm-dctm71 xe]# cd lib32
[dmadmin@vm-dctm71 lib32]# sudo ln -s libclntsh.so.11.1 libclntsh.so
[dmadmin@vm-dctm71 lib32]# sudo ln -s libocci.so.11.1 libocci.so
[dmadmin@vm-dctm71 lib32]# sudo chown -h oracle.dba *
[dmadmin@vm-dctm71 lib32]# sudo chown -h oracle.dba libclntsh.so
[dmadmin@vm-dctm71 lib32]# sudo chown -h oracle.dba libocci.so

Content Server 7.1

Preinstall tasks

  • Reserve repository ports
[dmadmin@vm-dctm71~]# sudo vi /etc/services
# dctm services
dm_sec_test 47625/tcp # 7.1 Repository native connection
dm_sec_test_s 47626/tcp # 7.1 Repository secure connection
  • Make a new folder for Documentum
[dmadmin@vm-dctm71~]# sudo mkdir /opt/documentum;sudo chown dmadmin.dmadmin /opt/documentum
  • Update user profile script adding the environment variables required by the installation
[dmadmin@vm-dctm71 ~]$ vi .bash_profile
DOCUMENTUM=/opt/documentum
export DOCUMENTUM
DM_HOME=$DOCUMENTUM/product/7.1
export DM_HOME
ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
export ORACLE_HOME
ORACLE_SID=XE
export ORACLE_SID
NLS_LANG='$ORACLE_HOME/bin/nls_lang.sh' #be aware of the « special » quotes here
export NLS_LANG
PATH=$ORACLE_HOME/bin:$DM_HOME/bin:$PATH
export PATH
LC_ALL=C
export LC_ALL
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib32
export LD_LIBRARY_PATH
  • Make a new folder for the installers, and change the permissions
[dmadmin@vm-dctm71 documentum]$ mkdir installers
[dmadmin@vm-dctm71 installers]$ cp /mnt/hgfs/cs7.1/Content_Server_7.1_linux64_oracle/* .
[dmadmin@vm-dctm71 installers]$ chmod 777 *
[dmadmin@vm-dctm71 installers]$ chmod +x serverSetup.bin
  • I’m going to use putty so I’ll need a xserver in windows (xming/cygwin xwin) and the libs in the guest OS, I’ll just install xclock to get those and check everything is working
[dmadmin@vm-dctm71 installers]$ sudo yum install xclock
[dmadmin@vm-dctm71 installers]$ export DISPLAY=172.24.28.12:0.0

Although xclock worked fine, I couldn’t input any text in the Content Server installer when using Xming. As I was in a bit of a hurry, I simply used cygwin’s xwin and everything was fine

Content Server installation

  • Let’s go!!
[dmadmin@vm-dctm71 installers]$ ./serverSetup.bin

Pictures self explanatory as usual

image10.pngimage11.pngimage12.pngimage14.pngimage15.pngimage16.pngimage17.pngimage18.pngimage19.pngimage20.pngimage21.pngimage22.pngimage23.pngimage24.png

Tomcat 7

  • Copy Tomcat to the guest, unzip and move to destination folder
[dmadmin@vm-dctm71 tmp]$ cp /mnt/hgfs/cs7.1/apache-tomcat-7.0.42.tar.gz .
[dmadmin@vm-dctm71 tmp]$ tar xzvf apache-tomcat-7.0.42.tar.gz
[dmadmin@vm-dctm71 tmp]$ sudo mv apache-tomcat-7.0.42 /usr/share/
[dmadmin@vm-dctm71 tmp]$ sudo chown dmadmin.dmadmin -R /usr/share/apache-tomcat-7.0.42/
  • Create a symlink for ease of access
[dmadmin@vm-dctm71 tmp]$ sudo ln -s /usr/share/apache-tomcat-7.0.42 /usr/share/tomcat7
[dmadmin@vm-dctm71 tmp]$ sudo chown -h dmadmin.dmadmin /usr/share/tomcat7
  • Configure Java version to be used by Tomcat (we’ll be reusing Documentum bundled Java)
[dmadmin@vm-dctm71 tmp]$ vi /usr/share/tomcat7/bin/setenv.sh
#!/bin/sh
JAVA_HOME=/opt/documentum/java64/1.7.0_17/
JAVA_OPTS="-server -Xms256m -Xmx512m -XX:MaxPermSize=256m"
  • Check tomcat runs fine
[dmadmin@vm-dctm71 ~]$ /usr/share/tomcat7/bin/startup.sh

DA 7.1

  • Let’s update catalina.properties
[dmadmin@vm-dctm71 ~]$ vi /usr/share/tomcat7/conf/catalina.properties
### Req'd by Documentum Webtop/DA ###
org.apache.jasper.compiler.Parser.STRICT_WHITESPACE=false
  • Now context.xml
[dmadmin@vm-dctm71 ~]$ vi /usr/share/tomcat7/conf/context.xml
<Context useHttpOnly="false">
  • And finally web.xml
[dmadmin@vm-dctm71 ~]$ vi /usr/share/tomcat7/conf/web.xml
<init-param>
<param-name>enablePooling</param-name>
<param-value>false</param-value>
</init-param>
  • Now we’ll copy da.war to the guest
[dmadmin@vm-dctm71 tmp]$ cp /mnt/hgfs/cs7.1/da.war .
  • Extract dfc.properties from da.war
[dmadmin@vm-dctm71 tmp]$ unzip da.war WEB-INF/classes/dfc.properties
  • Update dfc.properties with the path to the content’s dfc.properties
[dmadmin@vm-dctm71 tmp]$ vi WEB-INF/classes/dfc.properties
#include /opt/documentum/config/dfc.properties
  • Update dfc.properties in the da.war file
[dmadmin@vm-dctm71 tmp]$ /opt/documentum/java64/1.7.0_17/bin/jar uf da.war WEB-INF/classes/dfc.properties
  • Move da.war to the webapps folder
[dmadmin@vm-dctm71 tmp]$ mv da.war /usr/share/tomcat7/webapps/da.war

And there you go!! Enjoy a D7.1 working environment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.