Trying to update our Community edition in Ubuntu

Checklist
I have read intro post: https://community.passbolt.com/t/about-the-installation-issues-category/12
I have read the tutorials, help and searched for similar issues
I provide relevant information about my server (component names and versions, etc.)
I provide a copy of my logs and healthcheck
I describe the steps I have taken to trouble shoot the problem
I describe the steps on how to reproduce the issue

Trying to update and I am getting this error:

E: Unable to correct problems, you have held broken packages.

I am currently on version 4.10.1 of the CE version.

Thanks,

Still having this issue, not sure what’s going on!?

Hey,

This looks like potentially a php version issue. In this particular case it might be worth changing the update process slightly. Here I’d try first doing a sudo apt --only-upgrade install on the database instead of passbolt, then do a standard sudo apt upgrade to update passbolt and the dependencies.

I don’t know what you mean by " sudo apt --only-upgrade install on the database instead of passbolt, then do a standard sudo apt upgrade to update passbolt and the dependencies."

Does this mean I just run the sudo apt --only-upgrade install without the passbolt-ce-server command, and then run the sudo apt upgrade?

Thanks,

Hi, it seems you are running Ubuntu Jammy who is running PHP 8.1 as default.

Ubuntu Jammy 22.04 is quite old, you should consider to upgrade the operating system to a more recent release.

I cannot actually upgrade to 24.04 until I update Passbolt.

image

Thanks

When I do apt --only-upgrade install I get this message:
image

When I do sudo apt update I get:

After I reboot and do the update again (sudo apt update) on Ubuntu 22.04 I get:

When I do sudo apt --only-upgrade install passbolt-ce-server I get:

And if you look in my other posts here when I try to upgrade Ubuntu 22.04 to 24.04 it won’t let me until I upgrade Passbolt. (catch 22)

Please advise @clayton !

Thanks,

Hey!

With the sudo apt --only-upgrade install I left it without the database on the end because I am not sure what you are using for your database, but the intent was you would fill it in with the package name of your database, so something like sudo apt --only-upgrade install mariadb-server

As @AnatomicJC pointed out this is likely a php version issue and Jammy is a bit old here. Could you run php -v just to confirm the version you have there?

@clayton Sorry do you mean the dbname? I would be using whatever your installer setup when I did the initial installation which is I think mysql?

I am running PHP 8.1.2
image

Thanks,

@clayton

I tried a few things which broke the apache.service, but I was able to update the PHP to 8.2 manually which allow me to run the upgrade passbole-ce-server and it did a bunch of things, I see you have PHP 8.4 now, near the end something broke the Apache and upon reboot I could see some error after the PHP8.1 service saying something about performance.

Luckly I had a previous copy of Passbolt saved on another Hyper-V server so I can restore last weeks backup. So, there was no harm done in hacking it to see if I could get it patched. :slight_smile:

Still though I need to upgrade PHP to 8.2 properly through you guys so that the upgrade of passbolt doesn’t break.

Thanks,

I was more meaning the package name, I wasn’t sure if you were using mariadb, mysql, or postgres so didn’t want to suggest the wrong one in the command.

It seems like we can confirm it is a php version issue though based on what you said. One potential route is to migrate to a new server which is already on Ubuntu 24.04. Those instructions will need some modification since it assumes Nginx instead of Apache.

For just upgrading php from 8.1 to 8.2 I do know of a couple spots where on Nginx you’d need to make some changes. In the nginx config there is a line like fastcgi_pass unix:/run/php/php8.2-fpm.sockbut it would have 8.1 before the update and it would need a manual change to 8.2. There is a decent chance that there are a couple config files for Apache with similar which could explain why the upgrade caused some issues

@clayton

I would have used whatever you would install normally with your software, I am not a *nix guy buy nature and would just have gone with the flow and not do anything wacky or crazy as far as installing and configuring Passbolt initially. If it’s using Apache now that’s likely because your instructions for Ubuntu 22.04 suggested I use Apache.

Would be nice to know if there is a config file somewhere that could tell us what was setup initially.

Thanks,

Most likely it was the instructions on a 3rd party website and not the official guide that’s why. We never published instructions on how to install with Apache, except maybe with version 1.x which didn’t have packages.

@remy

I am a Windows engineer; I don’t use 3rd party websites to install vendor applications on servers as they are not reliable. All I recall is installing Passbolt in 2022 or 2023 and doing some updates once in a while and where we are today. Once things are up and running, I walk away.

Thanks,

At that time the instructions we provided on the help site were for nginx. So if you have apache from that time it wouldn’t have been our instructions but a 3rd party like Remy mentioned. Could you double check to be sure which you are using?

If it is nginx then that would be our standard method for installing. In which case that migration guide I shared earlier would be the easiest option for you to get to the latest version and you wouldn’t have to make adjustments for apache

@clayton

how do I check that?

I can guarantee you that we are promoting nginx since the creation of the linux packages (2020)
what @clayton is explaining here is that you most likely having a race condition where the database is updating at the same time as the passbolt package and since passbolt needs to access the database in order to work it breaks.
Now apache is NOT part of the package only nginx, so here you have an hybrid setup.
What I would recommend if you can access your database is to:

  • get a backup of your data from the database
  • backup the GPG key of the server located inside /etc/passbolt/gpg
  • backup the passbolt.php that contains the credential of your database, fingerprint of the gpg keys, etc.

Then you can use the following guide to setup passbolt with your backup data on a new Ubuntu 24.04 server: https://www.passbolt.com/docs/hosting/migrate/server/ce/ubuntu/ like @clayton already shared

Best