On 26.06.2016 21:56, Jeff Gamsby wrote: > On 2016-06-23 11:24, aki.tu...@dovecot.fi wrote: >>> On June 23, 2016 at 9:06 PM Jeff Gamsby <jeffgam...@merlock.com> wrote: >>> >>> >>> 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 u...@user.com inbox >>> doveadm(u...@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(u...@user.com): Debug: Added userdb setting: >>> mail=maildir:/var/vmail/user.com/user/Maildir >>> doveadm(u...@user.com): Debug: Added userdb setting: >>> plugin/quota_rule=*:storage=0B >>> doveadm(u...@user.com): Debug: Added userdb setting: >>> plugin/sieve=/var/vmail/user.com/user/.sieve >>> doveadm(u...@user.com): Debug: Effective uid=5000, gid=5000, >>> home=/var/vmail/user.com/user >>> doveadm(u...@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(u...@user.com): Debug: maildir++: >>> root=/var/vmail/user.com/user/Maildir, index=, control=, >>> inbox=/var/vmail/user.com/user/Maildir, alt= >>> doveadm(u...@user.com): Debug: fts: No fts setting - plugin disabled >>> doveadm(u...@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 >> >> Can you please send doveconf -n? >> --- >> Aki Tuomi > > > I managed to get fts_slor working and now I can index mailboxes, but I > am getting a solr error and cannot use the indexes that were created > > I get: > > Error: fts_solr: Lookup failed: Internal Server Error > You have checked SOLR logs right? That error I think is coming from the solr server, not dovecot.
Aki