|      1 If you still have installed vmm 0.4.x you have to proceed this step first: |         | 
|      2  |         | 
|      3     * upgrade your vmm installation to version 0.5.2 |         | 
|      4  |         | 
|      5  |         | 
|      6 If you have installed vmm 0.5.2 you have to proceed this steps: |         | 
|      7  |         | 
|      8     * stop Postfix and Dovecot |         | 
|      9     * backup/dump your database. |         | 
|     10     * backup/dump your database! |         | 
|     11  |         | 
|     12     * start psql and connect to the appropriate database |         | 
|     13       (ex. psql mailsys vmm -W -h 127.0.0.1) |         | 
|     14     * update the database, |         | 
|     15       - Dovecot < 1.2.0 |         | 
|     16 	\i vmm-x.y.z/pgsql/update_tables_0.5.x-0.6.pgsql |         | 
|     17       - Dovecot >= 1.2.0, 2.0.0 and 2.1.0 |         | 
|     18 	\i vmm-x.y.z/pgsql/update_tables_0.5.x-0.6-dovecot-1.2.x.pgsql |         | 
|     19     * Set database permissions. |         | 
|     20       (see python set-permissions.py -h for details) |         | 
|     21       python vmm-x.y.z/pgsql/set-permissions.py -a -H 127.0.0.1 -U vmm |         | 
|     22  |         | 
|     23  |         | 
|     24     /!\ Important note /!\ |         | 
|     25  |         | 
|     26     All the views (dovecot_* and postfix_*) have been replaced by database |         | 
|     27     functions. So you have to adjust all your postfix/pgsql-*.cf files and |         | 
|     28     also your /etc/dovecot/dovecot-sql.conf or |         | 
|     29     /etc/dovecot/dovecot-sql.conf.ext. |         | 
|     30     (See the vmm-x.y.z postfix/pgsql-*.cf files and INSTALL/Configure.Dovecot_2 |         | 
|     31     files for the new query.) |         | 
|     32  |         | 
|     33  |         | 
|     34     * execute upgrade.sh |         | 
|     35       This will also upgrade your vmm.cfg and apply the following modifications: |         | 
|     36  |         | 
|     37 	     old			     new |         | 
|     38 	------------------------------------------------------------ |         | 
|     39 	domdir.mode		->	domain.directory_mode |         | 
|     40 	domdir.delete		->	domain.delete_directory |         | 
|     41 	domdir.base		->	misc.base_directory |         | 
|     42 	domdir			->	_section domdir deleted_ |         | 
|     43  |         | 
|     44 	maildir.mode		->	account.directory_mode |         | 
|     45 	maildir.diskusage	->	account.disk_usage |         | 
|     46 	maildir.delete		->	account.delete_directory |         | 
|     47 	maildir.folders		->	mailbox.folders |         | 
|     48 	maildir.name		->	mailbox.root |         | 
|     49 	maildir			->	_section maildir deleted_ |         | 
|     50  |         | 
|     51 	misc.forcedel		->	domain.force_deletion |         | 
|     52 	misc.transport		->	domain.transport |         | 
|     53 	misc.passwdscheme	->	misc.password_scheme |         | 
|     54 	misc.dovecotvers	->	misc.dovecot_version (12 -> 1.2.11) |         | 
|     55 	misc.gid_mail		->	/dev/null |         | 
|     56  |         | 
|     57 	services.smtp		->	domain.smtp |         | 
|     58 	services.pop3		->	domain.pop3 |         | 
|     59 	services.imap		->	domain.imap |         | 
|     60 	services.sieve		->	domain.sieve |         | 
|     61 	services		->	_section services deleted_ |         | 
|     62  |         | 
|     63 	_NEW_.random_password	->	account.random_password |         | 
|     64 	_NEW_.password_length	->	account.password_length |         | 
|     65 	_NEW_.auto_postmaster	->	domain.auto_postmaster |         | 
|     66 	_NEW_.quota_bytes	->	domain.quota_bytes |         | 
|     67 	_NEW_.quota_messages	->	domain.quota_messages |         | 
|     68 	_NEW_.module		->	database.module |         | 
|     69 	_NEW_.port		->	database.port |         | 
|     70 	_NEW_.sslmode		->	database.sslmode |         | 
|     71 	_NEW_.format		->	mailbox.format |         | 
|     72 	_NEW_.crypt_blowfish_rounds ->	misc.crypt_blowfish_rounds |         | 
|     73 	_NEW_.crypt_sha256_rounds   ->	misc.crypt_sha256_rounds |         | 
|     74 	_NEW_.crypt_sha512_rounds   ->	misc.crypt_sha512_rounds |         | 
|     75  |         | 
|     76 	config.done             ->	/dev/null |         | 
|     77 	config                  ->	_section config deleted_ |         | 
|     78  |         | 
|     79  |         | 
|     80     * start Dovecot and Postfix again |         | 
|     81  |         | 
|     82  |         | 
|     83 If you have installed vmm 0.6.0 you have to proceed this steps: |         | 
|     84  |         | 
|     85     * Database fixes: |         | 
|     86 	- Due to an error in usertransport's argument parsing, it is |         | 
|     87 	  possible that some users' transport-ID points to the erroneous |         | 
|     88 	  transport 'domain'. To fix that error in your database, execute |         | 
|     89 	  the following SQL statement: |         | 
|     90  |         | 
|     91 	   UPDATE users SET tid = NULL |         | 
|     92    	    WHERE tid = (SELECT tid FROM transport WHERE transport = 'domain'); |         | 
|     93  |         | 
|     94 	- If you are using Dovecot < v1.2.0: |         | 
|     95 	  You have to replace the database FUNCTION dovecotpassword(). |         | 
|     96 	  (see file: pgsql/create_tables.pgsql) |         | 
|     97 	  The service_set.ssid was selected unconditionally. This may cause |         | 
|     98 	  an empty result, which will make logins impossible. |         | 
|     99  |         | 
|    100     * execute upgrade.sh |         | 
|    101  |         | 
|    102  |         | 
|    103 If you have installed vmm 0.6.1 you simply have to: |         | 
|    104  |         | 
|    105     * execute upgrade.sh |         | 
|    106  |         | 
|    107 else |         | 
|    108      * read INSTALL |         |