This is a step-by-step guide to install Documentum 24.4 in WSL2 using the Rocky Linux 9 (closest to the supported RH9) image with PostgreSQL 16. This versions comes with some changes:
- “dmadmin” user defaults to unix source, so you’ll need to change it to inline
- OTDS is mandatory/required on the CS (and can be partially configured from DA), as well for using applications (note the word “using”, you can only login to DA without OTDS)


This requirement raises some questions such as: Are developers required now to have one (or several) licenses to work on local environments? How does this work with contractors (duration of license, using it for “other” customers, etc.) How does this affects performance? (as this validation runs via JMS / OTDSAuthentication servlet for each user login)
- D2-Config is now (finally) integrated with OTDS

- Documentum Search is avaliable for on premise (this will be another post)
Initial Configuration
There’s no official image on Microsoft Store so you’ll need to download the container image from the Rocky Linux page. Once this is done, you can import the image:
wsl --import RockyLinux9Dctm244 c:\Users\aldago\rockylinuxSearch244\ d:\dctm\dctm244\Rocky-9-Container-Base.latest.x86_64.tar.xz
After importing the image, we can log in (as root) and start the basic configuration of the server:
[root@desktop ~]# yum -y update
[root@desktop ~]# yum -y install sudo tcl expect libXtst xterm libxcrypt-compat
[root@desktop ~]# adduser dmadmin
[root@desktop ~]# passwd dmadmin
Changing password for user dmadmin.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@desktop ~]# usermod -aG wheel dmadmin
[root@desktop ~]# su - dmadmin
[dmadmin@aldago-desktop ~]$ sudo vi /etc/wsl.conf
[boot]
systemd=true
PostgreSQL Configuration
First we need to install PostgreSQL:
[root@desktop ~]# yum module -y install postgresql:16
[root@desktop ~]# postgresql-setup --initdb
* Initializing database in '/var/lib/pgsql/data'
* Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log
[root@desktop ~]# systemctl start postgresql
[root@desktop ~]# systemctl enable postgresql
Created symlink /etc/systemd/system/multi-user.target.wants/postgresql.service → /usr/lib/systemd/system/postgresql.service.
[root@desktop ~]# systemctl status postgresql
[root@desktop ~]# su - dmadmin
[dmadmin@desktop ~]$ sudo su - postgres
[sudo] password for dmadmin:
[postgres@desktop ~]$ psql
psql (16.6)
Type "help" for help.
postgres=# \password postgres
Enter new password for user "postgres":
Enter it again:
postgres=# exit
[postgres@desktop ~]$ exit
logout
[dmadmin@desktop ~]$ 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.
Next, we can install phpgadmin for easier administration:
[root@desktop ~]# dnf -y install yum-utils
[root@desktop ~]# rpm -i https://ftp.postgresql.org/pub/pgadmin/pgadmin4/yum/pgadmin4-redhat-repo-2-1.noarch.rpm
warning: /var/tmp/rpm-tmp.CQz9dX: Header V4 RSA/SHA256 Signature, key ID 210976f2: NOKEY
[root@desktop ~]# yum-config-manager --disable pgdg-common
Error: No matching repo to modify: pgdg-common.
[root@desktop ~]# dnf update -y
[root@desktop ~]# dnf install pgadmin4 -y
[root@desktop ~]# systemctl enable --now httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
[root@desktop ~]# systemctl status httpd
[root@desktop ~]# /usr/pgadmin4/bin/setup-web.sh
Setting up pgAdmin 4 in web mode on a Redhat based platform...
Creating configuration database...
NOTE: Configuring authentication for SERVER mode.
Enter the email address and password to use for the initial pgAdmin user account:
Email address: dmadmin@dmadmin.dmadmin
Password:
Retype password:
You can now start using pgAdmin 4 in web mode at http://127.0.0.1/pgadmin4
And finally, we can configure the odbc connection:
[root@desktop ~]# dnf install https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
[root@desktop ~]# yum -y install postgresql16-odbc.x86_64 unixODBC.x86_64
[root@desktop ~]# vi /etc/odbc.ini
[MyPostgres]
Description=PostgreSQL
Driver=PostgreSQL
Database=postgres
Servername=localhost
UserName=postgres
Password=dmadmin
Port=5432
Protocol=16
ReadOnly=No
RowVersioning=No
ShowSystemTables=No
ShowOidColumn=No
FakeOidIndex=No
UpdateableCursors=Yes
DEBUG=Yes
[root@desktop ~]# vi /etc/odbcinst.ini
[PostgreSQL]
Description = ODBC for PostgreSQL
Driver = /usr/pgsql-16/lib/psqlodbcw.so
Driver64 = /usr/pgsql-16/lib/psqlodbcw.so
Setup64 = /usr/lib64/libodbcpsqlS.so.2
FileUsage = 1
[root@desktop ~]# su - dmadmin
[dmadmin@desktop ~]$ isql -v MyPostgres
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL>
Documentum Server
First, we need to create the DB folder:
[dmadmin@desktop ~]$ su - postgres
Password:
[postgres@desktop ~]$ mkdir /var/lib/pgsql/data/db_dctm244_dat.dat
The Documentum folders and JDK (stick to the supported 17.0.12 version and remember to remove anon from the disabled algorithms to avoid issues):
[dmadmin@desktop ~]$ sudo mkdir -p /opt/documentum/sw && sudo mkdir -p /opt/documentum/product/24.4
[dmadmin@desktop ~]$ sudo chown -R dmadmin:dmadmin /opt/documentum
Add environment variables to .bash_profile:
[dmadmin documentum]$ vi ~/.bash_profile
DDOCUMENTUM=/opt/documentum
export DOCUMENTUM
DM_HOME=$DOCUMENTUM/product/24.4
export DM_HOME
DM_JMS_HOME=$DOCUMENTUM/tomcat10.1.30
export DM_JMS_HOME
POSTGRESQL_HOME=/usr/pgsql-16
export POSTGRESQL_HOME
JAVA_HOME=/opt/documentum/jdk-17.0.12+7
export JAVA_HOME
PATH=$PATH:$DM_HOME/bin:$POSTGRESQL_HOME/bin:$HOME/.local/bin:$HOME/bin:$JAVA_HOME/bin:$DOCUMENTUM/dba
export PATH
LC_ALL=C
export LC_ALL
LD_LIBRARY_PATH=$POSTGRESQL_HOME/lib:$DM_HOME/bin:/usr/lib64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
export DM_CRYPTO_MIN_PASSWORD_LENGTH=8
DISPLAY=:0
export DISPLAY
export PS1='[u@h w]$ '
Reserve ports and configure limits.conf:
[dmadmin ~]$ sudo vi /etc/services
dctm234 50000/tcp # dctm 24.4 repo
dctm234_s 50001/tcp # dctm 24.4 repo
[dmadmin ~]$ sudo vi /etc/security/limits.conf
dmadmin – core -1
[dmadmin@desktop /opt/documentum]$ sudo ln -s /usr/lib64/libsasl2.so.3.0.0 /usr/lib64/libsasl2.so.2
[dmadmin@desktop /opt/documentum]$ sudo ln -s /usr/lib64/libssl.so.3 /usr/lib64/libssl.so.10
And now you can simply install content server normally 🙂
[…] 24.4 in WSL2 using the Rocky Linux 9 (closest to the supported RH9) image created in the previous post. OTDS […]
LikeLike
[…] 24.4 in WSL2 using the Rocky Linux 9 (closest to the supported RH9) image created in the previous post (or you can use a clean one for this). Documentum Search 24.4 […]
LikeLike
Hi Álvaro,
Thank you for your insightful posts about Documentum updates—they’re always very helpful!
I’m currently looking for a download link for Documentum 24.4, but I can’t seem to find it on OpenText support. Would you be able to provide any guidance or share a link if available?
I really appreciate your help, and thanks again for all the great content you share!
LikeLike
You can only get access to anything newer than 23.4 if your company is on X Plans (or if you’re a partner, I guess)
LikeLike
[…] Centralized licensing management (another push from other products, we will see how this really works, as I already expressed my concerns in a previous post) […]
LikeLike
[…] for managing licenses, meaning that you won’t be able to use any client without license (not even with dmadmin). OpenText has a white paper on the support page called “OpenText™ Documentum 24.4 – […]
LikeLike