Development of Sympl 12 for Debian 'Bookworm' is in progress

Just a quick notice to mention that the development of Sympl 12 for Debian 12 ‘Bookworm’ has now begun.

There are quite a few issues to resolve before it can be sent to testing with the changes between Bullseye and Bookworm, but no major showstoppers at the moment.

However, with the upgrade to PHP8.2 in Bookworm, and the slow updates for PHP compatibility in a lot of things, I’ve specced out the systems for selectable PHP versions in Sympl on a per-domain basis, which I hope to integrate for launch.

Debian Bookworm is currently due to be released on June 10th, and we’ll be working hard to get Sympl ready for the day, and continue the streak of having Sympl available on the day of release.

4 Likes

That would be great.

This is great news, thanks so much for your work on this.

Tim

Just another ‘thanks’. Great news!

Progress is going fairly well so far - im at the stage where im testing the packages on a normal VM now:

There’s no packages on the Mythic Beasts repo yet (some work is needed to set up the relevant build environment and OS images), but it’s possible to install it semi-manually - send me a private message if you’d like a link to the .deb files to try on a Bookworm machine and help test.

Time for a quick update…

The unstable branch is working as expected, and packages are now available on the normal Mythic Beasts repository, and I’m expecting to push this to a new bookworm-testing branch in the next few days.

Obviously as its ‘unstable’, it’s not really ready for production usage, but if you’d like to help test, you should be able to grab the latest version of the Sympl install script and use that with the --unstable switch to install it on a Debian Bookworm machine.

Time for another update!

The testing branch is live and seems to be working fine - there’s some more automated tests to be added, but its passed once-overs.

Development on sympl-php-configure has started - it’ll be part of the sympl-web package, and currently:

  1. Sets up the repo from deb.sury.org, with automatic updating thanks to sympl-updater.
  2. checks for a config/php file with a valid PHP version in it (based on available PHP versions), and if it finds one:
  • Installs the relevant PHP-FPM version and configures it with normal set of modules.
  • If it doesn’t already exist, creates a suitable FPM pool for it, with a selectable name via config/php-pool.
  • Drops a flag file as config/php-fpm which signifies the site it should be run under FPM.
  • Creates a symlink to the FPM pools socket.
  1. Runs sympl-web-configure which configures the site to use the pool, via the socket symlink.
  2. Cleans up any old pool files, and stops/disables instances of PHP-FPM which aren’t needed any more.

It’s a little brute-force at present and missing quite a few options, and it also needs some expanded functionality for handling php modules gracefully, but this should be able to be extended to support something like config/php-modules where you can list any modules you want to be installed.

So far it looks like it should be fairly easy to back-port this to Sympl 10 and 11, as the changes to the legacy code are fairly minor.

If you have any suggestions for other functionality which you’d consider a must-have, please post on the Selectable PHP options topic!

1 Like

Quick friday lunchtime update:

sympl-php-configure is working nicely - it needs a lot of polish and a bit of work to add the last of the features (.htaccess to .user.ini conversion for php settings) to make it easy to use, but I’m considering it okay for production now. I’ll be writing up documentation for it this weekend.

There are a few other changes across sympl-web, such as hidden files and directories no longer being readable (returning a 403 on any attempt, if its there or not) which helps with situations where you have a git repo in htdocs, or a .user.ini file for PHP, which is a configurable option.

I’ve also fixed a long-standing issue with sympl-backup so if the server runs out of space but has multiple backup sets, it’ll now purge the oldest one automatically, and then backup as normal with the cleared space.

There are a few changes elsewhere, with an update for mail from @alphacabbage1, and a whole new testing routing which will confirm options are working as expected, and I’m seeing if I can add a new mail feature today.

I’ll be pushing the unstable branch to testing later today, and then testing to stable once I have done some manual confirmations, and then I have the job of updating all the documentation, but it’s looking like Sympl Bookworm will be okay for launch this weekend!

2 Likes

Debian Bookworm has been released!

The release candidate for Sympl 12 has been pushed to the testing branch for manual testing and identification/fixing of any last-minute bugs.

This is by far the biggest change in Sympl/Symbiosis since Let’s Encrypt was integrated, and possibly biggest change to it ever - a lot of hours work have gone into developing and testing as well as re-implementing legacy code, but with such a large change the testing may take a little longer than previous versions.

For the current changelog, see: CHANGELOG · bookworm-testing · sympl.io / Sympl · GitLab

Once and documentation of the changes are complete, I’ll push it to the ‘stable’ branch, and make a proper announcement post, but in the meantime if you’d like to try it out and help test, get yourself a server running Bookworm, and run the install script with the --testing flag!

Hi there,

First off I know I did something silly, but hopefully I can get out of it with help.

I updated to Debian 12 and didn’t realise Sympl didn’t have a ready stable version for it yet.

At this point the version on sympl repos for bookworm main seems to be 11. Is there a way to change the sympl_mythic-beasts.list file to get it to update to the sympl testing version?

It’s quite a big deal because, the current situation is neither exim nor dovecot want to accept my auth credentials.

I realise that it’s not ready for production, but downgrading a debian distro is unsupported too so I don’t have a lot of options here.

Thanks for your help.

Hi David, welcome!

There’s no tested upgrade path at the moment, so you might have ended up with an odd state, but you should be okay using the testing branch for now.

You’ll want to update the Sympl file in /etc/apt/sources.list.d and change the distro from bookworm or bullseye (depending on if that was updated already or not) to “bookworm-testing”.

You should then be able to run sympl update and get the updated packages for Bookworm.

You may still have some issues (there’s quite a few changes under the hood with Debian itself), and upgrading hasn’t been tested at all, but it should get you a working system.

Quick update: I’ve pushed the current testing version to stable on the repo just in case anyone has the same problem with a hasty upgrade.

The release has passed all the automated testing so far, although it shouldn’t be considered ‘released’ just yet, it should still update itself when new packages are released.