From bedea19fc062fa34fc1f12c10ce8e00658f56e3a Mon Sep 17 00:00:00 2001 From: Christoph Haas Date: Sun, 2 Nov 2025 19:43:36 +0100 Subject: [PATCH 1/4] filenames fixed --- src/content/docs/ispmail-trixie/320-catchall.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/content/docs/ispmail-trixie/320-catchall.mdx b/src/content/docs/ispmail-trixie/320-catchall.mdx index b5649e3..1866912 100644 --- a/src/content/docs/ispmail-trixie/320-catchall.mdx +++ b/src/content/docs/ispmail-trixie/320-catchall.mdx @@ -52,7 +52,7 @@ that. For that “john-to-himself” mapping you need to create another “.cf ```sh title="Run this on your server" # Create the john-to-himself mapping -cat > /etc/postfix/mysql-email2email.cf << EOF +cat > /etc/postfix/mariadb-email2email.cf << EOF user = mailserver password = MAILSERVER-PASSWORD-HERE hosts = 127.0.0.1 @@ -61,18 +61,18 @@ query = SELECT email FROM virtual_users WHERE email='%s' EOF # Fix the permissions of that file -chgrp postfix /etc/postfix/mysql-*.cf -chmod u=rw,g=r,o= /etc/postfix/mysql-*.cf +chgrp postfix /etc/postfix/mariadb-*.cf +chmod u=rw,g=r,o= /etc/postfix/mariadb-*.cf # Add the new mapping to the virtual_alias_maps # (The order is not important. Postfix will check all mapping files.) -postconf virtual_alias_maps=mysql:/etc/postfix/mysql-virtual-alias-maps.cf,mysql:/etc/postfix/mysql-email2email.cf +postconf virtual_alias_maps=mysql:/etc/postfix/mariadb-virtual-alias-maps.cf,mysql:/etc/postfix/mariadb-email2email.cf ``` Check that you get John’s email address back when you ask Postfix if there are any aliases for him: ```sh title="Run this on your server" -postmap -q john@example.org mysql:/etc/postfix/mysql-email2email.cf +postmap -q john@example.org mysql:/etc/postfix/mariadb-email2email.cf ``` The result should be the same address: From 96c00a065049077ecc83bb5018c72adce77cbded Mon Sep 17 00:00:00 2001 From: Christoph Haas Date: Sun, 2 Nov 2025 21:20:55 +0100 Subject: [PATCH 2/4] rewording --- src/components/Banner.astro | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/Banner.astro b/src/components/Banner.astro index 21f2314..e065214 100644 --- a/src/components/Banner.astro +++ b/src/components/Banner.astro @@ -26,7 +26,8 @@ const isBookworm = Astro.url.pathname.startsWith("/ispmail-bookworm/"); { isBookworm && (
- ⚠️ This section is outdated. Please use the guide for Debian Trixie. + ⚠️ This page is part of the ISPmail guide for Debian Bookworm. Please use the newer guide for{" "} + Debian Trixie.
) } From 935bbd2a6fc7e148a591326cf6e26e2e8ade2dfa Mon Sep 17 00:00:00 2001 From: Christoph Haas Date: Sun, 2 Nov 2025 21:21:06 +0100 Subject: [PATCH 3/4] typos --- src/content/docs/ispmail-trixie/110-upgrading.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/content/docs/ispmail-trixie/110-upgrading.mdx b/src/content/docs/ispmail-trixie/110-upgrading.mdx index 037f782..ac4d7d1 100644 --- a/src/content/docs/ispmail-trixie/110-upgrading.mdx +++ b/src/content/docs/ispmail-trixie/110-upgrading.mdx @@ -65,7 +65,7 @@ You need to copy the database that contains the control data about your email do (Bookworm) server as root and back up the *mailserver* database. That is as easy as running… ``` -mysqldump mailserver > mailserver.sql +mariadb-dump mailserver > mailserver.sql ``` Copy that file to the new server (using *scp*) and import it there: @@ -83,7 +83,7 @@ If your users are using Roundcube as a webmail interface then you should migrate Dump the SQL from the old server: ``` -mysqldump roundcube > roundcube.sql +mariadb-dump roundcube > roundcube.sql ``` Copy that file to the new server and import it: @@ -109,7 +109,7 @@ Details are found in the rspamd chapter. (**Hot** means: copy the files why they are still in use and potentially change while you do that.) Fortunately Dovecot uses the maildir format that stores emails as plain files on disk. Login to the new (Trixie) server and use *rsync* to -copy over the mails from the old (Bullseye) mail server: +copy over the mails from the old (Bookworm) mail server: ``` rsync -va oldserver:/var/vmail/ /var/vmail/ @@ -117,7 +117,7 @@ rsync -va oldserver:/var/vmail/ /var/vmail/ (Note the trailing slashes. Type them exactly as shown above or your files will end up in wrong places.) -There is no need to shut down Dovecot on your production Bullseye server. Copying the files while Dovecot is running +There is no need to shut down Dovecot on your production Bookworm server. Copying the files while Dovecot is running will not break anything. This is called a “hot copy". It may not be consistent but it will save time during the final synchronization. From 370e684f06b3c2425b431e536a0229ce57cea5ac Mon Sep 17 00:00:00 2001 From: Christoph Haas Date: Mon, 3 Nov 2025 09:03:19 +0100 Subject: [PATCH 4/4] add info on redis --- .../docs/ispmail-trixie/110-upgrading.mdx | 27 ++++++++++++++++--- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/src/content/docs/ispmail-trixie/110-upgrading.mdx b/src/content/docs/ispmail-trixie/110-upgrading.mdx index ac4d7d1..03cd3ce 100644 --- a/src/content/docs/ispmail-trixie/110-upgrading.mdx +++ b/src/content/docs/ispmail-trixie/110-upgrading.mdx @@ -103,7 +103,15 @@ UPDATE users SET mail_host='new.mail.server'; ## Migrate rspamd spam training data If you have been using rspamd with the Redis backend then copy over the Redis database from your previous server. -Details are found in the rspamd chapter. + +Stop rspamd on both the old and the new server. Then: + +```sh +rsync -va oldserver:/var/lib/redis/ /var/lib/redis/ +``` + +Once the redis database is started again on the new server, `rspamc stat` should show you that the training data is +found. ## Migrate the Maildirs hot @@ -129,9 +137,10 @@ need to copy emails from another server where you only have IMAP access but cann Copy over everything in /etc/letsencrypt and /var/lib/rspamd/dkim from your old to the new server. -``` -rsync -va oldserver:/etc/letsencrypt/ /etc/letsencrypt/ +```sh +rsync -va oldserver:/etc/letsencrypt/archive/ /etc/letsencrypt/archive/ rsync -va oldserver:/var/lib/rspamd/dkim/ /var/lib/rspamd/dkim/ +rsync -v oldserver:/etc/rspamd/dkim_selectors.map /etc/rspamd ``` ## Downtime @@ -144,7 +153,7 @@ You told your users about the downtime, right? The time has come? Okay. Shut dow copied consistently.) Let’s synchronize again. *rsync* will only copy those files that have changed which makes it much faster than the first sync. On your new server run: -``` +```sh rsync -va --delete oldserver:/var/vmail/ /var/vmail/ ``` @@ -177,3 +186,13 @@ postconf soft_bounce=no ## Shut down the old server If possible do a final backup of the old server. If users are not complaining then dismiss the old system after a week. + +## Unsolved issues + +You may see error messages like: + +``` +Error: sieve: binary /var/vmail/example.org/user/.dovecot.svbin: read: binary stored with different major version 2.0 (!= 3.0; automatically fixed when re-compiled) +``` + +You may need to run `sievec` on those files.