This page is valid only for vmm-0.4/vmm-0.4-r41 and vmm-0.5/vmm-0.5.1. If you are using vmm-0.3.x please upgrade first to vmm-0.4-r41.
It is always wise to back up your database from time to time. Particularly with regard to an impending structure modification.
Example: Backing up the mailsys database with pg_dump.
root@host:~# pg_dump -h localhost -U vmm -W mailsys > mailsys-0.4.sql
Before updating the database you have to stop Postfix and Dovecot.
root@host:~# /etc/init.d/postfix stop
Stopping Postfix Mail Transport Agent: postfix.
root@host:~# /etc/init.d/dovecot stop
Stopping IMAP/POP3 mail server: dovecot.
Connect as your vmm database user to your database.
root@host:~# psql mailsys vmm -W -h localhost
In the PostgreSQL interactive terminal you have to run the following commands to perform the update.
mailsys=> \i /path/to/vmm-0.5.2/update_tables_0.4.x-0.5.pgsql
mailsys=> GRANT SELECT ON postfix_alias TO postfix;
mailsys=> \q
When you are already using Dovecot v1.2.x, you have to perform one or two additional database updates.
mailsys=> \i /path/to/vmm-0.5.2/update_tables_0.5.x_for_dovecot-1.2.x.pgsql
mailsys=> GRANT SELECT ON dovecot_password TO dovecot;
mailsys=> -- If you are using the function dovecotpassword() in the
mailsys=> -- password_query setting of your dovecot-sql.conf update it also:
mailsys=> \i /path/to/vmm-0.5.2/update_types_and_functions_0.5.x_for_dovecot-1.2.x.pgsql
mailsys=> \q
Starting with Dovecot version 1.2.0 the LDA deliver will no longer work, if the binary has the setuid-root bit set and it’s executable for everyone. Independent of the directory permissions, where the deliver binary is located. For this reason you have to adjust the permission of the deliver binary.
root@host:~# chown root:`id -g nobody` /usr/local/lib/dovecot/deliver
root@host:~# chmod u+s,o-rwx /usr/local/lib/dovecot/deliver
In prior setups the service dovecot was configured slightly different. If you have set the command attribute user to nobody:mail, either remove the group mail or replace it with the group nobody or nogroup. The second line of the service dovecot entry should look similar to this:
flags=DORhu user=nobody argv=/usr/local/lib/dovecot/deliver …
After a successfully update start Dovecot and Postfix again.
root@host:~# /etc/init.d/dovecot start
Starting IMAP/POP3 mail server: dovecot.
root@host:~# /etc/init.d/postfix start
Starting Postfix Mail Transport Agent: postfix.
Finally execute the upgrade.sh script to install the new code and update your /usr/local/etc/vmm.cfg.
root@host:~# cd /path/to/vmm-0.5.2
root@host:/path/to/vmm-0.5.2# ./upgrade.sh
Please have a look at your /usr/local/etc/vmm.cfg
and verify the value from option 'postconf' in section 'bin'.
root@host:/path/to/vmm-0.5.2#
When you have already installed vmm-0.5 or vmm-0.5.1 only a single step is necessary to update your vmm installation. cd in the source directory and execute the upgrade.sh script. That’s it.
root@host:~# cd /path/to/vmm-0.5.2
root@host:/path/to/vmm-0.5.2# ./upgrade.sh
root@host:/path/to/vmm-0.5.2#
When you are already using Dovecot ≧ v1.2.0, you should also respect following points: