[gelöst] dovecot-solr mit solr-jetty vs. solr-tomcat
[gelöst] dovecot-solr mit solr-jetty vs. solr-tomcat
Hallo,
ich möchte unseren Dovecot IMAP mit einer Volltextsuche [1] ausstatten, am liebsten mit dovecot-solr.
Jetzt stellt sich nur die Frage ob ich solr-tomcat oder solr-jetty verwende, im Moment läuft keines von beiden auf dem Server.
Debian Wheezy
ca. 80 IMAP Benutzer
Hat jemand Erfahrung damit?
Ist der jetty schlanker als der tomcat?
http://wiki2.dovecot.org/Plugins/FTS/Solr
ich möchte unseren Dovecot IMAP mit einer Volltextsuche [1] ausstatten, am liebsten mit dovecot-solr.
Jetzt stellt sich nur die Frage ob ich solr-tomcat oder solr-jetty verwende, im Moment läuft keines von beiden auf dem Server.
Debian Wheezy
ca. 80 IMAP Benutzer
Hat jemand Erfahrung damit?
Ist der jetty schlanker als der tomcat?
http://wiki2.dovecot.org/Plugins/FTS/Solr
Zuletzt geändert von slu am 24.02.2014 14:17:29, insgesamt 1-mal geändert.
Gruß
slu
Das Server Reinheitsgebot:
Debian Bookworm, sonst nichts.
Stolzer Gewinner der Jessie Release Wette:
https://wiki.debianforum.de/Jessie_Release_Wette#SIEGER
slu
Das Server Reinheitsgebot:
Debian Bookworm, sonst nichts.
Stolzer Gewinner der Jessie Release Wette:
https://wiki.debianforum.de/Jessie_Release_Wette#SIEGER
-
- Beiträge: 2951
- Registriert: 24.12.2010 16:50:59
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Rheinland
Re: dovecot-solr mit solr-jetty vs. solr-tomcat
Wenn du soweit bist waere ich an einem Erfahrungsbericht interessiert. Ich mag Solr sehr gern und der Ansatz es zu benutzen, um dem IMAP-Konto Beine zu machen finde ich ziemlich schick.
Re: dovecot-solr mit solr-jetty vs. solr-tomcat
Ich bekomme leider das solr-jetty nicht zum laufen, kann es sein das es hierfür kein README.txt gibt?
Edit:
solr läuft nun mit tomcat, allerdings fehlt mir das "doc/solr-schema.xml" wie es im dovecot wiki steht.
Edit2:
695185
Edit:
solr läuft nun mit tomcat, allerdings fehlt mir das "doc/solr-schema.xml" wie es im dovecot wiki steht.
Edit2:
695185
Gruß
slu
Das Server Reinheitsgebot:
Debian Bookworm, sonst nichts.
Stolzer Gewinner der Jessie Release Wette:
https://wiki.debianforum.de/Jessie_Release_Wette#SIEGER
slu
Das Server Reinheitsgebot:
Debian Bookworm, sonst nichts.
Stolzer Gewinner der Jessie Release Wette:
https://wiki.debianforum.de/Jessie_Release_Wette#SIEGER
Re: dovecot-solr mit solr-jetty vs. solr-tomcat
@ syssi,
es läuft nun und ist der Hammer, obwohl ich die ganzen Mails durchsuche ist das Ergebnis sofort da.
Die fehlende schema.xml hab ich mir direct bei dovecot.org runter geladen.
Edit:
Hier liegt die korrekte schema.xml http://ftp.de.debian.org/debian/pool/ma ... rig.tar.gz
es läuft nun und ist der Hammer, obwohl ich die ganzen Mails durchsuche ist das Ergebnis sofort da.
Die fehlende schema.xml hab ich mir direct bei dovecot.org runter geladen.
Edit:
Hier liegt die korrekte schema.xml http://ftp.de.debian.org/debian/pool/ma ... rig.tar.gz
Gruß
slu
Das Server Reinheitsgebot:
Debian Bookworm, sonst nichts.
Stolzer Gewinner der Jessie Release Wette:
https://wiki.debianforum.de/Jessie_Release_Wette#SIEGER
slu
Das Server Reinheitsgebot:
Debian Bookworm, sonst nichts.
Stolzer Gewinner der Jessie Release Wette:
https://wiki.debianforum.de/Jessie_Release_Wette#SIEGER
Re: dovecot-solr mit solr-jetty vs. solr-tomcat
Ich find das auch ziemlich spannend slu!
Könntest du uns eine Stichpunktartige (oder gar eine detailierte) Vorgehensweise posten?
Meine imap Suchanfragen verbrauchen nämlich viiiel Zeit
Könntest du uns eine Stichpunktartige (oder gar eine detailierte) Vorgehensweise posten?
Meine imap Suchanfragen verbrauchen nämlich viiiel Zeit
Re: dovecot-solr mit solr-jetty vs. solr-tomcat
Für Debian Wheezy:
Bei der nächsten Suche sieht man in /var/log/mail.log das die Mails indexiert wurden.
Alle weiteren Suchen indexieren nur noch die Differenz und das Ergebnis ist quasi sofort da.
Siehe auch http://wiki2.dovecot.org/Plugins/FTS/Solr
Code: Alles auswählen
apt-get install dovecot-solr solr-tomcat
vi /etc/tomcat6/server.xml
<Connector port="8080" address="127.0.0.1" protocol="HTTP/1.1"
wget http://ftp.de.debian.org/debian/pool/main/d/dovecot/dovecot_2.1.7.orig.tar.gz
Edit:
Besser apt-get source dovecot-common
tar xfzv dovecot_2.1.7.orig.tar.gz
/tmp/dovecot-2.1.7/doc# cp -v solr-schema.xml /etc/solr/conf/schema.xml
/etc/init.d/tomcat6 restart
vi /etc/dovecot/conf.d/10-mail.conf
mail_plugins = fts fts_solr
vi /etc/dovecot/conf.d/90-plugin.conf
fts = solr
fts_solr = url=http://127.0.0.1:8080/solr/
/etc/init.d/dovecot restart
Alle weiteren Suchen indexieren nur noch die Differenz und das Ergebnis ist quasi sofort da.
Siehe auch http://wiki2.dovecot.org/Plugins/FTS/Solr
Zuletzt geändert von slu am 24.02.2014 20:00:22, insgesamt 1-mal geändert.
Gruß
slu
Das Server Reinheitsgebot:
Debian Bookworm, sonst nichts.
Stolzer Gewinner der Jessie Release Wette:
https://wiki.debianforum.de/Jessie_Release_Wette#SIEGER
slu
Das Server Reinheitsgebot:
Debian Bookworm, sonst nichts.
Stolzer Gewinner der Jessie Release Wette:
https://wiki.debianforum.de/Jessie_Release_Wette#SIEGER
Re: [gelöst] dovecot-solr mit solr-jetty vs. solr-tomcat
Herzlichen Dank, ich werd das die Tage bei mir an der Arbeit umsetzen und berichten.
Re: dovecot-solr mit solr-jetty vs. solr-tomcat
Schoener:slu hat geschrieben:Code: Alles auswählen
wget http://ftp.de.debian.org/debian/pool/main/d/dovecot/dovecot_2.1.7.orig.tar.gz tar xfzv dovecot_2.1.7.orig.tar.gz /tmp/dovecot-2.1.7/doc# cp -v solr-schema.xml /etc/solr/conf/schema.xml
Code: Alles auswählen
# wget -O- http://ftp.de.debian.org/debian/pool/main/d/dovecot/dovecot_2.1.7.orig.tar.gz \
> | tar xz dovecot-2.1.7/doc/solr-schema.xml --strip-components=2 -C /etc/solr/conf --backup
Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.
—Bruce Schneier
Re: [gelöst] dovecot-solr mit solr-jetty vs. solr-tomcat
apt-get source dovecot-commonCae hat geschrieben:Und richtig schoen waer's, wenn man vorher nochmal per GPG prueft, ob der Tarball tatsaechlich aus Debian stammt oder zwischendrin noch einen Umweg hinter sich hat...
@ Cae
super einzeiler, gefällt mir!
Gruß
slu
Das Server Reinheitsgebot:
Debian Bookworm, sonst nichts.
Stolzer Gewinner der Jessie Release Wette:
https://wiki.debianforum.de/Jessie_Release_Wette#SIEGER
slu
Das Server Reinheitsgebot:
Debian Bookworm, sonst nichts.
Stolzer Gewinner der Jessie Release Wette:
https://wiki.debianforum.de/Jessie_Release_Wette#SIEGER
Re: [gelöst] dovecot-solr mit solr-jetty vs. solr-tomcat
cool, hier ist ja auch was passiert Ich bin begeister von der Suche!
Ich hab die Installation eben mal durchgespielt und möchte euch mein Protokoll inkl. Test nicht vorenthalten:
(An apt-get source hab ich auch gedacht, aber mein Produktivsystem kennt keine deb-src Zeilen)
Achtung: Ich habe mein /etc mit etckeeper im Auge. Ein git status bzw. git diff zeigt mir also jederzeit die Änderungen zu vorher an. Sollte man beachten, weil meine sed Aufrufe bereits aktiviere dovecots plugins einfach löscht!
Ich hab die Installation eben mal durchgespielt und möchte euch mein Protokoll inkl. Test nicht vorenthalten:
(An apt-get source hab ich auch gedacht, aber mein Produktivsystem kennt keine deb-src Zeilen)
Achtung: Ich habe mein /etc mit etckeeper im Auge. Ein git status bzw. git diff zeigt mir also jederzeit die Änderungen zu vorher an. Sollte man beachten, weil meine sed Aufrufe bereits aktiviere dovecots plugins einfach löscht!
Code: Alles auswählen
dovcot solr installieren. Hilfreiche URLS:
http://debianforum.de/forum/viewtopic.php?p=977619#p977619
OriginalDoku immer beachten:
http://wiki2.dovecot.org/Plugins/FTS/Solr
# Paketinstallation
apt-get install solr-tomcat dovecot-solr
# solr-schema besorgen:
cd /tmp
wget http://ftp.de.debian.org/debian/pool/main/d/dovecot/dovecot_2.1.7.orig.tar.gz
tar xvzf dovecot_2.1.7.orig.tar.gz dovecot-2.1.7/doc/solr-schema.xml
cp -v /etc/solr/conf/schema.xml /root/solr_schema.xml.dist
cp -v ./dovecot-*/doc/solr-schema.xml /etc/solr/conf/schema.xml
# tomcat soll nur auf localhost lauschen:
service tomcat6 stop
sed -i '/Connector port="8080"/{s|\(protocol\)|address="127.0.0.1" \1|}' /etc/tomcat6/server.xml
# Port 8080 ist bei mir schon belegt, daher 8088:
sed -i '/Connector port="8080"/{s|8080|8088|}' /etc/tomcat6/server.xml
service tomcat6 start
# File Transport Search aktivieren:
# Achtung: vorher bestehende werden mit dem 1. Aufruf gelöscht:
sed -i '/^mail_plugins/d' /etc/dovecot/conf.d/10-mail.conf
sed -i '/^#mail_plugins/amail_plugins = fts fts_solr' /etc/dovecot/conf.d/10-mail.conf
# Dem Plugin die entspr. URL für solr nennen:
sed -i '/^plugin/a\ \ fts = solr\n fts_solr = break-imap-search url=http://127.0.0.1:8080/solr/' /etc/dovecot/conf.d/90-plugin.conf
# Wer oben auch den Port 8088 benutz hat,:
sed -i '/^plugin/a\ \ fts = solr\n fts_solr = break-imap-search url=http://127.0.0.1:8088/solr/' /etc/dovecot/conf.d/90-plugin.conf
service dovecot restart
#Auf einer weiteren console kann man sich die Meldungen anschauen:
multitail -e dovecot /var/log/syslog
# testweise Index meiner Inbox aufbauenlassen:
# Wenn das fehl schlägt debuggen!
doveadm index -u thorsten INBOX; echo $?
0
# telnet localhost imap
Trying ::1...
Connected to localhost.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE STARTTLS AUTH=PLAIN] Dovecot ready.
1 login thorsten SUPERGEHEIMESPASSWORTIMKLARTEXT
1 OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS SPECIAL-USE SEARCH=FUZZY] Logged in
3 select INBOX.Archiv
* FLAGS (\Answered \Flagged \Deleted \Seen \Draft receipt-handled $has_cal $Label4 $Label1 $Label5 $Label2 privat $Label3 NotJunk $Labelwork $Labeltodo $Labelpersonal $Labellater)
* OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft receipt-handled $has_cal $Label4 $Label1 $Label5 $Label2 privat $Label3 NotJunk $Labelwork $Labeltodo $Labelpersonal $Labellater \*)] Flags permitted.
* 7112 EXISTS
* 0 RECENT
* OK [UIDVALIDITY 1311314006] UIDs valid
* OK [UIDNEXT 29144] Predicted next UID
* OK [HIGHESTMODSEQ 833] Highest
3 OK [READ-WRITE] Select completed.
4 search text "apache"
* OK Indexed 53% of the mailbox, ETA 0:08
* OK Indexed 81% of the mailbox, ETA 0:04
* OK Mailbox indexing finished
* SEARCH 20 34 51 115 120 197 259 265 282 309 334 339 349 350 390
422 440 453 454 455 460 471 596 601 673 721 739 751 752 771 783
802 806 842 858 871 897 923 942 954 956 979 1026 1035 1369 1388
1453 1458 1459 1460 1461 1462 1465 1472 1473 1474 1475 1490 1554
1691 1726 1728 1832 1838 1844 1847 1871 1904 1905 1971 1972 1977
2060 2079 2080 2105 2175 2183 2255 2320 2321 2323 2367 2369 2389
2398 2419 2427 2428 2447 2458 2459 2460 2461 2462 2543 2586 2599
2600 2603 2605 2629 2993 3037 3048 3068 3373 3515 3516 3541 3706
3793 3795 3865 3866 3889 3897 3899 3900 3901 3935 3984 3988 4013
4024 4030 4031 4067 4068 4112 4201 4336 4359 4365 4366 4481 4482
4483 4484 4624 5074 5113 5137 5138 5277 5340 5380 5395 5408 5443
5531 5550 5674 5770 6084 6254 6301 6323 6374 6412 6413 6414 6606
6631 6633 6634 6635 6712 6714 6749 6754 7012 7013
4 OK Search completed (25.368 secs).
5 search text "apache"
* SEARCH 20 34 51 115 120 197 259 265 282 309 334 339 349 350 390
422 440 453 454 455 460 471 596 601 673 721 739 751 752 771 783
802 806 842 858 871 897 923 942 954 956 979 1026 1035 1369 1388
1453 1458 1459 1460 1461 1462 1465 1472 1473 1474 1475 1490 1554
1691 1726 1728 1832 1838 1844 1847 1871 1904 1905 1971 1972 1977
2060 2079 2080 2105 2175 2183 2255 2320 2321 2323 2367 2369 2389
2398 2419 2427 2428 2447 2458 2459 2460 2461 2462 2543 2586 2599
2600 2603 2605 2629 2993 3037 3048 3068 3373 3515 3516 3541 3706
3793 3795 3865 3866 3889 3897 3899 3900 3901 3935 3984 3988 4013
4024 4030 4031 4067 4068 4112 4201 4336 4359 4365 4366 4481 4482
4483 4484 4624 5074 5113 5137 5138 5277 5340 5380 5395 5408 5443
5531 5550 5674 5770 6084 6254 6301 6323 6374 6412 6413 6414 6606
6631 6633 6634 6635 6712 6714 6749 6754 7012 7013
5 OK Search completed (0.001 secs).
? LOGOUT
* BYE Logging out
? OK Logout completed.
Connection closed by foreign host.
# Wenn der Index mal kaputt geht, kann man einen Neuaufbau erzwingen.
# Das geschieht allerdings erst bei der nächsten Suche:
doveadm fts rescan -u thorsten
Re: [gelöst] dovecot-solr mit solr-jetty vs. solr-tomcat
4 OK Search completed (25.368 secs). => 5 OK Search completed (0.001 secs).
Ich würde sagen die Arbeit hat sich gelohnt!
Ich würde sagen die Arbeit hat sich gelohnt!
Gruß
slu
Das Server Reinheitsgebot:
Debian Bookworm, sonst nichts.
Stolzer Gewinner der Jessie Release Wette:
https://wiki.debianforum.de/Jessie_Release_Wette#SIEGER
slu
Das Server Reinheitsgebot:
Debian Bookworm, sonst nichts.
Stolzer Gewinner der Jessie Release Wette:
https://wiki.debianforum.de/Jessie_Release_Wette#SIEGER
Re: [gelöst] dovecot-solr mit solr-jetty vs. solr-tomcat
ja, das würd ich auch - danke für deinen Thread!
Ich hab noch nen cronjob aufgesetzt:
Ich kann mir das solr-Admininterface ( http://localhohost:8080/solr) anschauen und sehe dort u.a. Statistiken, kann aber auch Suchen absetzen.
Wie sichere ich dieses Interface mit einem Kennwort ab? Ich mag vermeiden, dass sich $unpreviligierte per Portforwarding das Interface zu sich holen und dort rumstöbern…
Ich hab noch nen cronjob aufgesetzt:
Code: Alles auswählen
# cat /etc/cron.d/dovecot-solr
# dovecot-solr commits & optimization
# http://wiki2.dovecot.org/Plugins/FTS/Solr
# Commit should be run pretty often, e.g. every two minutes
*/2 * * * * root /usr/bin/curl -s http://localhost:8088/solr/update?commit=true &>/dev/null
# Optimize should be run somewhat rarely, e.g. once a day
44 3 * * * root /usr/bin/curl -s http://localhost:8088/solr/update?optimize=true &>/dev/null
Wie sichere ich dieses Interface mit einem Kennwort ab? Ich mag vermeiden, dass sich $unpreviligierte per Portforwarding das Interface zu sich holen und dort rumstöbern…
-
- Beiträge: 2951
- Registriert: 24.12.2010 16:50:59
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Rheinland
Re: [gelöst] dovecot-solr mit solr-jetty vs. solr-tomcat
Schau mal hier: https://forge.typo3.org/projects/extens ... r-SecurityThorstenS hat geschrieben:Ich kann mir das solr-Admininterface ( http://localhohost:8080/solr) anschauen und sehe dort u.a. Statistiken, kann aber auch Suchen absetzen.
Wie sichere ich dieses Interface mit einem Kennwort ab? Ich mag vermeiden, dass sich $unpreviligierte per Portforwarding das Interface zu sich holen und dort rumstöbern…
Nicht sofort an den Kopf greifen, weil es sich nicht um die Kombination aus TYPO3 & Solr handelt und nicht Dovecot & Solr. Es ist vielmehr eine Beschreibung, wie man auf URL-Segmente matcht und diese mit einer Basic-Auth versieht.
Gruss syssi
Re: [gelöst] dovecot-solr mit solr-jetty vs. solr-tomcat
Danke dir, das führe ich mir in Ruhe zu Gemüte.
Re: [gelöst] dovecot-solr mit solr-jetty vs. solr-tomcat
@ Thorsten,
wenn Du es hast würde ich mich über ein HowTo freuen, würde es bei mir nachziehen auch wenn ich keine SSH Gäste habe und man damit eigentlich nicht an 127.0.0.1:8080 ran kommt.
wenn Du es hast würde ich mich über ein HowTo freuen, würde es bei mir nachziehen auch wenn ich keine SSH Gäste habe und man damit eigentlich nicht an 127.0.0.1:8080 ran kommt.
Gruß
slu
Das Server Reinheitsgebot:
Debian Bookworm, sonst nichts.
Stolzer Gewinner der Jessie Release Wette:
https://wiki.debianforum.de/Jessie_Release_Wette#SIEGER
slu
Das Server Reinheitsgebot:
Debian Bookworm, sonst nichts.
Stolzer Gewinner der Jessie Release Wette:
https://wiki.debianforum.de/Jessie_Release_Wette#SIEGER
Re: [gelöst] dovecot-solr mit solr-jetty vs. solr-tomcat
Klar, ist eben fertig geworden, der Link oben sagt alles wichtige.
Zuerst muss eine Rolle( role-solr-admin ) und ein Benutzer (solr-admin) in der Datei /etc/tomcat6/tomcat-users.xml angelegt werden:
Nachdem die Rolle und der Benutzer nun definiert sind, kann man in der /etc/solr/web.xml am Ende vor dem schließenden </web-app> der Anwendung mitteilen, dass der URL-Teil „/admin/*“ zu schützen ist:
Das ist der gleiche Code wie unter https://forge.typo3.org/projects/extens ... r-Security beschrieben, nur habe ich
<url-pattern>/*</url-pattern> durch <url-pattern>/admin/*</url-pattern> ergänzt.
Zuerst muss eine Rolle( role-solr-admin ) und ein Benutzer (solr-admin) in der Datei /etc/tomcat6/tomcat-users.xml angelegt werden:
Code: Alles auswählen
root@imap-server:/etc# git diff tomcat6/tomcat-users.xml
diff --git a/tomcat6/tomcat-users.xml b/tomcat6/tomcat-users.xml
index afa5a31..b329628 100644
--- a/tomcat6/tomcat-users.xml
+++ b/tomcat6/tomcat-users.xml
@@ -36,4 +36,7 @@
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
-->
+<!-- solr admin Absicherung-->
+ <role rolename="role-solr-admin"/>
+ <user name="solr-admin" password="solr-admin-super-secret-password" roles="role-solr-admin"/>
</tomcat-users>
Code: Alles auswählen
root@imap-server:/etc# git diff solr/web.xml
diff --git a/solr/web.xml b/solr/web.xml
index b709bda..3247f2b 100644
--- a/solr/web.xml
+++ b/solr/web.xml
@@ -150,4 +150,25 @@
<welcome-file>index.html</welcome-file>
</welcome-file-list>
+ <security-constraint>
+ <web-resource-collection>
+ <web-resource-name>
+ Solr authenticated application
+ </web-resource-name>
+ <url-pattern>/admin/*</url-pattern>
+ <http-method>GET</http-method>
+ <http-method>POST</http-method>
+ </web-resource-collection>
+ <auth-constraint>
+ <role-name>role-solr-admin</role-name>
+ </auth-constraint>
+ </security-constraint>
+ <login-config>
+ <auth-method>BASIC</auth-method>
+ <realm-name>Basic Authentication</realm-name>
+ </login-config>
+ <security-role>
+ <description>Admin role</description>
+ <role-name>role-solr-admin</role-name>
+ </security-role>
</web-app>
<url-pattern>/*</url-pattern> durch <url-pattern>/admin/*</url-pattern> ergänzt.
Re: [gelöst] dovecot-solr mit solr-jetty vs. solr-tomcat
Vielen Dank
Gruß
slu
Das Server Reinheitsgebot:
Debian Bookworm, sonst nichts.
Stolzer Gewinner der Jessie Release Wette:
https://wiki.debianforum.de/Jessie_Release_Wette#SIEGER
slu
Das Server Reinheitsgebot:
Debian Bookworm, sonst nichts.
Stolzer Gewinner der Jessie Release Wette:
https://wiki.debianforum.de/Jessie_Release_Wette#SIEGER