DCTM 7.3 PostgreSQL Dev. Edition

This is a step-by-step guide to install Documentum 7.3 in a Linux environment with PostgreSQL 9.4.

I didn’t bother with screenshots, but installation should be easy 😀

Environment

Host:
Windows 10 x64 8GB RAM
VMware Workstation Player 12

Guest:
CentOS 7 x64 25GB HD 4GB RAM 2 cores
PostgreSQL 9.4
Documentum 7.3

VM Creation

Mount the CentOS 7 DVD image, boot the machine and follow the steps. You can choose to let EasyInstall do the work for you. I used minimal package install to save resources, named the machine vm-dctm73, configure the network and set the root password.

OS Configuration

  • Install required packages:

[dmadmin@vm-dctm73 ~]$ sudo yum install net-tools bash-completion kernel-devel rng-tools.x86_64
[dmadmin@vm-dctm73 opt]$ sudo yum install policycoreutils policycoreutils-python selinux-policy selinux-policy-targeted libselinux-utils setroubleshoot-server setools setools-console mcstrans
[dmadmin@vm-dctm73 ~]$ sudo yum group install X\ Window\ System “Development Tools”

If you want to install vmware tools do it now. You can check the steps in the post for the D7.2 developer edition

  • Stop and disable the firewalld service:

[dmadmin@vm-dctm73 ~]$ sudo systemctl disable firewalld
[dmadmin@vm-dctm73 ~]$ sudo systemctl stop firewalld

  • Configure the entropy and allow http connections through selinux:

[dmadmin@vm-dctm73 opt]$ sudo /sbin/rngd -b -r /dev/urandom -p /dev/random
[dmadmin@vm-dctm73 opt]$ sudo setsebool -P httpd_can_network_connect_db 1

  • Create folder structure for Documentum:

[dmadmin@vm-dctm73 opt]$ sudo mkdir documentum
[dmadmin@vm-dctm73 opt]$ sudo chown dmadmin.dmadmin documentum
[dmadmin@vm-dctm73 opt]$ mkdir documentum/product
[dmadmin@vm-dctm73 opt]$ mkdir documentum/product/7.3
[dmadmin@vm-dctm73 opt]$ mkdir documentum/installers
[dmadmin@vm-dctm73 opt]$ mkdir documentum/installers/cs

PostgreSQL Configuration

  • Install required packages:

[dmadmin@vm-dctm73 opt]$ sudo yum install https://download.postgresql.org/pub/repos/yum/9.4/redhat/rhel-7-x86_64/pgdg-centos94-9.4-3.noarch.rpm
[dmadmin@vm-dctm73 opt]$ sudo yum install postgresql94-server postgresql94-contrib

  • Init the DB:

[dmadmin@vm-dctm73 opt]$ sudo /usr/pgsql-9.4/bin/postgresql94-setup initdb

  • Enable and start the PostgreSQL service:

[dmadmin@vm-dctm73 opt]$ sudo systemctl enable postgresql-9.4
Created symlink from /etc/systemd/system/multi-user.target.wants/postgresql-9.4.service to /usr/lib/systemd/system/postgresql-9.4.service.
[dmadmin@vm-dctm73 opt]$ sudo systemctl start postgresql-9.4

  • Configure the postgres user:

[dmadmin@vm-dctm73 opt]$ su – root
[root@vm-dctm73 ~]# su – postgres-bash-4.2$ psql
postgres=# \password postgres
postgres=# \q
-bash-4.2$ exit
logout

  • Configure PostgreSQL:

[dmadmin@vm-dctm73 opt]$ sudo vi /var/lib/pgsql/9.4/data/postgresql.conf
listen_addresses = ‘*’
port = 5432

[dmadmin@vm-dctm73 opt]$ sudo vi /var/lib/pgsql/9.4/data/pg_hba.conf
host    all             all             127.0.0.1/32            md5
host    all             all             vm-dctm73               md5

  • Restart PostgreSQL service to apply the changes:

[dmadmin@vm-dctm73 opt]$ sudo systemctl restart postgresql-9.4

phpPgAdmin Configuration

  • Install required packages:

[dmadmin@vm-dctm73 opt]$ sudo yum install phpPgAdmin httpd

  • Configure phpPgAdmin:

[dmadmin@vm-dctm73 opt]$ sudo vi /etc/httpd/conf.d/phpPgAdmin.conf

# Apache 2.4
Require all granted
#Require host example.com

# Apache 2.2
Order deny,allow
 Allow from all
# Allow from 127.0.0.1
# Allow from ::1
# Allow from .example.com

[dmadmin@vm-dctm73 opt]$ sudo vi /etc/phpPgAdmin/config.inc.php
$conf[‘servers’][0][‘host’] = ‘192.168.42.130’;
$conf[‘extra_login_security’] = false;
$conf[‘owned_only’] = true;

  • Restart httpd service to apply the changes:

[dmadmin@vm-dctm73 opt]$ sudo systemctl restart httpd

Now you should be able to login to the console from http://vm-dctm73/phpPgAdmin/

ODBC Configuration

  • Install required packages:

[dmadmin@vm-dctm73 opt]$ sudo yum install postgresql94-odbc-debuginfo.x86_64 postgresql94-odbc.x86_64 unixODBC.x86_64

  • Configure .ini files:

