If an alias has multiple destinations, multiple records exist, due to
the nature of the database. address_list would then return the same
alias multiple times, which does not add any information, eats screen
space and is potentially confusing.
Therefore, we SELECT DISTINCTly from the alias table.
Signed-off-by: martin f. krafft <madduck@debian.org>
---
VirtualMailManager/common.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
======================
Upgrading to vmm 0.5.x
======================
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 <https://sourceforge.net/projects/vmm/files/vmm/0.4-r41>`_.
Upgrading from vmm-0.4.x
------------------------
Database backup
^^^^^^^^^^^^^^^
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_.
.. code-block:: console
root@host:~# pg_dump -h localhost -U vmm -W mailsys > mailsys-0.4.sql
Stopping Postfix and Dovecot
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Before updating the database you have to stop Postfix and Dovecot.
.. code-block:: console
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.
Database update
^^^^^^^^^^^^^^^
Connect as your `vmm` database user to your database.
.. code-block:: console
root@host:~# psql mailsys vmm -W -h localhost
In the PostgreSQL interactive terminal you have to run the following
commands to perform the update.
.. code-block:: postgresql-console
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
.. _database-update-for-dovecot-v1-2-x:
Database update for Dovecot v1.2.x
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
When you are already using Dovecot v1.2.x, you have to perform one or two
**additional** database updates.
.. code-block:: postgresql-console
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 up date it also:
mailsys=> \i /path/to/vmm-0.5.2/update_types_and_funct ions_0.5.x_for_dovecot-1.2.x.pgsql
mailsys=> \q
.. _adjusting-permissions-of-the-setuid-root-deliver-copy:
Adjusting permissions of the setuid root deliver copy
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
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.
.. code-block:: console
root@host:~# chown root:`id -g nobody` /usr/local/lib/dovecot/deliver
root@host:~# chmod u+s,o-rwx /usr/local/lib/dovecot/deliver
.. _check-update-postfix-master-cf:
Check/update Postfix' master.cf
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
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 …
Start Dovecot and Postfix again
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
After a successfully update start Dovecot and Postfix again.
.. code-block:: console
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.
Upgrade vmm
^^^^^^^^^^^
Finally execute the ``upgrade.sh`` script to install the new code and
update your ``/usr/local/etc/vmm.cfg``.
.. code-block:: console
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#
Upgrading from vmm-0.5.x
------------------------
Upgrade vmm
^^^^^^^^^^^
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.
.. code-block:: console
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:
‣ :ref:`database-update-for-dovecot-v1-2-x`
‣ :ref:`adjusting-permissions-of-the-setuid-root-deliver-copy`
‣ :ref:`check-update-postfix-master-cf`
.. include:: ../ext_references.rst