Here is everything I did to upgrade debian 12 to 13 and to the latest grommunio using community sources:
1) update to the newest version within Debian 12 for both OS and grommunio
2) change bookworm for trixie in sources (I disabled grommunio sources during the update - not sure if this was a good idea)
nano /etc/apt/sources.list
nano /etc/apt/sources.list.d/*
apt clean all; apt update
3) stop all services and upgrade:
systemctl disable gromox-event gromox-http gromox-imap gromox-midb gromox-timer gromox-zcore redis@grommunio postfix@- saslauthd opendkim nginx mariadb grommunio-admin-api gromox-delivery-queue gromox-delivery php8.2-fpm cron
systemctl stop gromox-event gromox-http gromox-imap gromox-midb gromox-timer gromox-zcore redis@grommunio postfix@- saslauthd opendkim nginx mariadb grommunio-admin-api gromox-delivery-queue gromox-delivery php8.2-fpm cron
apt upgrade --without-new-pkgs
apt full-upgrade
apt autoremove
systemctl reboot
4) reenable grommunio sources, update and repair grommunio installation
nano /etc/apt/sources.list.d/grommunio.sources => changed from 12 to 13 and re-enabled the sources
apt update; apt upgrade
Serveral Grommunio Pakages were missing:
apt install nginx-module-vts gromox grommunio-web grommunio-admin-web grommunio-sync grommunio-dav
apt modernize-sources
systemctl enable gromox-event gromox-http gromox-imap gromox-midb gromox-timer gromox-zcore redis@grommunio postfix@- saslauthd opendkim nginx mariadb grommunio-admin-api gromox-delivery-queue gromox-delivery php8.4-fpm cron
systemctl reboot
5) fix various problems:
Postfix: I was previously using postfix@-.service, now Debian 13 seems to want it to be postfix.service
systemctl disable --now postfix@-.service
systemctl mask postfix@-.service
saslauthd
errors:
saslauthd.service: Can't open PID file '/run/saslauthd/saslauthd.pid' (yet?) after start
saslauthd.service: start operation timed out. Terminating.
=> chroot trouble with postfix, fixed with the following changes:
mkdir -p /run/saslauthd
chown root:sasl /run/saslauthd
chmod 710 /run/saslauthd
=> now the bind mount will succeed
mount --bind /run/saslauthd /var/spool/postfix/run/saslauthd
echo 'd /run/saslauthd 0710 root sasl -' > /etc/tmpfiles.d/saslauthd.conf
echo '/run/saslauthd /var/spool/postfix/run/saslauthd none bind 0 0' >> /etc/fstab
sed -i 's|-m /var/spool/postfix/var/run/saslauthd|-m /run/saslauthd|' /etc/default/saslauthd
nano /etc/postfix/sasl/smtpd.conf
added line "saslauthd_path: /run/saslauthd/mux"
nginx does not start, port 80 in use. Why? Now apache is installed!
apt purge libapache2-mod-php8.4 apache2 apache2-bin apache2-data apache2-utils
apt autoremove --purge
AI recommendation to avoid installing apache2 (not yet tested)
nano /etc/apt/preferences.d/no-apache
Package: apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php8.4
Pin: release *
Pin-Priority: -1
This blocks installation entirely; apt will instead either skip the offending recommend or ask you to resolve the conflict manually, letting you choose php-fpm-only alternatives.
Check old config files and update accordingly:
find /etc -iname ".dpkg-"; find /etc -iname "ucf-"
Unable to log into grommunio admin panel:
python3 -c "import legacycrypt"
python3 -c "import crypt"
⇒ both missing!
apt install python3-legacycrypt
admin api works again
Admin API still shows php8.2 fpm module instead of 8.4
you can add services in
/etc/grommunio-admin-api/conf.d/services.yaml
but you cannot remove services in the dashboard this can only be done in
/usr/share/grommunio-admin-api/config.yaml
my (additional) configured non-grommunio webpages did not have php working:
nano /etc/nginx/sites-enabled/*.conf
change php-fpm from 8.2 to 8.4