[dmadmin@vm-dctm73 opt]$ sudo vi /etc/odbcinst.ini
[PostgreSQL]
Description     = ODBC for PostgreSQL
#Driver         = /usr/lib/psqlodbcw.so
#Setup          = /usr/lib/libodbcpsqlS.so
#Driver64       = /usr/lib64/psqlodbcw.so
#Setup64                = /usr/lib64/libodbcpsqlS.so
Driver          = /usr/pgsql-9.4/lib/psqlodbcw.so
Driver64        = /usr/pgsql-9.4/lib/psqlodbcw.so
Setup64         = /usr/lib64/libodbcpsqlS.so
FileUsage       = 1

[dmadmin@vm-dctm73 opt]$ sudo vi /etc/odbc.ini
[MyPostgres]
Description=PostgreSQL
Driver=PostgreSQL
Database=postgres
Servername=vm-dctm73
UserName=postgres
Password=dmadmin
Port=5432
Protocol=7.4
ReadOnly=No
RowVersioning=No
ShowSystemTables=No
ShowOidColumn=No
FakeOidIndex=No
UpdateableCursors=Yes
DEBUG=Yes

  • Test the connection:

[dmadmin@vm-dctm73 opt]$ isql -v MyPostgres
+—————————————+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+—————————————+
SQL> quit

 

Content Server install

  • Set up environment variables:

[dmadmin@vm-dctm73 opt]$ cd $HOME
[dmadmin@vm-dctm73 ~]$ vi .bash_profile
DOCUMENTUM=/opt/documentum
export DOCUMENTUM

DM_HOME=$DOCUMENTUM/product/7.3
export DM_HOME

POSTGRESQL_HOME=/usr/pgsql-9.4
export POSTGRESQL_HOME

PATH=$PATH:$DM_HOME/bin:$POSTGRESQL_HOME/bin:$HOME/.local/bin:$HOME/bin
export PATH

LC_ALL=C
export LC_ALL

LD_LIBRARY_PATH=$POSTGRESQL_HOME/lib:$DM_HOME/bin:/opt/documentum/java64/JAVA_LINK/jre/lib/amd64/server:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH

  • Reserve ports for services:

[dmadmin@vm-dctm73 ~]$ sudo vi /etc/services
dctm73          49001/tcp               # dctm73 native
dctm73_s        49002/tcp               # dctm73 secure

  • Create symbolic link for later (configuration program):

[dmadmin@vm-dctm73 ~]$ sudo ln -s /usr/lib64/libsasl2.so.3 /usr/lib64/libsasl2.so.2

  • Run the installer:

[dmadmin@vm-dctm73 ~]$ cd /opt/documentum/installers/cs/
[dmadmin@vm-dctm73 cs]$ chmod 775 serverSetup.bin
[dmadmin@vm-dctm73 cs]$ ./serverSetup.bin

Just follow the installer and CS files will be installed.

Repository configuration

  • Create the tablespace file for the repository (dctm73):

[dmadmin@vm-dctm73 cs]$ su – root
[root@vm-dctm73 ~]# su – postgres
-bash-4.2$ mkdir /var/lib/pgsql/9.4/data/db_dctm73_dat.dat

  • Test database connection with dmdbtest:

[dmadmin@vm-dctm73 cs]$ dmdbtest -Dpostgres -SMyPostgres -Upostgres -Pdmadmin
Failed to make a database connection using the following data:
Database Server: MyPostgres
Database Name  : postgres
User Name      : postgres
User Password  : Check either the -P flag on command line or
the password file specified in your server.ini
Error from database system is:  STATE=01000, CODE=0, MSG=[unixODBC][Driver Manager]Can’t open lib ‘/usr/pgsql-9.4/lib/psqlodbcw.so’ : file not found
ERROR(-1)   (system code: -1)

What? Well, after some digging, the easiest solution is to take that library from the docker image. If you have no idea what Docker is, or you think it is a brand of jeans, just download the docker tar from EMC and open Contentserver_Centos\eddd155b2fecc3cc682aeec8d9c6e966259e3df22fe15d6fd6e34dc9d41fe0d4\layer.tar. You’ll find there the files you need.

  • So, copy the files to the /usr/pgsql-9.4/lib directory:

[dmadmin@vm-dctm73 installers]$ chmod 755 *.so
[dmadmin@vm-dctm73 installers]$ sudo cp *.so /usr/pgsql-9.4/lib/

  • And run the test again:

[dmadmin@vm-dctm73 installers]$ dmdbtest -Dpostgres -SMyPostgres -Upostgres -Pdmadmin
Database successfully opened.
Test table successfully created.
Test view successfully created.
Test index successfully created.
Insert into table successfully done.
Index successfully dropped.
View successfully dropped.
Database case sensitivity test successfully past.
Table successfully dropped.

  • Now run the server configuration program:

[dmadmin@vm-dctm73 installers]$ ../product/7.3/install/dm_launch_server_config_program.sh

Configure the docbroker, the repository, and when the installation finishes, check the installation guide (Documentum Platform and Platform Extensions 7.3 Installation Guide) and go through the section “Tuning PostgreSQL database

 

 

6 thoughts on “DCTM 7.3 PostgreSQL Dev. Edition

  1. Hi Alvaro,

    I am currently trying to install D7.3 on RedHat 7 with Postgres 9.4.
    The server config program is unable to connect to Postgres.
    I have not installed a non-stripped version of the psqlodbcw.so.
    I can’t find any rpm that has this library.
    Do you know where I can find it?

    Thanks,

    Sander Hendriks

    Like

  2. Thank you Alvaro,

    I found your article in the middle of wandering the not stripped odbc driver and odbcinst command.
    Your article will save a lot of my time. 🙂

    Like

Leave a comment

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