[Dovecot] Migration to Dovecot 2.2.12 - How to trigger full site indexing
kadafax at gmail.com
kadafax at gmail.com
Wed Apr 9 13:27:03 UTC 2014
Le 09/04/2014 13:04, Benjamin Podszun a écrit :
> On Wednesday, April 9, 2014 12:57:13 PM CEST, kadafax at gmail.com wrote:
>> Hi list,
>>
>> We are in the process of migrating our old (dovecot 1.2.4 based) mail
>> system to the new one:
>>
>> - Centos 6 x86_64
>> - Dovecot 2.2.12
>> - Users in an openldap directory
>> - clucene FTS
>>
>> I'm trying to trigger a full indexing for all the user and all their
>> mailboxes (avoiding them to individually trigger it using a search
>> within their MUA). I'm trying to use the "doveadm index" command.
>>
>> First question, is there some sort of 'wildcard' option for the name
>> of the mailbox to index, as I dont know all the mailboxes's names the
>> users have created (beside the regular Sent Inbox Trash and Drafts ?
>
> I'm using a totally different set of things, but at least dovecot and
> clucene are agreeable.. ;-)
>
> You should have a fts plugin to doveadm that should solve this issue:
>
> doveadm fts rescan
> doveadm fts optimize
>
> That's what I use to trigger rebuilds.
Yes it works but not (at least for me) on the initial lucene index
creation (when the user don't even have a 'lucene-indexes' folder).
For now I use in some bash script:
doveadm -v index -u $user Trash
doveadm -v index -u $user Drafts
doveadm -v index -u $user Sent
doveadm -v index -u $user Inbox
but that will not index other mailboxes the user has created.
Is there a way to make doveadm to iterate through all user's mailboxes ?
>
>> Second question I've tried:
>> # doveadm -D index -A Sent
>> which gave me:
>> doveadm(root): Error: User listing returned failure
>> doveadm: Error: Failed to iterate through some users
>>
>> Can the '-A' option work with ldap backend ?
>
> http://wiki2.dovecot.org/AuthDatabase/LDAP/Userdb
>
> # For using doveadm -A:
> iterate_attrs = uid=user
> iterate_filter = (objectClass=posixAccount)
>
> Are you defining iterate_* for your userdb?
>
Yes I am and it's not working (see debug output below [1]) :(
Maybe it's because I'm using a static userdb ?
###### dovecot-ldap.conf.ext AND dovecot-ldap-userdb.conf.ext
(symlinked) ######
uris = ldaps://ldap.mydomain.com ldaps://ldap2.mydomain.com
tls = no
tls_ca_cert_file = /etc/pki/tls/certs/ca.crt
tls_require_cert = never
debug_level = 0
auth_bind = yes
auth_bind_userdn = uid=%u,ou=people,dc=mydomain,dc=com
ldap_version = 3
base = ou=people,dc=mydomain,dc=com
pass_filter = (&(accountStatus=active)(uid=%n))
iterate_attrs = uid=user
iterate_filter = (accountStatus=active)
###### auth-ldap.conf.ext ######
passdb {
driver = ldap
args = /usr/local/etc/dovecot/dovecot-ldap.conf.ext
}
userdb {
driver = static
args = uid=11111 gid=11111 home=/var/vmail/%Ln/home allow_all_users=yes
}
Subsidiary question:
dovecot offers to index attachments using decode2text.sh which in turn
make use of xmlunzip.
No rpm for Centos/RHEL propose this tool. Is this is the one I should use:
https://raw.githubusercontent.com/GNOME/gnumeric/master/tools/xmlunzip
[1]:
# doveadm -D index -A INBOX
doveadm(root): Debug: Loading modules from directory: /usr/local/lib/dovecot
doveadm(root): Debug: Module loaded:
/usr/local/lib/dovecot/lib10_quota_plugin.so
doveadm(root): Debug: Module loaded:
/usr/local/lib/dovecot/lib20_fts_plugin.so
doveadm(root): Debug: Module loaded:
/usr/local/lib/dovecot/lib21_fts_lucene_plugin.so
doveadm(root): Debug: Module loaded:
/usr/local/lib/dovecot/lib90_stats_plugin.so
doveadm(root): Debug: Loading modules from directory:
/usr/local/lib/dovecot/doveadm
doveadm(root): Debug: Skipping module doveadm_acl_plugin, because
dlopen() failed:
/usr/local/lib/dovecot/doveadm/lib10_doveadm_acl_plugin.so: undefined
symbol: acl_user_module (this is usually intentional, so just ignore
this message)
doveadm(root): Debug: Skipping module doveadm_expire_plugin, because
dlopen() failed:
/usr/local/lib/dovecot/doveadm/lib10_doveadm_expire_plugin.so: undefined
symbol: expire_set_lookup (this is usually intentional, so just ignore
this message)
doveadm(root): Debug: Module loaded:
/usr/local/lib/dovecot/doveadm/lib10_doveadm_quota_plugin.so
doveadm(root): Debug: Module loaded:
/usr/local/lib/dovecot/doveadm/lib10_doveadm_sieve_plugin.so
doveadm(root): Debug: Module loaded:
/usr/local/lib/dovecot/doveadm/lib20_doveadm_fts_lucene_plugin.so
doveadm(root): Debug: Module loaded:
/usr/local/lib/dovecot/doveadm/lib20_doveadm_fts_plugin.so
doveadm(root): Error: User listing returned failure
doveadm: Error: Failed to iterate through some users
More information about the dovecot
mailing list