UPGRADE
author Pascal Volk <user@localhost.localdomain.org>
Sun, 23 Feb 2014 18:00:35 +0000
branchv0.7.x
changeset 735 ddcad86f7386
parent 707 19184d1265e5
permissions -rw-r--r--
VMM/account: Account.modify accepts a password hash.

If you still have installed vmm 0.4.x you have to proceed this step first:

    * upgrade your vmm installation to version 0.5.2


If you have installed vmm 0.5.2 you have to proceed this steps:

    * stop Postfix and Dovecot
    * backup/dump your database.
    * backup/dump your database!

    * start psql and connect to the appropriate database
      (ex. psql mailsys vmm -W -h 127.0.0.1)
    * update the database,
      - Dovecot < 1.2.0
	\i vmm-x.y.z/pgsql/update_tables_0.5.x-0.6.pgsql
      - Dovecot >= 1.2.0, 2.0.0 and 2.1.0
	\i vmm-x.y.z/pgsql/update_tables_0.5.x-0.6-dovecot-1.2.x.pgsql
    * Set database permissions.
      (see python set-permissions.py -h for details)
      python vmm-x.y.z/pgsql/set-permissions.py -a -H 127.0.0.1 -U vmm


    /!\ Important note /!\

    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-x.y.z postfix/pgsql-*.cf files and INSTALL/Configure.Dovecot_2
    files for the new query.)


    * execute upgrade.sh
      This will also upgrade your vmm.cfg and apply the following modifications:

	     old			     new
	------------------------------------------------------------
	domdir.mode		->	domain.directory_mode
	domdir.delete		->	domain.delete_directory
	domdir.base		->	misc.base_directory
	domdir			->	_section domdir deleted_

	maildir.mode		->	account.directory_mode
	maildir.diskusage	->	account.disk_usage
	maildir.delete		->	account.delete_directory
	maildir.folders		->	mailbox.folders
	maildir.name		->	mailbox.root
	maildir			->	_section maildir deleted_

	misc.forcedel		->	domain.force_deletion
	misc.transport		->	domain.transport
	misc.passwdscheme	->	misc.password_scheme
	misc.dovecotvers	->	misc.dovecot_version (12 -> 1.2.11)
	misc.gid_mail		->	/dev/null

	services.smtp		->	domain.smtp
	services.pop3		->	domain.pop3
	services.imap		->	domain.imap
	services.sieve		->	domain.sieve
	services		->	_section services deleted_

	_NEW_.random_password	->	account.random_password
	_NEW_.password_length	->	account.password_length
	_NEW_.auto_postmaster	->	domain.auto_postmaster
	_NEW_.quota_bytes	->	domain.quota_bytes
	_NEW_.quota_messages	->	domain.quota_messages
	_NEW_.module		->	database.module
	_NEW_.port		->	database.port
	_NEW_.sslmode		->	database.sslmode
	_NEW_.format		->	mailbox.format
	_NEW_.crypt_blowfish_rounds ->	misc.crypt_blowfish_rounds
	_NEW_.crypt_sha256_rounds   ->	misc.crypt_sha256_rounds
	_NEW_.crypt_sha512_rounds   ->	misc.crypt_sha512_rounds

	config.done             ->	/dev/null
	config                  ->	_section config deleted_


    * start Dovecot and Postfix again


If you have installed vmm 0.6.0 you have to proceed this steps:

    * Database fixes:
	- Due to an error in 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:

	   UPDATE users SET tid = NULL
   	    WHERE tid = (SELECT tid FROM transport WHERE transport = 'domain');

	- If you are using Dovecot < v1.2.0:
	  You have to replace the database FUNCTION dovecotpassword().
	  (see file: pgsql/create_tables.pgsql)
	  The service_set.ssid was selected unconditionally. This may cause
	  an empty result, which will make logins impossible.

    * execute upgrade.sh


If you have installed vmm 0.6.1 you simply have to:

    * execute upgrade.sh

else
     * read INSTALL