Upgrading Digital Hive on Linux to the 2024.3 Release

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.

Info
Installing a new instance of Digital Hive on Linux requires special installation considerations, and the Digital Hive Installation and Configuration Overview article can be followed.

Warning
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

  1. Download Digital Hive 2024.3 - Linux and SFTP to the Linux server
  2. Open a Linux terminal and login as the Digital Hive user
  3. 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
  4. 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
  5. If you're not logged in as the Digital Hive user, then: su digitalhive
  6. Unzip the file:  gunzip DigitalHive-2024.3_linux-x64.tar.gz
  7. Untar the file: tar -xvf DigitalHive-2024.3_linux-x64.tar
  8. Run the installer with this command:  ./setup.sh
  9. At this prompt: Press 1
  10. Enter Licensee name:  <your license name>
  11. Enter License key:  <your license key>
  12. Press 1 to continue
  13. Press spacebar until this prompt:  Press 1 to accept, 2 to reject, 3 to display
  14. Enter 1
  15. Enter to Upgrade
  16. Enter 1
  17. Enter 0 (or Press Enter)
  18. Enter 1
  19. Enter the Digital Hive installation path (or press enter to accept the default path)
  20. Enter 1 (assuming it is correct)

  21. Enter O at this prompt
  22. Press Enter (if the port is correct)
  23. Enter 1
  24. Installation will begin and then finish with the post-upgrade instructions:
  25. Press 1
Warning
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)

Info
Here is an article that explains how to install PostgreSQL 16 on RHEL-Based Linux
  1. Apply the latest Linux updates:  sudo apt-get update
  2. Enable PostgreSQL Repository:  sudo apt install postgresql
  3. Allow other computers to connect to Postgres:  sudo vi /etc/postgresql/16/main/postgresql.conf
  4. Change listen_address from localhost to *
    listen_address – ‘*’
  5. Set the password for the postgres user:  sudo -u postgres psql template1
  6. Run this SQL:  alter user postgres with encrypted password ‘your_password’;
  7. Type: exit
  8. 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
  9. Add this line (changing <local network IP> to your private IP):
    hostssl  template1           all               <local network IP>           md5
  10. Restart Postgres:  sudo systemctl restart postgresql.service
  11. Change directory to your Digital Hive home:  cd /home/digitalhive/DigitalHive
  12. Stop all DigitalHive services: ./stopAll.sh
  13. Start the old Postgres:  ./postgres.sh -start
  14. Change directory to the migration script:  cd post-upgrade-steps/2024.3/migrate-postgres
  15. Edit postgres-migration.properties:  sudo vi postgres-migration.properties
  16. 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
  17. You now run the migrate script:  
    ./migrate-postgres-content-store.sh --apply
    Warning
    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.
  18. Go back to the original Postgres (i.e. the legacy bundled one) and stop it:  
    cd /home/digitalhive/DigitalHive
    ./postgres.sh -stop
  19. Edit theia.properties:  vi app/node1/tomcat/theia.properties
  20. 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
  21. 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
  22. Save and Exit:  :wq!
  23. 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 ...