Rocky/RHEL 9 Upgrade Guidance Note
This document provides high-level guidance to customers that undertake their own hosting and management of Jadu software running on a LAMP (CentOS 7 Linux, Apache, MariaDB, PHP) server software stack and wish to undertake an upgrade to either Rocky/RHEL 9.
This document provides guidance to system administrators, and is not intended as a universal step by step guide - if such a level of support is required, please contact Jadu for a professional services quotation.
Overall Approach
In order to upgrade your platform, you will need a new server running Rocky 9 or RHEL 9. The upgrade will copy the database and some of the file systems from the old server to the new server. Some amount of service downtime is expected during the migration process.
This guide applies to sites running Photon and Classic front ends as well as sites with and without Jadu Forms. Any differences for a particular configuration will be highlighted at the relevant point.
At the time this document was created (February 2024) Jadu software does not support PHP versions above 8.1, MariaDB versions above 10.5 or Rocky/RHEL versions above 9.
1. Ensure your software meets the minimum version
In order to migrate to Rocky/RHEL 9, your server must be running Jadu CMS 21.x.x or above, or any version of Jadu Central.
If not, patch your site to at least Jadu CMS 21.x.x before continuing.
2. Setup new servers
You will need to commission new servers for the upgrade. Full details on setting up Linux Servers can be found in the Jadu Central Installation guide. After installing the CMS, Forms customers will also need to install the Forms module using the Central Forms installation guide.
Ensure you can log into the Jadu Control Center after installation has completed.
3. Backup content from old CentOS 7 Server
3a. Backup databases
Log into the old database server and take a backup of the database(s). You will need to take backups of the main Jadu database (typically called jadudb
) as well as databases for Galaxies sites (these databases are typically prefixed with ms_jadudb_*
).
Use mysqldump to take the database backups. Make a note of the backup destination.
3b. Backup directories
Along with the database, some content is stored on the file system. Compress the following directories into zip files for ease of transfer. Either use built in linux compressed zip functionality to backup the directories or your preferred compression software.
Replace /path/to/jadu with the root directory of your jadu installation, this is typically /var/www/jadu
.
Directory | Notes |
---|---|
/path/to/jadu/public_html | Contains the web accessible scripts and content |
/path/to/jadu/var | Contains non web accessible content. |
/path/to/jadu/config | Contains the site configuration files |
/path/to/jadu/jadu/custom | Contains custom code (if exists) |
/path/to/jadu/src | Contains site code |
/path/to/jadu/microsites | Contains scripts for galaxies sites. |
/path/to/jadu/jadu/PayBridge/PSP/Adapter | PayBridge PSP adapters (if using PayBridge) |
/path/to/jadu/PAYBRIDGE_* | PayBridge adapter version files (if using PayBridge) |
/path/to/jadu/.meteor/file-migrations | Contains history of file migrations run by patching |
4. Copy content to new server
Download the backups from the source server and transfer to a directory on the new server outside of the Jadu root installation directory e.g. /home/(user)/migration
and extract to this directory.
5. Update Database
5a. Backup the databases on the new Rocky/RHEL 9 server.
This can be done using the same mysqldump command as above. The backup is useful in case importing the database fails for some reason, and it becomes necessary to restore the old database to return to a working base system.
5b. Restore database from the backup on the new server
Run the below command to restore the CentOS 7 database to the new server:
mysql -u root -p < /path/to/centos7-db-backup.sql
6. Update File System Content
Restore the file system content by unzipping the zipped folders exported from the source server. Copy the unzipped folders (except config) into the corresponding locations in the jadu installation directory.
When copying public_html
you’ll be warned that there is a folder with the same name as the file name you specified related to blogImages
.
7. Check database permissions
Log into the database as the root user through the mysql command. Run ‘SHOW DATABASES;’, noting down any galaxy databases (usually named ms_jadudb_*
).
Open /var/www/jadu/config/system.xml, and note the username password combinations for jadu, jaduGU and jaduGM.
These credentials should all be able to access the jadudb
database, plus any galaxy databases (ms_jadudb_*
). Test that each user can access all the databases with the following command:
mysql -u (username) -p (password) (database name)
8. Update configuration
You now need to update the site configuration. In step 5 we extracted the config directory but didn’t copy the contents of the extracted directory over the existing config directory. Instead only specific configuration values will be copied.
It is recommended to backup the configuration file within the jadu installation directory before making changes to it.
8a. system.xml
Copy the configuration values from the backed up config/system.xml
file into the config/system.xml
file of the jadu installation.
secure_key
des_encryption_mssql_cert_pass
8b. constants.xml
Copy the configuration values from the backed up config/constants.xml
file into the config/constants.xml
file of the jadu installation.
csrf_token_salt
hash_salt
encryption_key
8c. mail.xml
If your original server has a custom mail setup, replace the config/mail.xml
file in the jadu installation directory with the one from the source server.
8d. datastore.xml
If you’ve set up non file based caching for the site, update config/datastore.xml
with the values from the backup (if applicable). If you have set up non file based caching you will need to update cache_data_store
in system.xml
to the correct cache type.
8e. ckeditor.xml
Copy the entire file from the backup up config/ckeditor.xml
to the jadu config directory config/
.
8f. xfp/constants.xml
Copy the entire file from the backup up config/xfp/constants.xml
and replace it in the jadu installation directory config/xfp/
.
9. Clear Cache
Delete all the contents under the /path/to/jadu/var/cache
directory.
10. Patch to latest Jadu
Finally patch to the latest Jadu version. This will update your site to the version of Jadu that supports the new stack (minimum version CMS 21.0.0 and XFP 8.0.0).
If you actively use Jadu Forms you will need to ensure forms are switched offline before patching commences. This needs to be done directly in the database. Open up MySQL and run the SQL statement:
UPDATE JaduXFormsConfiguration SET value = 'false' WHERE name = 'forms_online';
Follow the usual patch process to deploy the patch.
11. Update DNS entries
The site is now ready to test. As the site has been migrated from the source site, update your hosts file to the IP address of the new server and test the site using the original domain.
Additional Nodes
For each additional web node repeat steps 5, 7, 8 and 9 on each web node.