UPGRADE
author Pascal Volk <user@localhost.localdomain.org>
Mon, 09 Jun 2014 18:47:44 +0000
branchv0.7.x
changeset 756 139ced0fea1e
parent 707 19184d1265e5
permissions -rw-r--r--
VMM: Unified parameter names and option names. handler: Handler.user_delete() renamed parameter: delete_home -> del_dir The same as in Handler.domain_delete(). cli/subcommands: renamed userdelete's option --delete-home -> --delete-directory So people have to memorize only one option name. It also matches the setting names of vmm.cfg.

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