[Dovecot] upgrade from 1.0.5 to 2.1.7
Hello!
I want to upgrade the docevot-installation from v 1.0.5 to 2.1..7
Now I get the following executing doveconf -n -c /etc/dovecot/dovecot.conf > /home/mail1/dovecot-2.conf
doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:217: add auth_ prefix to all settings inside auth {} and remove the auth {} section completely doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:219: passdb passwd-file {} has been replaced by passdb { driver=passwd-file } doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:222: userdb passwd-file {} has been replaced by userdb { driver=passwd-file }
The section at line 217 looks like this:
auth default { mechanisms = plain passdb passwd-file { args = /etc/dovecot/passwd } userdb passwd-file { args = /etc/dovecot/passwd }
How do I change it to fullfill the new needs?
And how do I handle line 217? add auth_ prefix to all settings inside auth {} and remove the auth {} section completely ?
Thanks for help!
Andreas
Am 08.06.2012 13:05, schrieb Andreas Meyer:
I want to upgrade the docevot-installation from v 1.0.5 to 2.1..7 Now I get the following executing doveconf -n -c /etc/dovecot/dovecot.conf > /home/mail1/dovecot-2.conf
doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:217: add auth_ prefix to all settings inside auth {} and remove the auth {} section completely doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:219: passdb passwd-file {} has been replaced by passdb { driver=passwd-file } doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:222: userdb passwd-file {} has been replaced by userdb { driver=passwd-file }
The section at line 217 looks like this:
auth default { mechanisms = plain passdb passwd-file { args = /etc/dovecot/passwd } userdb passwd-file { args = /etc/dovecot/passwd }
How do I change it to fullfill the new needs?
And how do I handle line 217? add auth_ prefix to all settings inside auth {} and remove the auth {} section completely
what exactly are you not understanding here? this is a very clear message below a partly output from a working 2.1.7
auth_mechanisms = CRAM-MD5 DIGEST-MD5 APOP LOGIN PLAIN auth_worker_max_count = 100 auth_cache_size = 32768 auth_cache_ttl = 1800 auth_cache_negative_ttl = 1800 auth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@% auth_username_translation = %@AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz auth_debug = no auth_debug_passwords = no auth_verbose = no
Reindl Harald <h.reindl@thelounge.net> wrote:
Am 08.06.2012 13:05, schrieb Andreas Meyer:
I want to upgrade the docevot-installation from v 1.0.5 to 2.1..7 Now I get the following executing doveconf -n -c /etc/dovecot/dovecot.conf > /home/mail1/dovecot-2.conf
doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:217: add auth_ prefix to all settings inside auth {} and remove the auth {} section completely doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:219: passdb passwd-file {} has been replaced by passdb { driver=passwd-file } doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:222: userdb passwd-file {} has been replaced by userdb { driver=passwd-file }
The section at line 217 looks like this:
auth default { mechanisms = plain passdb passwd-file { args = /etc/dovecot/passwd } userdb passwd-file { args = /etc/dovecot/passwd }
How do I change it to fullfill the new needs?
And how do I handle line 217? add auth_ prefix to all settings inside auth {} and remove the auth {} section completely
what exactly are you not understanding here? this is a very clear message
I find the message very confusing. It says to do all settings inside auth {} and then to remove the auth {} section. With v1.0.5 I do have an auth default {} section and a section ## Authentication processes.
below a partly output from a working 2.1.7
auth_mechanisms = CRAM-MD5 DIGEST-MD5 APOP LOGIN PLAIN auth_worker_max_count = 100 auth_cache_size = 32768 auth_cache_ttl = 1800 auth_cache_negative_ttl = 1800 auth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@% auth_username_translation = %@AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz auth_debug = no auth_debug_passwords = no auth_verbose = no
Thank you! I found section ## Authentication processes but when I add
auth_passdb { args = /etc/dovecot/passwd driver = passwd-file } auth_userdb { args = /etc/dovecot/passwd driver = passwd-file }
I get an error: doveconf: Fatal: Error in configuration file /etc/dovecot/dovecot.conf line 709: Unknown setting: auth_passdb
Where do I put the passdb and userdb sections?
Andreas
Am 08.06.2012 15:33, schrieb Andreas Meyer:
Reindl Harald <h.reindl@thelounge.net> wrote:
Am 08.06.2012 13:05, schrieb Andreas Meyer:
I want to upgrade the docevot-installation from v 1.0.5 to 2.1..7 Now I get the following executing doveconf -n -c /etc/dovecot/dovecot.conf > /home/mail1/dovecot-2.conf
doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:217: add auth_ prefix to all settings inside auth {} and remove the auth {} section completely doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:219: passdb passwd-file {} has been replaced by passdb { driver=passwd-file } doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:222: userdb passwd-file {} has been replaced by userdb { driver=passwd-file }
The section at line 217 looks like this:
auth default { mechanisms = plain passdb passwd-file { args = /etc/dovecot/passwd } userdb passwd-file { args = /etc/dovecot/passwd }
How do I change it to fullfill the new needs?
And how do I handle line 217? add auth_ prefix to all settings inside auth {} and remove the auth {} section completely
what exactly are you not understanding here? this is a very clear message
I find the message very confusing. It says to do all settings inside auth {} and then to remove the auth {} section.
no, it says you should MOVE all settings OUT from auth {} in the main part and add a prefix auth_ to them
you quoted your auth{} section
in a pure 2.x setup this would not exist
Reindl Harald <h.reindl@thelounge.net> wrote:
The section at line 217 looks like this:
auth default { mechanisms = plain passdb passwd-file { args = /etc/dovecot/passwd } userdb passwd-file { args = /etc/dovecot/passwd }
How do I change it to fullfill the new needs?
And how do I handle line 217? add auth_ prefix to all settings inside auth {} and remove the auth {} section completely
what exactly are you not understanding here? this is a very clear message
I find the message very confusing. It says to do all settings inside auth {} and then to remove the auth {} section.
no, it says you should MOVE all settings OUT from auth {} in the main part and add a prefix auth_ to them
you quoted your auth{} section
in a pure 2.x setup this would not exist
I get this output when I move the passwd settings to the main section:
# doveconf -n -c /etc/dovecot/dovecot.conf > /home/mail1/dovecot-2.conf doveconf: Fatal: Error in configuration file /etc/dovecot/dovecot.conf line 710: Unknown setting: auth_passdb
Also if I use !include /etc/dovecot/auth-passwdfile.conf in the main section, the auth-passwdfile.conf weems to be ignored. It has the following content:
passdb { driver = passwd-file #args = scheme=CRYPT username_format=%u /etc/dovecot/passwd args = /etc/dovecot/passwd }
userdb { driver = passwd-file #args = username_format=%u /etc/dovecot/passwd args = /etc/dovecot/passwd
# Default fields that can be overridden by passwd-file #default_fields = quota_rule=*:storage=1G # Override fields from passwd-file #override_fields = home=/home/virtual/%u }
I don't know where to put the passwd section.
Andreas
Am 08.06.2012 16:50, schrieb Andreas Meyer:
Reindl Harald <h.reindl@thelounge.net> wrote:
The section at line 217 looks like this:
auth default { mechanisms = plain passdb passwd-file { args = /etc/dovecot/passwd } userdb passwd-file { args = /etc/dovecot/passwd }
How do I change it to fullfill the new needs?
And how do I handle line 217? add auth_ prefix to all settings inside auth {} and remove the auth {} section completely
what exactly are you not understanding here? this is a very clear message
I find the message very confusing. It says to do all settings inside auth {} and then to remove the auth {} section.
no, it says you should MOVE all settings OUT from auth {} in the main part and add a prefix auth_ to them
you quoted your auth{} section
in a pure 2.x setup this would not exist
I get this output when I move the passwd settings to the main section:
# doveconf -n -c /etc/dovecot/dovecot.conf > /home/mail1/dovecot-2.conf doveconf: Fatal: Error in configuration file /etc/dovecot/dovecot.conf line 710: Unknown setting: auth_passdb
because this does not belong here consider take a look at dovecot2 manuals
http://wiki2.dovecot.org/AuthDatabase/ http://wiki2.dovecot.org/AuthDatabase/PasswdFile
below the auth/passdb config of a 2.1.7 dovecot.conf which was dovecot 1.x until upgraded to 2.x a very long time ago within a few minutes by reading error-messages and docs
in this case it is a proxy-only setup accessing dbmail's user-database for authentication
# authentication process auth_worker_max_count = 100 auth_cache_size = 32768 auth_cache_ttl = 1800 auth_cache_negative_ttl = 1800 auth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@% auth_username_translation = %@AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz
# debug options auth_debug = no auth_debug_passwords = no auth_verbose = no mail_debug = no verbose_ssl = no
# configure proxy-database passdb { driver = sql args = /etc/dovecot/sql.conf }
# we are not using local users userdb { driver = static args = static uid=5000 gid=5000 home=/dev/null }
# configure backend for postfix sasl-auth service auth { unix_listener /var/spool/postfix/private/auth { mode = 0660 user = postfix group = postfix } }
Reindl Harald <h.reindl@thelounge.net> wrote:
Am 08.06.2012 16:50, schrieb Andreas Meyer:
Reindl Harald <h.reindl@thelounge.net> wrote:
you quoted your auth{} section
in a pure 2.x setup this would not exist
I get this output when I move the passwd settings to the main section:
# doveconf -n -c /etc/dovecot/dovecot.conf > /home/mail1/dovecot-2.conf doveconf: Fatal: Error in configuration file /etc/dovecot/dovecot.conf line 710: Unknown setting: auth_passdb
because this does not belong here consider take a look at dovecot2 manuals
http://wiki2.dovecot.org/AuthDatabase/ http://wiki2.dovecot.org/AuthDatabase/PasswdFile
thanks again! I think I got this one right now.
I risked to restat dovecot with the new version and got this in the logfile now:
Jun 08 17:20:19 imap: Error: dlopen(/usr/lib/dovecot/modules/imap/lib10_quota_plugin.so) failed: /usr/lib/dovecot/modules/imap/lib10_quota_plugin.so: undefined symbol: mail_storage_module_id Jun 08 17:20:19 imap: Fatal: Couldn't load required plugins Jun 08 17:20:19 imap-login: Warning: SSL alert: where=0x4008, ret=256: warning close notify [84.179.59.203]
The /usr/lib/dovecot/modules/imap/lib10_quota_plugin.so is a symlink to /usr/lib/dovecot/modules/lib10_quota_plugin.so
What can I do? Wouldn't it be great to get the new dovecot working with my users and the old passwd file?
Andreas
On 8.6.2012, at 18.36, Andreas Meyer wrote:
Jun 08 17:20:19 imap: Error: dlopen(/usr/lib/dovecot/modules/imap/lib10_quota_plugin.so) failed: /usr/lib/dovecot/modules/imap/lib10_quota_plugin.so:
What can I do? Wouldn't it be great to get the new dovecot working with my users and the old passwd file?
The quota plugin isn't against the same version of Dovecot.. So you have two Dovecot versions now somehow all mixed up. One solution would be to delete all files related to Dovecot and install 2.1.7 again.
Timo Sirainen <tss@iki.fi> wrote:
On 8.6.2012, at 18.36, Andreas Meyer wrote:
Jun 08 17:20:19 imap: Error: dlopen(/usr/lib/dovecot/modules/imap/lib10_quota_plugin.so) failed: /usr/lib/dovecot/modules/imap/lib10_quota_plugin.so:
What can I do? Wouldn't it be great to get the new dovecot working with my users and the old passwd file?
The quota plugin isn't against the same version of Dovecot.. So you have two Dovecot versions now somehow all mixed up. One solution would be to delete all files related to Dovecot and install 2.1.7 again.
I wonder ./configure, make and make install went through, but for some reason the /usr/lib/dovecot/modules directory was not updated. Could it be because there was the old version 1.0.5 still running while installing the new one?
I'll try to do a make install again while the dovecot is stopped and then start the new version and see what happens.
Andreas
Am 08.06.2012 19:02, schrieb Andreas Meyer:
Timo Sirainen <tss@iki.fi> wrote:
On 8.6.2012, at 18.36, Andreas Meyer wrote:
Jun 08 17:20:19 imap: Error: dlopen(/usr/lib/dovecot/modules/imap/lib10_quota_plugin.so) failed: /usr/lib/dovecot/modules/imap/lib10_quota_plugin.so:
What can I do? Wouldn't it be great to get the new dovecot working with my users and the old passwd file?
The quota plugin isn't against the same version of Dovecot.. So you have two Dovecot versions now somehow all mixed up. One solution would be to delete all files related to Dovecot and install 2.1.7 again.
I wonder ./configure, make and make install went through, but for some reason the /usr/lib/dovecot/modules directory was not updated. Could it be because there was the old version 1.0.5 still running while installing the new one?
ouch - why are you doing such rough installs instead taking some time to learn how to build packages for your OS?
the benefit of package-systems like rpm/deb is that obsolete files are removed on updates and you have clean installs over many years and major upgrades of any software
as example for Fedora&RHEL it is quite easy to setup rpmbuild, install a recent src.rpm and replace rebuild new versions for older releases
the additional benefit is that you can do this on a dedicated virtual machine with devel-packages, GCC and so on which is all not needed on the production systems AND you can easily use this packages on testing machines followed by a crontrolled rollout
even for software with a handful of scripts -> on my servers and workstations NEVER get any software installed without a package and there are only two exceptions: VMware Workstation and ZendStudio
Reindl Harald <h.reindl@thelounge.net> wrote:
I wonder ./configure, make and make install went through, but for some reason the /usr/lib/dovecot/modules directory was not updated. Could it be because there was the old version 1.0.5 still running while installing the new one?
ouch - why are you doing such rough installs instead taking some time to learn how to build packages for your OS?
the benefit of package-systems like rpm/deb is that obsolete files are removed on updates and you have clean installs over many years and major upgrades of any software
as example for Fedora&RHEL it is quite easy to setup rpmbuild, install a recent src.rpm and replace rebuild new versions for older releases
the additional benefit is that you can do this on a dedicated virtual machine with devel-packages, GCC and so on which is all not needed on the production systems AND you can easily use this packages on testing machines followed by a crontrolled rollout
even for software with a handful of scripts -> on my servers and workstations NEVER get any software installed without a package and there are only two exceptions: VMware Workstation and ZendStudio
;-) I never ever built a rpm using sources since years. I always build and install from the sources.
So ok, made a fresh make install and found out that the directory /usr/lib/dovecot/modules and its contents were not created after deleting manually the old /usr/lib/dovecot directory.
Got this snipped from the make install output:
make[4]: Leaving directory /home/mail1/dovecot-2.1.7/src/plugins/imap-stats' make[3]: Leaving directory
/home/mail1/dovecot-2.1.7/src/plugins/imap-stats'
Making install in trash
make[3]: Entering directory /home/mail1/dovecot-2.1.7/src/plugins/trash' make[4]: Entering directory
/home/mail1/dovecot-2.1.7/src/plugins/trash'
make[4]: Für das Ziel »install-exec-am« ist nichts zu tun.
test -z "/usr/lib/dovecot" || /bin/mkdir -p "/usr/lib/dovecot"
/bin/sh ../../../libtool --mode=install /usr/bin/install -c lib11_trash_plugin.la '/usr/lib/dovecot'
libtool: install: warning: relinking `lib11_trash_plugin.la'
libtool: install: (cd /home/mail1/dovecot-2.1.7/src/plugins/trash; /bin/sh /home/mail1/dovecot-2.1.7/libtool --tag CC --mode=relink gcc -std=gnu99 -g -O2 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast -fno-builtin-strftime -Wstrict-aliasing=2 -module -avoid-version -o lib11_trash_plugin.la -rpath /usr/lib/dovecot trash-plugin.lo ../quota/lib10_quota_plugin.la -lrt )
*** Warning: Linking the shared library lib11_trash_plugin.la against the loadable module *** lib10_quota_plugin.so is not portable! libtool: relink: gcc -shared -fPIC -DPIC .libs/trash-plugin.o -Wl,-rpath -Wl,/usr/lib/dovecot -L/usr/lib/dovecot -l10_quota_plugin -lrt -O2 -Wl,-soname -Wl,lib11_trash_plugin.so -o .libs/lib11_trash_plugin.so libtool: install: /usr/bin/install -c .libs/lib11_trash_plugin.soT /usr/lib/dovecot/lib11_trash_plugin.so libtool: install: /usr/bin/install -c .libs/lib11_trash_plugin.lai /usr/lib/dovecot/lib11_trash_plugin.la libtool: install: /usr/bin/install -c .libs/lib11_trash_plugin.a /usr/lib/dovecot/lib11_trash_plugin.a libtool: install: chmod 644 /usr/lib/dovecot/lib11_trash_plugin.a libtool: install: ranlib /usr/lib/dovecot/lib11_trash_plugin.a libtool: finish: PATH="/usr/local/bin:/usr/bin:/sbin:/usr/sbin:/bin:/usr/X11R6/bin:/usr/games:/usr/lib/mit/bin:/usr/lib/mit/sbin:/sbin" ldconfig -n /usr/lib/dovecot
Andreas
Am 08.06.2012 19:31, schrieb Andreas Meyer:
Reindl Harald <h.reindl@thelounge.net> wrote:
even for software with a handful of scripts -> on my servers and workstations NEVER get any software installed without a package and there are only two exceptions: VMware Workstation and ZendStudio
;-) I never ever built a rpm using sources since years. I always build and install from the sources
a good time to start again :-)
i missed to tell another benefit: you have to specify every installed file in the %files section, so you are aware of changes in any folder-structure, as long it builds wtihout complaining with a new source-version you can be pretty sure all is sane
this time virtualization is a real improvement
- build packages outside production environment
- provide local repos in the own LAN
- setup testing machins with real data
- test upgrades with real data
in this life i will never ever setup a server on bare metal without having VMware ESXi as backend (clone, snapshots..)
Reindl Harald <h.reindl@thelounge.net> wrote:
;-) I never ever built a rpm using sources since years. I always build and install from the sources
a good time to start again :-)
i missed to tell another benefit: you have to specify every installed file in the %files section, so you are aware of changes in any folder-structure, as long it builds wtihout complaining with a new source-version you can be pretty sure all is sane
this time virtualization is a real improvement
- build packages outside production environment
- provide local repos in the own LAN
- setup testing machins with real data
- test upgrades with real data
in this life i will never ever setup a server on bare metal without having VMware ESXi as backend (clone, snapshots..)
I have that beast running. There was an entry in the docecot.conf like this, created by doveconf -n -c /etc/dovecot/dovecot.conf > /home/mail1/dovecot-2.conf
protocol imap { mail_plugin_dir = /usr/lib/dovecot/modules/imap mail_plugins = quota imap_quota } protocol pop3 { mail_plugin_dir = /usr/lib/dovecot/modules/pop3 mail_plugins = quota pop3_uidl_format = %08Xu%08Xv }
I commented it out and I can retrieved mail furthermore. :-) Now I want to install dovecot-2.1-pigeonhole-0.3.1 to get sieve running.
Thank you everybody for the help and that great piece of software!
Andreas
On 8.6.2012, at 14.05, Andreas Meyer wrote:
I want to upgrade the docevot-installation from v 1.0.5 to 2.1..7
Now I get the following executing doveconf -n -c /etc/dovecot/dovecot.conf > /home/mail1/dovecot-2.conf
Didn't this command produce a working dovecot-2.conf file? If not, it's probably a bug.
doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:217: add auth_ prefix to all settings inside auth {} and remove the auth {} section completely doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:219: passdb passwd-file {} has been replaced by passdb { driver=passwd-file } doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:222: userdb passwd-file {} has been replaced by userdb { driver=passwd-file } .. How do I change it to fullfill the new needs?
doveconf should have done all of those changes for you and placed them to dovecot-2.conf
Timo Sirainen <tss@iki.fi> wrote:
On 8.6.2012, at 14.05, Andreas Meyer wrote:
I want to upgrade the docevot-installation from v 1.0.5 to 2.1..7
Now I get the following executing doveconf -n -c /etc/dovecot/dovecot.conf > /home/mail1/dovecot-2.conf
Didn't this command produce a working dovecot-2.conf file? If not, it's probably a bug.
Yes, it did. I was wondering, it just containes a few lines. ;) Took it and placed it in /usr/etc as dovecot.conf. But then I got this error with the quota_plugin, see they other thread.
doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:217: add auth_ prefix to all settings inside auth {} and remove the auth {} section completely doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:219: passdb passwd-file {} has been replaced by passdb { driver=passwd-file } doveconf: Warning: Obsolete setting in /etc/dovecot/dovecot.conf:222: userdb passwd-file {} has been replaced by userdb { driver=passwd-file } .. How do I change it to fullfill the new needs?
doveconf should have done all of those changes for you and placed them to dovecot-2.conf
Yes, it did.
Andreas
participants (3)
-
Andreas Meyer
-
Reindl Harald
-
Timo Sirainen