OpenEMM auf 64 bit Systemen

OpenEMM ist ein frei verfügbares Newslettertool, das von der Firma AGNITAS AG entwickelt wurde. Mit diesem können diverse Newsletter gemanagen werden, mit entsprechenden Layouts und eigenen Emaillisten. Fehlerhafte Emails werden über ein Sendmail-Backend erkannt und aus der entsprechenden Liste ausgetragen. Ein zusätzliches Double-Opt-In und Out ist möglich. Mit einem Vserver für ca. 10Euro lassen sich sehr gute Ergebnisse bis einige Tausend Emails erreichen.

Die Insatallation auf Linux Systemen läuft einfach ab. Es sind diverse Anleitungen für verschiedene Distributionen (u.A. für Debian/Ubuntu) vorhanden. Ein Shellzugriff ist aber dringend notwendig.

Die Grundlegenden Schritte sind:

    • – Systemupdate
    • – Mysql/Sendmail Installation
    • – Benutzer/Gruppe anlegen
    • – Java downloaden + installieren
    • – (Firewallregeln setzen)
    • – OpenEMM downloaden / entpacken/ Rechte setzen
    • – Sendmail.conf umschreiben (für Backend)
    • – Datenbank aufsetzen
    • – OpenEMM starten
    • – (Port 80 auf Port 8080 umleiten) [Funktioniert nicht auf allen Vservern auf Grund fehlender Kernelmodule]

… und schon kanns losgehen. Dauer der Prozedur, ca. 30 min. ohne Downloadzeiten.

Auf 64bit Systemen kann es zu folgender Fehlermeldung kommen:

openemm@vserver:~$ OpenEMM.sh start
Start /home/openemm/bin/scripts/bav-update.py .. done.
Start /home/openemm/bin/scripts/bav-trigger.py .. done.
Start /home/openemm/bin/scripts/bavd.py .. done.
Start /home/openemm/bin/bav -L INFO .. done.
Start /home/openemm/bin/scripts/update.py bounce account .. done.
/home/openemm/bin/pickdist.sh: line 31: /home/openemm/bin/xmlback: No such file or directory
Start /home/openemm/bin/scripts/pickdist.py .. done.
Stopping obsolete sendmail processes:  /home/openemm/bin/mailer.sh: line 37: /home/openemm/bin/smctrl: No such file or directory
 done.
Starting sendmails:   listener /home/openemm/bin/mailer.sh: line 43: /home/openemm/bin/smctrl: No such file or directory
 client queue mqueue-client /home/openemm/bin/mailer.sh: line 47: /home/openemm/bin/smctrl: No such file or directory
 admin queue /home/openemm/bin/mailer.sh: line 51: /home/openemm/bin/smctrl: No such file or directory
 mail queue /home/openemm/bin/mailer.sh: line 53: /home/openemm/bin/smctrl: No such file or directory
 done.
Start /home/openemm/bin/scripts/slrtscn.py .. done.

Und beim Stoppen des Servers:

openemm@vserver:~$ OpenEMM.sh stop
Stopping httpd
Stop scripts/slrtscn.py program  .. delaying 2 seconds .. done.
Stop all sendmail processes:  /home/openemm/bin/mailer.sh: line 62: /home/openemm/bin/smctrl: No such file or directory
[...]

Der Fehler (/home/openemm/bin/smctrl: No such file or directory) in den entsprechenden Scripten lässt auf Fehlende Binaries schliepen, was aber nicht der Fall ist.  Die Binaries sind installiert und die entsprechenden Rechte gesetzt. Das Problem liegt viel mehr, darin, dass die Java-Binaries auf 32bit ausgelegt sind. Das Frontend funktioniert zwar auch ohne, aber fast alle Funktionen versagen ohne Grund den Dienst, da die Steuerprogramme im Hintergrund nicht laufen. Nach der Installation des Kompatibilitätsbinaries, funktionieren alles Scripte einwandfrei. q.e.d.

apt-get install ia32-sun-java5-bin
openemm@vserver:~$ OpenEMM.sh start
Start /home/openemm/bin/scripts/bav-update.py .. done.
Start /home/openemm/bin/scripts/bav-trigger.py .. done.
Start /home/openemm/bin/scripts/bavd.py .. done.
Start /home/openemm/bin/bav -L INFO .. done.
Start /home/openemm/bin/scripts/update.py bounce account .. done.
Start /home/openemm/bin/scripts/pickdist.py .. done.
Stopping obsolete sendmail processes:   done.
Starting sendmails:   listener  client queue mqueue-client  admin queue  mail queue  done.
Start /home/openemm/bin/scripts/slrtscn.py .. done.
httpd has already started

Comments (3)

JensJuli 10th, 2010 at 7:01 am

Hallo Benjamin,

erstmal danke für den hilfreichen Post.

Was mir allerdings überhaupt nicht klar ist, wie die zwei Dateien smctrl und xmlback mit Java zu tun haben. Ich habe mir den Source von OpenEmm runtergeladen und das scheinen (so weit ich das verstehe) zwei Files zu sein die von openemm sind. Wieso hilft hier die Installation von irgendwelchen Java 32 Bit libraries.

Diese beiden C Programme hängen doch nicht von Java ab. Wäre für eine Antwort sehr dankbar, da ich leider kein so großer Linux experte bin und mich schon ewig mit dem Problem auseinanderschlage..

danke!

BenjaminJuli 14th, 2010 at 12:14 pm

Hallo Jens,
ich hab mir die Dateien im binary Format angesehen. Es sind anscheinend normale Programme, die in C geschrieben sind. Wieso Sie das Script nicht starten kann, bzw. nicht findet, dass kann ich dir auch nicht genau sagen.
Ich denke es liegt daran, dass bestimmte Bibliotheken nicht geöffnet werden können und das Script dann abbricht und die falsche Fehlermeldung „No such file or directory
“ ausgibt. Besser wäre eine Ausgabe wie „Diese Dateien sind für 64-bit Systeme nicht geeignet“.

Die Liste der enthaltenen Dateien aus dem Zusatzpaket liegt z.B. unter http://packages.ubuntu.com/jaunty/amd64/ia32-sun-java5-bin/filelist

StefanAugust 24th, 2010 at 2:55 pm

Hallo
System: Ubuntu 10.04 LTS – 64 Bit:
Ich hab die java6 Version installiert und es hat auch perfekt geklappt.

apt-get install ia32-sun-java6-bin

Danke für die Hilfe