This is a step-by-step guide to install Documentum 20.4 in a Linux environment with PostgreSQL 11.
Environment
Host:
Windows 10 x64 8GB RAM
VMware Workstation Player 15
Guest:
CentOS 7.7 x64 25GB HD 4GB RAM 2 cores
PostgreSQL 11
Documentum 20.4
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 dctm204, configured the network and set the root password as well as a “dmadmin” user.
OS Configuration
- Install required packages:
[dmadmin@dctm204 ~]$ sudo yum -y install bash-completion kernel-devel rng-tools.x86_64 policycoreutils policycoreutils-python selinux-policy selinux-policy-targeted libselinux-utils setroubleshoot-server setools setools-console mcstrans expect tcl
[dmadmin@dctm204 ~]$ sudo yum -y group install X Window System “Development Tools”
[dmadmin@dctm204 ~]$ sudo yum -y install open-vm-tools.x86_64
- Stop and disable the firewalld service:
[dmadmin@dctm204 ~]$ sudo systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[dmadmin@dctm204 ~]$ sudo systemctl stop firewalld
- Configure entropy and allow http connections through selinux:
[dmadmin@dctm204 ~]$ sudo /sbin/rngd -b -r /dev/urandom -p /dev/random
[dmadmin@dctm204 ~]$ sudo setsebool -P httpd_can_network_connect_db 1
[dmadmin@dctm204 ~]$ sudo chkconfig rngd on
PostgreSQL Configuration
- Install required packages:
[dmadmin@dctm204 ~]$ sudo yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
[dmadmin@dctm204 ~]$ sudo yum -y install postgresql11 postgresql11-server
- Init the DB:
[dmadmin@dctm204 ~]$ sudo /usr/pgsql-11/bin/postgresql-11-setup initdb
- Enable and start the PostgreSQL service:
[dmadmin@dctm204 ~]$ sudo systemctl enable postgresql-11
Created symlink from /etc/systemd/system/multi-user.target.wants/postgresql-11.service to /usr/lib/systemd/system/postgresql-11.service.
[dmadmin@dctm204 ~]$ sudo systemctl start postgresql-11
- Configure the postgres user:
[dmadmin@dctm204 ~]$ sudo passwd postgres
Changing password for user postgres.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.[dmadmin@dctm204 ~]$ su – postgres
-bash-4.2$ psql
psql (11.5)
Type “help” for help.postgres=#
postgres=# password postgres
Enter new password:
Enter it again:
postgres=# q
-bash-4.2$ exit
- Configure PostgreSQL:
[root@dctm204 ~]# vi /var/lib/pgsql/11/data/postgresql.conf
listen_addresses = ‘*’
port = 5432[root@dctm204 ~]# vi /var/lib/pgsql/11/data/pg_hba.conf
host all all 127.0.0.1/32 md5
host all all ::/128 md5
host all all dctm204 md5
- Restart PostgreSQL service to apply the changes:
[dmadmin@dctm204 ~]$ sudo systemctl restart postgresql-11
phpPgAdmin Configuration
- Install required packages:
[dmadmin@dctm204 ~]$ sudo yum install -y php php-cli php-common php-pdo php-pgsql httpd apr apr-util httpd-tools libzip mailcap
[dmadmin@dctm204 ~]$ wget https://github.com/phppgadmin/phppgadmin/archive/REL_5-6-0.tar.gz
[dmadmin@dctm204 ~]$ tar -zxvf REL_5-6-0.tar.gz
[dmadmin@dctm204 ~]$ mv phppgadmin-REL_5-6-0/ /usr/share/phppgadmin
[dmadmin@dctm204 ~]$ mv /usr/share/phppgadmin/conf/config.inc.php-dist /usr/share/phppgadmin/conf/config.inc.php
- Configure phpPgAdmin:
[dmadmin@dctm204 ~]$ sudo vi /etc/httpd/conf.d/phpPgAdmin.conf
Alias /phppgadmin /usr/share/phppgadmin
<Location /phppgadmin>
<IfModule mod_authz_core.c>
# Apache 2.4
Require all granted
#Require host example.com
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order deny,allow
Allow from all
Allow from 127.0.0.1
Allow from ::1
# Allow from .example.com
</IfModule>
</Location>[dmadmin@dctm204 ~]$ sudo vi /etc/phpPgAdmin/config.inc.php-dist
$conf[‘servers’][0][‘host’] = ‘dctm204’;
$conf[‘extra_login_security’] = false;
$conf[‘owned_only’] = true;[dmadmin@dctm204 ~]$ sudo cp /etc/phpPgAdmin/config.inc.php-dist /etc/phpPgAdmin/config.inc.php
- Restart httpd service to apply the changes:
[dmadmin@dctm204 ~]$ sudo systemctl restart httpd
Now you should be able to login to the console from http://dctm202/phppgadmin/.
ODBC Configuration
- Install required packages:
[dmadmin@dctm204 ~]$ sudo yum -y install postgresql11-odbc.x86_64 unixODBC.x86_64
- Configure .ini files:
[dmadmin@dctm204 ~]$ 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-11/lib/psqlodbcw.so
Driver64 = /usr/pgsql-11/lib/psqlodbcw.so
Setup64 = /usr/lib64/libodbcpsqlS.so
FileUsage = 1
[dmadmin@dctm204 ~]$ sudo vi /etc/odbc.ini
[MyPostgres]
Description=PostgreSQL
Driver=PostgreSQL
Database=postgres
Servername=dctm204
UserName=postgres
Password=dmadmin
Port=5432
Protocol=11
ReadOnly=No
RowVersioning=No
ShowSystemTables=No
ShowOidColumn=No
FakeOidIndex=No
UpdateableCursors=Yes
DEBUG=Yes
- Test the connection:
[dmadmin@dctm204 ~]$ isql -v MyPostgres
+—————————————+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+—————————————+
SQL> quit
Documentum server
- Create folders:
[dmadmin@dctm204 ~]$ sudo mkdir -p /opt/documentum && sudo chown dmadmin.dmadmin /opt/documentum && mkdir /opt/documentum/product && mkdir /opt/documentum/product/20.4 && mkdir -p /opt/documentum/sw/cs
- Install openJDK 11.0.7 (remember to remove “anon” from the list of disabled algorithms or the installer will fail to connect to the repository)
[dmadmin@dctm204 cs]$ wget https://github.com/AdoptOpenJDK/openjdk11-upstream-binaries/releases/download/jdk-11.0.7%2B10/OpenJDK11U-jdk_x64_linux_11.0.7_10.tar.gz
[dmadmin@dctm204 cs]$ tar xvf OpenJDK11U-jdk_x64_linux_11.0.7_10.tar.gz && mv openjdk-11.0.7+10/ /opt/documentum/
- Set up environment variables:
[dmadmin@dctm204 ~]$ vi ~/.bash_profile
DOCUMENTUM=/opt/documentum
export DOCUMENTUMDM_HOME=$DOCUMENTUM/product/20.4
export DM_HOMEPOSTGRESQL_HOME=/usr/pgsql-11
export POSTGRESQL_HOMEJAVA_HOME=/opt/documentum/openjdk-11.0.7+10/
export JAVA_HOMEPATH=$PATH:$DM_HOME/bin:$POSTGRESQL_HOME/bin:$HOME/.local/bin:$HOME/bin:$JAVA_HOME/bin
export PATHLC_ALL=C
export LC_ALLLD_LIBRARY_PATH=$POSTGRESQL_HOME/lib:$DM_HOME/bin:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
- Reserve ports for services:
[dmadmin@dctm204 ~]$ sudo vi /etc/services
dctm204 50000/tcp # dctm 20.4 repo
dctm204_s 50001/tcp # dctm 20.4 repo
- Create symbolic link for later (configuration program):
[dmadmin@dctm204 ~]$ sudo ln -s /usr/lib64/libsasl2.so.3.0.0 /usr/lib64/libsasl2.so.2
- Configure limits.conf:
[dmadmin@dctm204 ~]$ sudo vi /etc/security/limits.conf
dmadmin – core -1
- Run the installer:
[dmadmin@dctm204 cs]$ tar -xvf content_server_20.4_linux64_postgres.tar
[dmadmin@dctm204 cs]$ chmod 777 serverSetup.bin
[dmadmin@dctm204 cs]$ ./serverSetup.bin
Docbroker and repository
- Create the tablespace file for the repository (dctm202):
[dmadmin@dctm204 cs]$ su –
[root@dctm204 ~]# su – postgres
-bash-4.2$ mkdir /var/lib/pgsql/11/data/db_dctm204_dat.dat
-bash-4.2$ exit
[root@dctm204 ~]# exit
- Run the configurator:
[dmadmin@dctm204 install]$ ./dm_launch_server_config_program.sh
And you should know the rest 🙂
[…] follow the Documentum 20.4 PostgreSQL post as I’ve used that […]
LikeLike
Hi would you happen to a have a same guide but for Windows Servers?
LikeLike
not really, but the Documentum part should be similar defining an odcb connection
LikeLike