My mail server hardware failed so the it is currently a
VirtualBox virtual machine accessing the original IDE hard disk.
The original installation is "Red Hat Linux release 9" installed in early 2003, but many components are much more recent. Never the less, the services this server provides need to be migrated to a new server.
The mail server is the primary server for a dozen or so domains, most of which are forwarded on to other POP boxes elsewhere, with a few local domains and a couple of local users.
The mail server is comprised of the following parts:
- MailScanner orchestrating SMTP reception and virus protection
- Sendmail doing the SMTP mail transfers
- f-prot is scanning the mail files and atachments
- procmail is the local mailer
- Dspam is run from .procmailrc to tag SPAM
- MySQL is the storage for Dspam's SPAM signatures
- Dovecot doing allowing IMAP and POP3 access to the mail stores
This is the plan to move the services to another server:
Move MySQL data and reconfigure Dspam to use the other server.
Stop SMTP services on the old server:
# /etc/init.d/MailScanner stop
Dump the Dspam data onto the new server:
$ mysqldump -hHOST -uUSER -pPASS --add-drop-table -B dspam > dspam.sql
Create the Dpsam users in MySQL on the new server:
(Note: needed to use the OLD_PASSWORD() function because the old servers MySQL client libraries are too old.)
mysql> GRANT ALL ON dspam.* TO 'USER'@'localhost' IDENTIFIED BY 'PASS';
mysql> SET PASSWORD FOR 'USER'@'localhost' = OLD_PASSWORD('PASS');
mysql> GRANT ALL ON dspam.* TO 'USER'@'%' IDENTIFIED BY 'PASS';
mysql> SET PASSWORD FOR 'USER'@'%' = OLD_PASSWORD('PASS');
mysql> FLUSH PRIVILEGES;
Import the Dspam data into the new MySQL server:
$ mysql -hlocalhost -uUSER -pPASS < dspam.sql
Configure Dspam on old server to use MySQL on new server:
edit /var/local/dspam/mysql.data and change the first line, the host, to point to the new server.
Start SMTP services on the old server:
# /etc/init.d/MailScanner start