…auf debian lenny.

die erste testinstallation habe ich in einer vmware gemacht und das mailarchiv auf ein nas gelegt, welches ich per nfs eingebunden hatte. der einfachkeit halber beschreibe ich hier die rein lokale installation.

1. erstmal ein nacktes minimal lenny einrichten und dann ein paar paketchen nachinstallieren:

apt-get install ssh mc make gcc linux-headers-`uname -r` ssh sysvinit-utils psmisc openjdk-6-jdk nfs-common unzip lsof less nmap python-pysqlite2 fetchmail

nicht alle sind zwingend voraussetzung fuer openbenno, aber in meinem setup benoetige ich die. voraussetzung fuern benno sind: openjdk-6-jdk python-pysqlite2

2. die quellen von openbenno.org nach /tmp runterladen:

siehe http://www.openbenno.org/?page_id=68
insgesamt sind das drei zip files (BennoCore, BennoSearch, BennoAdmin)

3. einen user anlegen:

useradd -s /bin/false benno

4. verzeichnisse anlegen:

mkdir -p /srv/mailarchive/
mkdir -p /srv/mailarchive/index
mkdir -p /srv/mailarchive/userdb

chown benno.benno /srv/mailarchive/
chown benno.benno /srv/mailarchive/index
chown benno.benno /srv/malarchive/userdb

ich empfehle fuer die ersten tests, die verzeichnisse genau so anzulegen. das index und userdb verzeichnis muessen zwar nicht zwingen unter mailarchive liegen, aber diese pfade sind an mehreren stellen angegeben und es minimiert die eingabefehler bei der verwendung von bennoadmin und vereinfacht alles erstmal. fuer ein spaeteres produktiv setup kann man dann das mailarchive auf ein externes nas storage legen und den index auf eine schnelle, lokale platte.

5. bennocore installieren

mkdir /tmp/bennocore
mv /tmp/bennocore-xxxxxxxxxx.zip /tmp/bennocore
cd /tmp/bennocore
unzip bennocore-xxxxxxxxxx.zip
mkdir -p /opt/bennocore
cp -r lib/ bennocore.jar /opt/bennocore

und falls es noch nicht so ist:

chown benno.benno /opt/bennocore -R

dann noch das init script und die config dazu:

cp -r scripts/init.d/benno-smtp /etc/init.d
cp -r scripts/default/benno-smtp /etc/default
update-rc.d benno-smtp defaults

6. bennocore einstellungen anpassen in:

edit: /etc/default/benno-smtp

7. bennoadmin installieren:

mkdir /tmp/bennoadmin
mv /tmp/bennoadmin-xxxxxxxxxx.zip /tmp/bennoadmin
cd /tmp/bennoadmin
unzip bennoadmin-xxxxxxxxxx.zip
mkdir -p /opt/bennoadmin
cp -r lib/ bennoadmin.jar /opt/bennoadmin

8. benno-smtp starten

in der version 1.0.0 gibts nen kleinen bug, der mit version 1.0.1 behoben sein soll: benno-smtp startet nicht, weil ein paar dateien unter dem index verzeichnis fehlen. abhilfe schafft entweder das loeschen des leeren index vereichnisses:

rmdir /srv/mailarchive/index

…oder das anlegen eines “leeren” indexes durch bennoadmin (installation siehe weiter unten) mit diesem befehl:

java -jar /opt/bennoadmin/bennoadmin.jar optimize /srv/mailarchive/index/

/etc/init.d/benno-smtp start

checken, ob benno-smtp laeuft:

netstat -antp|grep 2500

9. tomcat installieren

tomcat6 gibts leider nicht als deb paket. daher eine manuelle installation:

cd /tmp
wget http://apache.imsam.info/tomcat/tomcat-6/v6.0.18/bin/apache-tomcat-6.0.18.tar.gz
tar -xzvf apache-tomcat-6.0.18.tar.gz
mv apache-tomcat-6.0.18 /opt/tomcat

ein absolut rudimentaeres init-script, welches ich bald durch ein gescheites ersetzen werde:
edit: /etc/init.d/tomcat
#!/bin/sh
# Tomcat Init-Script
case $1 in
start)
sh /opt/tomcat/bin/startup.sh
;;
stop)
sh /opt/tomcat/bin/shutdown.sh
;;
restart)
sh /opt/tomcat/bin/shutdown.sh
sh /opt/tomcat/bin/startup.sh
;;
esac
exit 0

update-rc.d tomcat defaults

edit: /opt/tomcat/conf/tomcat-users.xml

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="manager"/>
<role rolename="admin"/>
<user username="USERNAME" password="PASSWORD" roles="admin,manager"/>
</tomcat-users>

10. bennosearch (die weboberflaeche) installieren:

mkdir /tmp/bennosearch
mv /tmp/bennosearch-xxxxxxxxxx.zip /tmp/bennosearch
cd /tmp/bennosearch
unzip bennosearch-xxxxxxxxxx.zip
cp bennosearch.war /opt/tomcat/webapps

die authentifizierung wird mit python gegen eine sqlite db gemacht. (daher das paket python-pysqlite2 am anfang). wer andere mechanismen benoetigt, kann diese leicht selbst schreiben.

cd /tmp/bennosearch
cp scripts/UserDetails /srv/mailarchive/userdb
cp scripts/userdetails.py /srv/mailarchive/userdb

und dann:

/etc/init.d/tomcat start

11. testen!

und einloggen mit "admin" und "passwd" auf:
http://ipadresseoderhostname:8080/bennosearch/

fuers erste wars das. ergaenzung folgen evtl noch.

ggf. 12. mails per fetchmail aus einem "sammelpostfach" abholen:

fuer einen unprivilegierten user (z.b. benno) im homeverzeichnis eine datei ".fetchmailrc" erstellen:

poll "pop.server.tld"
proto pop3
user "archiv@mydomain.tld"
pass "topsecret"
smtphost "localhost/2500"
options ssl

per crontab -e fuer diesen user einen cronjob einrichten:

0 */1 * * * /usr/bin/fetchmail

1 kommentar
kommentar abgeben

MySQL query error