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
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
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