AlmaLinux 8
Prerequisites
For this tutorial, you will need:
- A minimal AlmaLinux 8 server.
- Passbolt AlmaLinux 8 package installed.
The recommended server requirements are:
- 2 cores
- 2GB of RAM
FAQ pages:
Upgrade passbolt
While this documentation provides guidance on upgrading your Passbolt instance from CE to PRO, we highly recommend considering a migration to a new server. This approach ensures a cleaner transition and avoids potential issues that may persist from your current setup.
1. Take down your site
It is generally a good idea to stop running the site prior to the upgrade. This is to avoid having side effects such as active users corrupting the data in the middle of an upgrade.
sudo systemctl stop nginx
2. Backup your database
It is recommended to always perform a backup of your passbolt installation. Please check the backup article
3. Upload your subscription key
You should copy your subscription key to /etc/passbolt/subscription_key.txt
and ensure the permissions are correct.
sudo chown root:nginx /etc/passbolt/subscription_key.txt
sudo chmod 640 /etc/passbolt/subscription_key.txt
4. Uninstall passbolt CE
Passbolt CE package should be removed prior to installing Passbolt Pro.
sudo dnf remove passbolt-ce-server
5. Upgrade passbolt package repository
For easier installation and update tasks Passbolt provides a package repository that you need to setup before you download Passbolt PRO and install it.
Step 1. Download our dependencies installation script:
wget "https://download.passbolt.com/pro/installer/passbolt-repo-setup.pro.sh"
Step 2. Download our SHA512SUM for the installation script:
wget https://github.com/passbolt/passbolt-dep-scripts/releases/latest/download/passbolt-pro-SHA512SUM.txt
Step 3. Ensure that the script is valid and execute it:
sha512sum -c passbolt-pro-SHA512SUM.txt && sudo bash ./passbolt-repo-setup.pro.sh --passbolt-migrate || echo "Bad checksum. Aborting" && rm -f passbolt-repo-setup.pro.sh
6. Install passbolt PRO
Now you can install the Passbolt Pro package.
sudo dnf install passbolt-pro-server
7. Migrate the data
Once the package installed, run the following command to migrate the data to Passbolt Pro:
sudo -H -u nginx /bin/bash -c "/usr/share/php/passbolt/bin/cake passbolt migrate"
8. Clear the cache
Make sure you clear the application cache, to make sure any changes in the database structure are reflected in model cache files:
sudo -H -u nginx /bin/bash -c "/usr/share/php/passbolt/bin/cake cache clear_all"
9. Ensure you don’t have duplicate cron jobs
As you are upgrading from CE to Pro you will need to make sure you don’t have duplicate cronjobs.
You can do this by checking /etc/cron.d/
You may see:
/etc/cron.d/passbolt-ce-server
/etc/cron.d/passbolt-pro-server
If this is the case you’ll want to run:
rm /etc/cron.d/passbolt-ce-server
As this will clear out the no longer needed CE job to send emails. If you leave this you may experience receiving duplicate emails.
The other regularly occuring job which you can remove will be under /etc/logrotate.d/
You may see:
/etc/logrotate.d/passbolt-ce-server
/etc/logrotate.d/passbolt-pro-server
If this is the case you'll want to run:
rm /etc/logrotate.d/passbolt-ce-server
This will clean up the no longer needed log rotation job.
10. Bring your site back online
Almost done:
sudo systemctl start nginx
You can also run the following command:
sudo -H -u nginx bash -c "/usr/share/php/passbolt/bin/cake passbolt healthcheck"
If you run into some issues
- Make a copy or screenshot of the errors messages displayed on the screen
- Check for error message in the logs directory
- Check for error message in the browser console
- Checkout the previous working version using git
- Drop the database and load your backup data to restore to a previously working version
- Note down the the details of you environment: your OS, php, mysql environment versions.
Where to get help:
- If you are a Passbolt Pro Edition subscriber send us an email with the details.
- If you are a Passbolt Community Edition user you can open new thread on the community forum.
- The more information you provide about what you did, what you tried, how your environment look like, the easiest it will be for people to help you.