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
andphp-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!