Sympl 12 for Debian 'bookworm' is now available, with new features!

On Saturday, Debian released Debian 12 ‘bookworm’ to the public as stable… which means that after many many hours of work over the last month, especially over the last few weeks, we can announce that Sympl 12 is now available!

This version includes the largest change in Sympl so far, adding full support for selectable PHP versions and configurations coming from the well-regarded deb.sury.org third-party repository, and allows you to swap to a new version of PHP just by changing a single file. This is functionality which I’ve been wanting to add to Sympl since forking it, but with the shift with more things to requiring a specific version of PHP (rather than being okay with the security issues being back-ported), it became clear it was going to be required going forward to ensure Sympl remains competitive.

(Technical bit for those interested: by default, sites will share the same PHP-FPM pools, but you can easily separate or group sites and still make configuration changes and adjustments as needed without worrying too much about configuring PHP.)

Documentation for the new functionality is on the wiki now, and we plan to back-port this new functionality to previous Sympl versions in the near future, but for now the functionality is limited to Sympl 12.

The full list of changes includes:

  • sympl-core
    • Include git package as as dependency for future functionality and ease of use.
    • The ssl-provider setting is reset on the default domain if it was changed to ‘selfsigned’ when installing, meaning new installs on valid hostnames will get a Let’s Encrypt certificate automatically.
    • Added basic usage reporting to track how much each feature is used - the data is reported anoymously, but you can create the file /etc/sympl/disable-usage-reporting to disable it.
  • sympl-web
    • Added sympl-php-configure, allowing fine-grained control over PHP configurations
    • sympl-php-configure runs hourly, and then runs sympl-web-configure
    • sympl-web-configure no longer runs hourly itself, but can still be run manually
    • New config files: php, php-pool, php-modules, php-user and php-group. Check the wiki for their usage.
    • We automatically generate .user.ini files from the entries in .htaccess where needed, making the switch between versions easy.
    • Changes can be made to the PHP Pool configuration with includes, and if PHP-FPM reports a problem with them, they will not be included!
    • We now default to blocking all hidden files and directories on a site, but theres a new allow-hidden switch to allow them via the web if needed.
    • There has been a significant update for Apache template files to support selectable PHP.
  • sympl-backup
    • We now automatically purge the oldest backup set if you are out of space and you have multiple sets, rather than just emailing the root user. You can still run out of space though!
    • We also now automatically remove orphaned database dumps in /var/backups/mysql which are older than 90 days, rather than keeping them around indefinitely.
  • sympl-mail
    • Big thanks to @alphacabbage1 for his contributed configuration update for Exim which makes it a fair bit tidier!

I’d have liked to have released this in line with Debian as with the last few releases, however with the significant changes under the hood, it took a while for everything to line up just right and ready for it to be considered ready for production.

As always, we’d suggest using Mythic Beasts who support the project closely, as the Sympl 12 image is available there and they can provide direct email support and can even manage the server for you. Also, if you’re looking to test quickly, or generally have a play around with the new features, you can even start an on-demand VM so you’re only paying for the seconds it’s running.

Note that upgrading from previous versions of Sympl has not yet been tested, so is not supported at present, but an upgrade guide will be coming in the near future.

As always, if you have any questions on this release, don’t hesitate to post here, or if you run into any issues, post on the support forums or email Mythic Beasts if your server is running there!

What are the possible issues with upgrades from Sympl 11?

I have tried upgrading one little-used server from Bullseye/11 to Bookworm/12 with no apparent problems, but it’d be nice to upgrade my main server at some point.

Not knowing what issues to look out for means it’s hard to know whether or not to take the plunge.

1 Like

At the moment, upgrading hasn’t been tested at all - I’d like to ensure that the Sympl packages for 10 and 11 (and also 12) uninstall cleanly before that, at which point it should just be a case of doing a normal dist-upgrade of Debian and Sympl at the same time.

At the moment, if you really had to upgrade, the safest path would be:

  1. Make a backup
  2. apt uninstall sympl-*
  3. Do a normal Debian dist-upgrade to Bookworm
  4. Reboot
  5. Install Sympl again via the install script

You may still run into odd issues if bits of old config are left over however - for now, waiting a few weeks for upgrading to be tested is probably the best option.

1 Like

Any further news on the feasibility of upgrading all at once from 11 to 12 safely?
I host about 100 domains and don’t want to break anything that can’t be fixed within a day or at most a weekend. I did the 10-11 upgrade by starting up a new server and transferring domains and sites one at a time, but it was a lot of work.

I’ve done the upgrade and working through a few things with @Kelduum via the Mythic Beasts support.

It’s mostly gone ok, though there’s been a few bits to fix like php version, monit for MySQL, and catering for multiple upgrades of Sympl where things have been left over.

The wiki’s recently been updated for the 11 - 12 upgrade so I’ll be going in soonish. I’ll report back if it ends in tears or tweaks…

I’ve spent a good few days (and a frankly silly number of re-images of VMs) making sure the process works and is as smooth as possible, but do let me know if you run into any issues!