Documentation

Server 3.x

Upgrade Debian 12 to Debian 13#

This document will describe step-by-step how to update your eduVPN / Let’s Connect! 3.x server from Debian 12 to Debian 13.

Official Debian release upgrade instructions can be found here. You SHOULD review them carefully.

If you have the opportunity, you SHOULD make a snapshot of your system, e.g. through your VM platform so you can rollback immediately if the upgrade doesn’t work.

Step by Step#

On a typical system, the below instructions will upgrade your server without having to read through the release upgrade instructions linked above. Please look at every line and make sure you understand it. This ONLY works for systems that were installed with deploy_debian.sh and are fairly standard clean Debian installations. If your organization (heavily) modifies standard Debian you MAY run into trouble! You have been warned! :-)

Preparation#

First, make sure your Debian 12 system is fully up to date, changes applied and freshly rebooted:

$ sudo vpn-maint-update-system
$ sudo vpn-maint-apply-changes
$ sudo reboot

Make sure everything (portal, apps, connecting to VPN) still works as expected after this reboot before continuing.

Repositories#

The Debian Upgrade Instructions for trixie now recommends that you use the deb822-style format for the repository configuration. You are free to follow those instructions. For new deployments of the VPN server we also use that format now. You can check out the instructions on the Production Package Repositories page for how to switch the VPN server packages repository to this format and do that if you want.

Upgrade#

The below commands SHOULD be enough to fully upgrade your system. You however, MAY want to update your Debian package repository to the deb822-style format as well, look here.

However, the following SHOULD work as-is:

# change to trixie "Suite" for all repository configurations that mention 
# "bookworm"
$ sudo find /etc/apt \
    -type f \
    -name '*.list' \
    -exec sed -i 's/bookworm/trixie/g' {} +

$ sudo find /etc/apt \
    -type f \
    -name '*.sources' \
    -exec sed -i 's/bookworm/trixie/g' {} +

# perform update/upgrade
$ sudo apt update
$ sudo apt full-upgrade

# enable php-fpm 8.4 (upgrade from 8.2 in Debian 12)
$ sudo a2enconf php8.4-fpm

NOTE: there currently is a problem in which the apt full-upgrade removes vpn-user-portal. This is obviously wrong, but we have been unable to figure out the exact cause. Fortunately it is easy to fix this issue by installing the vpn-user-portal package again after the apt full-upgrade completes:

$ sudo apt install vpn-user-portal
$ sudo a2enconf vpn-user-portal

In case you also installed the “artwork” packages, i.e. vpn-portal-artwork-eduvpn or vpn-portal-artwork-lc you need to reinstall those as well.

The PHP upgrade “lost” the PHP tuning we did for version 8.2. You can copy the 8.2 version to 8.4:

$ sudo cp /etc/php/8.2/fpm/pool.d/www_vpn.conf /etc/php/8.4/fpm/pool.d/www_vpn.conf

Better yet, read our PHP Tuning documentation on optimize the settings for your system.

Now, reboot your system. Then you can continue to perform some additional cleanup steps:

$ sudo apt autoremove
$ apt list "~o"
$ sudo apt purge "~o"
$ apt list "~c"
$ sudo apt purge "~c"

To make sure you are running with the latest configuration applied, run this:

$ sudo vpn-maint-apply-changes

After this is complete, you can reboot again. Make sure all comes back as expected and your portal and VPN still works.