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 DOCUMENTUMDM_HOME=$DOCUMENTUM/product/7.3
export DM_HOMEPOSTGRESQL_HOME=/usr/pgsql-9.4
export POSTGRESQL_HOMEPATH=$PATH:$DM_HOME/bin:$POSTGRESQL_HOME/bin:$HOME/.local/bin:$HOME/bin
export PATHLC_ALL=C
export LC_ALLLD_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”
[…] the instructions posted in the DCTM 7.3 PostgreSQL Dev. Edition post for configuring the OS and PostgreSQL 9.4 (no need to configure the ODBC, just install PostgreSQL […]
LikeLike
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
LikeLike
sorry for the late reply. I didn’t use the not-stripped version and it worked fine, however, you can find that file on the docker download for documentum.
LikeLike
Thanks Alvaro, I am using the non-stripped version. The regular version did not work for us.
LikeLike
Thanks a to Alvaro , Saved me a ton of time 🙂
LikeLike
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. 🙂
LikeLike