I am running ISPConfig 3 on Debian and have managed to install the dovecot-solr and dovecot-fts plugins.
I have solr running undet tomcat at http://localhost:8880 but the indexing is not working.
I am using Dovecot 2.17
I do not understand namespaces and why fts_solr needs them, I just want to index the entire users Maildir.
I am trying to index a users mailbox but am getting the following error:
(changed user name) doveadm fts rescan -u user@user.com inbox doveadm(user@user.com): Error: Namespace prefix not found: inbox
running that in debig mode gives:
doveadm(root): Debug: Loading modules from directory: /usr/lib/dovecot/modules doveadm(root): Debug: Module loaded: /usr/lib/dovecot/modules/lib20_fts_plugin.so doveadm(root): Debug: Module loaded: /usr/lib/dovecot/modules/lib21_fts_solr_plugin.so doveadm(root): Debug: Loading modules from directory: /usr/lib/dovecot/modules/doveadm doveadm(root): Debug: Skipping module doveadm_acl_plugin, because dlopen() failed: /usr/lib/dovecot/modules/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/lib/dovecot/modules/doveadm/lib10_doveadm_expire_plugin.so: undefined symbol: expire_set_deinit (this is usually intentional, so just ignore this message) doveadm(root): Debug: Skipping module doveadm_quota_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_quota_plugin.so: undefined symbol: quota_user_module (this is usually intentional, so just ignore this message) doveadm(root): Debug: Skipping module doveadm_zlib_plugin, because dlopen() failed: /usr/lib/dovecot/modules/doveadm/lib10_doveadm_zlib_plugin.so: undefined symbol: i_stream_create_deflate (this is usually intentional, so just ignore this message) doveadm(root): Debug: Module loaded: /usr/lib/dovecot/modules/doveadm/lib20_doveadm_fts_plugin.so doveadm(user@user.com): Debug: Added userdb setting: mail=maildir:/var/vmail/user.com/user/Maildir doveadm(user@user.com): Debug: Added userdb setting: plugin/quota_rule=*:storage=0B doveadm(user@user.com): Debug: Added userdb setting: plugin/sieve=/var/vmail/user.com/user/.sieve doveadm(user@user.com): Debug: Effective uid=5000, gid=5000, home=/var/vmail/user.com/user doveadm(user@user.com): Debug: Namespace inbox: type=private, prefix=, sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes location=maildir:/var/vmail/user.com/user/Maildir doveadm(user@user.com): Debug: maildir++: root=/var/vmail/user.com/user/Maildir, index=, control=, inbox=/var/vmail/user.com/user/Maildir, alt= doveadm(user@user.com): Debug: fts: No fts setting - plugin disabled doveadm(user@user.com): Error: Namespace prefix not found: inbox
in conf.d/10-mail.conf I have this namespace defined:
namespace inbox {
Namespace type: private, shared or public
#type = private
Hierarchy separator to use. You should use the same separator for
all
namespaces or some clients get confused. '/' is usually a good one.
The default however depends on the underlying mail storage format.
#separator =
Prefix required to access this namespace. This needs to be different
for
all namespaces. For example "Public/".
#prefix =
Physical location of the mailbox. This is in same format as
mail_location, which is also the default for it.
#location =
There can be only one INBOX, and this setting defines which
namespace
has it.
inbox = yes
If namespace is hidden, it's not advertised to clients via NAMESPACE
extension. You'll most likely also want to set list=no. This is
mostly
useful when converting from another server with different namespaces
which
you want to deprecate but still keep working. For example you can
create
hidden namespaces with prefixes "~/mail/", "~%u/mail/" and "mail/".
#hidden = no protocol imap { plugin { fts = solr fts_solr = break-imap-search url=http://localhost:8880/solr/ } } protocol pop3 { plugin { fts = solr fts_solr = break-imap-search url=http://localhost:8880/solr/ }
Show the mailboxes under this namespace with LIST command. This
makes the
namespace visible for clients that don't support NAMESPACE
extension.
"children" value lists child mailboxes, but hides the namespace
prefix. #list = yes
Namespace handles its own subscriptions. If set to "no", the parent
namespace handles them (empty prefix should always have this as
"yes") #subscriptions = yes }
I had to put this in dovecot.conf in order for the plugin to be enabled:
mail_plugins = fts fts_solr
solr is reachable at localhost:8880/solr and appears to be working.
Please help, any suggestions are welcome
Thanks