Upgrade Passbolt from CE to Pro on Debian
Pre-requisites
For this tutorial, you will need:
- A minimal Debian server.
- Passbolt CE Debian package installed.
Upgrading passbolt
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 passbolt
First things first, as this is a sensitive operation a backup of the instance must be performed to prevent any data loss. You can follow our backup process.
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:www-data /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 apt-get remove passbolt-ce-server
5. Update 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 apt-get install passbolt-pro-server
As you have already configured passbolt CE, and passbolt Pro relies on the same configuration, you should reply:
- No for mariadb configuration
- No to nginx configuration
7. Migrate the data
Once the package installed, run the following command to migrate the data to passbolt Pro:
sudo -H -u www-data /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 www-data 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
Finally take passbolt back up:
sudo systemctl start nginx
Last updated
This article was last updated on November 2nd, 2021.