Migrate

From QmailToaster
Revision as of 20:49, 29 March 2024 by Ebroch (talk | contribs)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
On destination host
Install Rocky 8 or 9
qmailctl stop && systemctl stop dovecot
On source host Source host most likely EL7
# dhost=192.168.1.3 Change IP address for your needs
# ssh-keygen
# ssh-copy-id $dhost
# ssh $dhost
First rsync email db # rsync --progress -zv -are ssh /home/vpopmail/domains/ root@$dhost:/home/vpopmail/domains
Stop services for 2nd rsync # qmailctl stop && systemctl stop dovecot
Second rsync subsequent changes to email db # rsync --progress -zv -are ssh /home/vpopmail/domains/ root@$dhost:/home/vpopmail/domains
Bring over the rest of the data # rsync --progress -zv -are ssh /var/qmail/control/ root@$dhost:/var/qmail/control # rsync --progress -zv -are ssh /var/qmail/users/ root@$dhost:/var/qmail/users # rsync --progress -zv -are ssh /etc/tcprules.d/ root@$dhost:/etc/tcprules.d # rsync --progress -zv -are ssh /usr/share/toaster/include/admin.pass root@$dhost:/usr/share/toaster/include # rsync --progress -zv -are ssh /usr/share/toaster/include/admin.htpasswd root@$dhost:/usr/share/toaster/include # [ ! -d /etc/mail/spamassassin ] && sqadj= || sqadj=mail/ # rsync --progress -zv -are ssh /etc/${sqadj}spamassassin/.spamassassin/ root@$dhost:/etc/mail/spamassassin/.spamassassin # rsync --progress -zv -are ssh /etc/${sqadj}spamassassin/*.cf root@$dhost:/etc/mail/spamassassin # rsync --progress -zv -are ssh /usr/share/squirrelmail/plugins/ root@$dhost:/usr/share/squirrelmail/plugins # rsync --progress -zv -are ssh /var/lib/squirrelmail/prefs/ root@$dhost:/var/lib/squirrelmail/prefs
Dovecot files are not necessary for EL 8/9 they are only for reference # rsync --progress -zv -are ssh /etc/dovecot/toaster.conf root@$dhost:/etc/dovecot # rsync --progress -zv -are ssh /etc/dovecot/local.conf root@$dhost:/etc/dovecot
Bring over MySQL DBs # mysqldump -u root -p dspam > dspam.sql # mysqldump -u root -p spamassassin > spamassassin.sql # mysqldump -u root -p roundcube > roundcube.sql # mysqldump -u root -p vpopmail > vpopmail.sql # scp *.sql root@$dhost:/root
On destination host Create credentials # credfile=~/sql.cnf # echo -e "[client]\nuser=root\npassword=mysqlpass\nhost=localhost" > $credfile Edit credentials file and update password setting Load vpopmail # mysql --defaults-extra-file=$credfile vpopmail < vpopmail.sql Load DSpam # mysqladmin --defaults-extra-file=$credfile create dspam # mysql --defaults-extra-file=$credfile -e "CREATE USER dspam@localhost IDENTIFIED BY 'p4ssw3rd'" # mysql --defaults-extra-file=$credfile -e "GRANT ALL PRIVILEGES ON dspam.* TO dspam@localhost" # mysql --defaults-extra-file=$credfile dspam < dspamdb.sql Load Roundcube # mysql --defaults-extra-file=$credfile -e "create database roundcube character set utf8 collate utf8_bin" # mysql --defaults-extra-file=$credfile -e "CREATE USER roundcube@localhost IDENTIFIED BY 'p4ssw3rd'" # mysql --defaults-extra-file=$credfile -e "GRANT ALL PRIVILEGES ON roundcube.* TO roundcube@localhost" # mysql --defaults-extra-file=$credfile roundcube < roundcube.sql Load Spamassassin # mysqladmin --defaults-extra-file=$credfile create spamassassin # mysql --defaults-extra-file=$credfile -e "CREATE USER spamassassin@localhost IDENTIFIED BY 'p4ssw3rd'" # mysql --defaults-extra-file=$credfile -e "GRANT ALL PRIVILEGES ON spamassassin.* TO spamassassin@localhost" # mysql --defaults-extra-file=$credfile spamassassin < spamassassin.sql # qmailctl cdb && qmailctl start && sleep 2s && systemctl start dovecot && toaststat
Questions, comments, suggestions, corrections...contact Eric on the QMT list