doc/web/source/upgrade/0.5-0.6.rst
changeset 760 b678a1c43027
parent 748 659c4476c57c
child 761 e4e656f19771
--- a/doc/web/source/upgrade/0.5-0.6.rst	Mon Mar 24 19:22:04 2014 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,210 +0,0 @@
-======================
-Upgrading to vmm 0.6.x
-======================
-This document describes the procedure to upgrade a vmm-0.5.2 installation
-to version 0.6.x
-
-If you still have installed vmm-0.4/vmm-0.4-r41 you have to proceed this
-step first:
-
- ‣ :doc:`0.4.x-0.5`
-
-Upgrading from vmm-0.5.2
-------------------------
-
-Stop Postfix and Dovecot
-^^^^^^^^^^^^^^^^^^^^^^^^
-Before updating your database layout 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.
-
-Create a 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
-
- user@host:~$ pg_dump -h localhost -U vmm -W mailsys > mailsys-0.5.2.sql
-
-Database update
-^^^^^^^^^^^^^^^
-Connect as your `vmm` database user to your database.
-
-.. code-block:: console
-
- user@host:~$ psql mailsys vmm -W -h localhost
-
-In the PostgreSQL interactive terminal you have to run one of the following
-commands to perform the update.
-
-Dovecot v1.2.x/v2.0.x/v2.1.x
-""""""""""""""""""""""""""""
-.. code-block:: postgresql-console
-
- mailsys=> \i /path/to/vmm-0.6.2/pgsql/update_tables_0.5.x-0.6-dovecot-1.2.x.pgsql
- mailsys=> \q
-
-Dovecot v1.0.x/v1.1.x
-"""""""""""""""""""""
-.. code-block:: postgresql-console
-
- mailsys=> \i /path/to/vmm-0.6.2/pgsql/update_tables_0.5.x-0.6.pgsql
- mailsys=> \q
-
-.. _set-database-permissions:
-
-Set database permissions
-^^^^^^^^^^^^^^^^^^^^^^^^
-.. include:: ../pgsql_set_permissionspermissions.rst
-
-Start Dovecot and Postfix again
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. warning:: All the views (*dovecot_…* and *postfix_…*) have been
-   replaced by database functions.
-   So you have to adjust all your ``postfix/pgsql-*.cf`` files and also your
-   ``/etc/dovecot/dovecot-sql.conf`` or ``/etc/dovecot/dovecot-sql.conf.ext``.
-
-   See the `vmm-0.6.2/postfix/pgsql-*.cf` files and
-   :ref:`Dovecot configuration <dovecot-sql-conf-ext>`/`dovecot-sql.conf.ext`
-   or :ref:`Dovecot configuration <dovecot-sql-conf>`/`dovecot-sql-conf`.
-
-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 :file:`upgrade.sh` script.
-This will install the new code and also update your :file:`vmm.cfg`.
-
-.. code-block:: console
-
- root@host:~# cd /path/to/vmm-0.6.2
- root@host:/path/to/vmm-0.6.2# ./upgrade.sh
- Please have a look at your configuration: /usr/local/etc/vmm.cfg
- This are your Modified/Renamed/New settings:
- R   account.delete_directory = false
- R   account.directory_mode = 448
- R   account.disk_usage = false
- R   domain.delete_directory = false
- R   domain.directory_mode = 504
- R   domain.force_deletion = false
- R   domain.imap = true
- R   domain.pop3 = true
- R   domain.sieve = true
- R   domain.smtp = true
- R   domain.transport = dovecot:
- R   mailbox.folders = Drafts:Sent:Templates:Trash
- R   mailbox.root = Maildir
- R   misc.base_directory = /srv/mail
- M   misc.dovecot_version = 2.1.7
- R   misc.dovecot_version = 2.1.7
- R   misc.password_scheme = PLAIN
-
- Removed section "config" with option "done" (obsolte)
-
- Removed option "gid_mail" from section "misc" (obsolte)
-
-
-Upgrading from vmm-0.6.0
-------------------------
-
-Database fixes
-^^^^^^^^^^^^^^
-Due to an error in :ref:`usertransport`'s argument parsing, it is possible
-that some users' transport-ID points to the erroneous transport *domain*.
-To fix that error in your database, execute the following SQL statement:
-
-.. code-block:: psql
-
- UPDATE users SET tid = NULL
-  WHERE tid = (SELECT tid FROM transport WHERE transport = 'domain');
-
-If you are using Dovecot < v.1.2.0, you have to replace the database
-function *dovecotpassword()*.
-The *service_set.ssid* was selected unconditionally.
-This may cause an empty result, which will make logins impossible.
-To replace the function execute the following SQL statement:
-
-.. code-block:: psql
-
- CREATE OR REPLACE FUNCTION dovecotpassword(
-     IN localpart varchar, IN the_domain varchar) RETURNS SETOF dovecotpassword
- AS $$
-     DECLARE
-         record dovecotpassword;
-         userid varchar(320) := localpart || '@' || the_domain;
-     BEGIN
-         FOR record IN
-             SELECT userid, passwd, smtp, pop3, imap, managesieve
-               FROM users, service_set, domain_data
-              WHERE users.gid = (SELECT gid
-                                   FROM domain_name
-                                  WHERE domainname = the_domain)
-                AND local_part = localpart
-                AND users.gid = domain_data.gid
-                AND CASE WHEN
-                   users.ssid IS NOT NULL
-                   THEN
-                     service_set.ssid = users.ssid
-                   ELSE
-                     service_set.ssid = domain_data.ssid
-                   END
-             LOOP
-                 RETURN NEXT record;
-             END LOOP;
-         RETURN;
-     END;
- $$ LANGUAGE plpgsql STABLE
- RETURNS NULL ON NULL INPUT
- EXTERNAL SECURITY INVOKER;
-
-Upgrade vmm
-^^^^^^^^^^^
-Execute the :file:`upgrade.sh`, in order to install the updated code.
-
-Upgrading from vmm-0.6.1
-------------------------
-If you have already installed vmm-6.0.1, simply execute the
-:file:`upgrade.sh` script.
-
-Upgrade to Dovecot ≧ v1.2.beta2
--------------------------------
-When you are upgrading your old Dovecot (< v.1.2.beta2) to a newer version,
-≧ v1.2.beta2, you also have to update the database layout.
-After you have backed up your database, you have to apply the changes from
-the file :file:`dovecot_update_v1.2+.pgsql` to your database.
-(The file is currently only available from hg:
-`dovecot_update_v1.2+.pgsql <http://hg.localdomain.org/vmm/raw-file/bb23693e5fc9/pgsql/dovecot_update_v1.2%2B.pgsql>`_)
-
-Connect as your `vmm` database user to your database.
-
-.. code-block:: console
-
- user@host:~$ psql mailsys vmm -W -h localhost
-
-Then do the database update:
-
-.. code-block:: postgresql-console
-
- mailsys=> \i /path/to/dovecot_update_v1.2+.pgsql
- mailsys=> \q
-
-Finally :ref:`set-database-permissions`.
-
-.. include:: ../ext_references.rst