Upgrading Digital Hive on Linux to the 2024.3 Release
Overview
The 2024.3 Digital Hive release brings a lot of new capabilities to the market. In order to deliver some of the new features, changes to the underlying technology stack that underpins the Digital Hive solution had to be made. The 2024.3 release includes modernization to both PostgreSQL (Digital Hive Content Store) and ElasticSearch (provides the search capabilities). Although a lot of effort went in to upgrading the components and to minimize the effort required to upgrade existing Digital Hive implementations, there are some additional post-installation steps that must be performed to successfully migrate existing applications to the new 2024.3 release.
Ensure that a recent backup of the Digital Hive server has been completed and is available. Because the upgrade requires a complete re-indexing of content, it is suggested that the upgrade be performed off hours and with enough lead time to complete the indexing of the content.
Digital Hive Upgrade Steps
Open a Linux terminal and login as the Digital Hive user
Create a directory in you Digital Hive root, called installer. For example, in my environment, the Digital Hive user home is /home/digitalhive/DigitalHive and I created a directory in there called installer: /home/digitalhive/DigitalHive/installer
- If you didn't SFTP into that folder directly, move the file to that directory: mv DigitalHive-2024.3_linux-x64.tar.gz /home/digitalhive/DigitalHive
NOTE: if you used root to SFTP the file to the server, then you will have to chown and chgrp the file to the Digital Hive user, For example:
chown digitalhive DigitalHive-2024.3_linux-x64.tar.gz
chgrp digitalhive DigitalHive-2024.3_linux-x64.tar.gz If you're not logged in as the Digital Hive user, then: su digitalhive
Unzip the file: gunzip DigitalHive-2024.3_linux-x64.tar.gz
Untar the file: tar -xvf DigitalHive-2024.3_linux-x64.tar
Run the installer with this
command: ./setup.sh
At this prompt: Press 1
Enter Licensee name: <your license name>
- Enter License key: <your license key>
- Press 1 to continue
- Press spacebar until this prompt: Press 1 to accept, 2 to reject, 3 to
display
- Enter 1
- Enter 1 to Install
- Enter 1
- Enter 0 (or Press Enter)
- Enter 1
- Enter the Digital Hive installation path (or
press enter to accept the default path)
- Enter 1 (assuming it is correct)
- Enter O at this prompt
- Press Enter (if the port is correct)
- Enter 1
- Installation will begin and then finish with the
post-upgrade instructions:
- Press 1
The location of the README is actually:
/home/digitalhive/DigitalHive/post-upgrade-steps/2024.3/migrate-postgres
Postgres Upgrade Steps (This example uses Ubuntu, the Linux commands will be slightly different on other Linux flavours)
Here is an article that explains how to install PostgreSQL 16 on RHEL-Based Linux
- Apply the latest Linux updates: sudo apt-get update
- Enable PostgreSQL Repository: sudo apt install postgresql
- Allow other computers to connect to Postgres: sudo vi /etc/postgresql/16/main/postgresql.conf
- Change listen_address from localhost to *
listen_address – ‘*’ - Set the password for the postgres user: sudo -u postgres psql template1
- Run this SQL: alter user postgres with encrypted password
‘your_password’;
- Type: exit
- Change the authentication for the postgres user allowed
for the template1 database to use md5 authentication:
sudo vi /etc/postgresql/16/main/pg_hba.conf - Add this line (changing <local network IP> to your private IP):
hostssl template1 all <local network IP> md5 - Restart Postgres: sudo systemctl restart postgresql.service
- Change directory to your Digital Hive home: cd /home/digitalhive/DigitalHive
- Stop all DigitalHive services: ./stopAll.sh
- Start the old Postgres: ./postgres.sh -start
- Change directory to the migration script: cd post-upgrade-steps/2024.3/migrate-postgres
- Edit postgres-migration.properties: sudo vi postgres-migration.properties
- Set these settings (changing to what matches for your environment):
# the password for the existing Content Store
password
source.db.password=abc123
# the host and port of the new external Postgres instance
target.db.host=10.23.5.133
target.db.port=5433
# a privileged postgres user that can create the new database in the external
Postgres instance
target.db.admin.user=postgres
target.db.admin.password=efa$gswex@
target.db.database=postgres
# details for the new Content Store
database that will be created
target.db.user=dhadmin
target.db.password=trevor
target.db.name=digitalhive You now run the migrate script:
./migrate-postgres-content-store.sh --apply
DO NOT proceed beyond this step if there is a failure
If it does error, you will see the error message. Also, there will be an output directory that contains the SQL that was run, and standard error/out files which will help you determine why it failed. The output directory is the directory you're in: /home/digitalhive/DigitalHive/post-upgrade-steps/2024.3/migrate-postgres
You can address the issue and try again.
- Go back to the original Postgres (i.e. the
legacy bundled one) and stop it:
cd /home/digitalhive/DigitalHive
./postgres.sh -stop - Edit theia.properties: vi app/node1/tomcat/theia.properties
- Comment out these settings (you may delete them after you verify the new settings work):
#motio.theia.db.useBundledDataStore=true
#motio.theia.db.username=encryptedAes:qXxYGhNzgKRWfu7EK1vTdw==
#motio.theia.db.password=encryptedAes:6raHEqipbGFKqikwUXM/hg==
#motio.theia.db.url=jdbc:postgresql://i-03e06497abed6ee62:5432/digitalhive
#motio.adfcore.db.username=encryptedAes:qXxYGhNzgKRWfu7EK1vTdw==
#motio.adfcore.db.password=encryptedAes:6raHEqipbGFKqikwUXM/hg==
#motio.adfcore.db.url=jdbc:postgresql://i-03e06497abed6ee62:5432/digitalhive - Add these settings (replacing the port, username
and password with your new env):
motio.theia.db.useBundledDataStore=false
motio.theia.db.username=unencrypted:dhadmin
motio.theia.db.password=unencrypted:trevor
motio.theia.db.url=jdbc:postgresql://i-03e06497abed6ee62:5433/digitalhive
motio.adfcore.db.username=unencrypted:dhadmin
motio.adfcore.db.password=unencrypted:trevor
motio.adfcore.db.url=jdbc:postgresql://i-03e06497abed6ee62:5433/digitalhive - Save and Exit: :wq!
- Start Digital Hive:
cd /home/digitalhive/DigitalHive
./startAll.sh
Related Articles
Installing Digital Hive 2024.3 on Linux
Overview The 2024.3 Digital Hive release brings a lot of new capabilities to the market. In order to deliver some of the new features, changes to the underlying technology stack that underpins the Digital Hive solution had to be made. The 2024.3 ...
Upgrading Digital Hive on Windows to the 2024.3 Release
Overview The 2024.3 Digital Hive release brings a lot of new capabilities to the market. In order to deliver some of the new features, changes to the underlying technology stack that underpins the Digital Hive solution had to be made. The 2024.3 ...
What's New in the 2024.3 Digital Hive Release
This articles details the new product features, enhancements, and resolved issues, that were included as part of the Digital Hive 2024.3 release. New Features & Enhancements Upgraded versions of PostgreSQL and ElasticSearch This release of Digital ...
Single Sign On with Digital Hive on Linux
Question Is it possible to set up Single Sign On when Digital Hive is on Linux? Answer Yes, it is possible using OAUTH2, OpenID Connect (OIDC), and OKTA with Azure. First you will need to create a Digital hive Azure App Registration, you can refer to ...
What's New in the 2024.2 Digital Hive Release
This articles details the new product features, enhancements, and resolved issues, that were included as part of the Digital Hive 2024.2 release. New Features & Enhancements Control Center - Search tab Search is a very powerful use case within ...