Ecartis Installieren

Aus Hostsharing Wiki
Wechseln zu: Navigation, Suche

Achtung:

Ecartis ist der aktuellen Debian Version nicht mehr enthalten und auch das Original-Projekt scheint nicht mehr zu existieren. Eine Neuinstallation von Ecartis ist daher nicht mehr zu empfehlen.


Achtung 2:

Nach der Wheezy-Umstellung (4/2014) fehlen Ecartis die Module aus /usr/lib/ecartis/modules/. Lösung: Private Kopie in der lokalen Ecartis-Instalation ablegen, und den Pfad in ecartis.cfg eintragen. Quelle: http://sie00.hostsharing.net/ecartis-modules.tgz Der Druck wächst, auf ein anderes Tool umzusteigen.


Mailinglisten mit ecartis

Ecartis ist ein Programm, mit dem Bei Hostsharing EMail-Verteiler realisiert werden können.

Vergleichen Sie dazu auch den Wikipedia-Artikel: Mailingliste

Alternative: Mailman, mlmmj

Diese Anleitung beschreibt die Installation von Ecartis in einem Hostsharing WEB-Paket für eine Domain.

ecartis

Einrichten

Zunächst muss eine eigene Installation der Ecartis-Software in das Hostsharing-Paket kopiert werden.

Rufe dazu als Paket-Admin auf:

 cp -rL /usr/lib/ecartis $HOME
 mkdir $HOME/ecartis/queue

Und um fremde Blicke auf die E-Mail-Adressen der Teilnehmer/innen zu verhindern:

 chmod -R o-rwx $HOME/ecartis

Im Verzeichnis ecartis befindet sich die Konfigurationsdatei ecartis.cfg, welche den Listenmanager steuert.

Konfiguration

ecartis.cfg

Für den Listenmanager müssen nun in ecartis.cfg mehrere Variablen angepasst werden. Eine detailierte Beschreibung der einzelnen Optionen gibt es unter: http://www.ecartis.org/variables.html].

Hier die notwendigen Einstellungen in ecartis.cfg:

 listserver-address = ecartis@example.com
 listserver-admin = postmaster@example.com
 listserver-root = /home/pacs/xyz00/ecartis
 listserver-conf = /home/pacs/xyz00/ecartis
 listserver-data = /home/pacs/xyz00/ecartis
 listserver-modules = /home/pacs/xyz00/ecartis/modules

E-Mail Adresse

Im Folgenden benutze ich den Paket-User xyz00 als Empfänger für alle E-Mails, die an Ecartis gehen. Die Verteilung erfolgt in der Datei .procmailrc.

Zunächst stelle ich sicher, dass für den Paket-User kein EMail-Alias eingerichtet ist, bzw. ich lösche es:

 hsadmin --call:emailalias.search
 hsadmin --call:emailalias.delete --where:name=xyz00

Dann richte ich die Adresse des Mailinglisten-Managers selbst ein:

 hsadmin --call:emailaddress.add --set:target=xyz00 --set:localpart=ecartis --set:domain=example.com

In der Datei $HOME/.procmailrc trage ich ein (siehe auch Procmail):

:0
* ^X-Original-To: ecartis@example.com
|$HOME/ecartis/ecartis

Test

Damit ist das Mailinglistensystem erreichbar und eine E-Mail an ecartis@example.com mit dem Inhalt help schickt uns die Datei ecartis.hlp zurück, die man später natürlich an seine Bedürfnisse anpassen kann.

Einrichten einer Mailingliste

Mailinglisten

Einrichten

Man fügt nun den einzelnen Listenmanagern Listen hinzu. Dazu wechselt man in das Verzeichnis des jeweiligen Listenmanagers.

Aufruf:

 cd $HOME/ecartis
 ./ecartis -newlist NAMEDERLISTE

Dann wird man nach dem Administrator der einzurichtenden Liste gefragt und nach der Eingabe der E-Mail-Adresse erhält man eine Liste von Aliases.

Folgendes gibt uns der Befehl zurück:

Aliases for 'testmailingliste' mailing list.
testmailingliste: "|/home/pacs/xyz00/mailinglist/ecartis -s testmailingliste"
testmailingliste-request: "|/home/pacs/xyz00/mailinglist/ecartis -r testmailingliste"
testmailingliste-repost: "|/home/pacs/xyz00/mailinglist/ecartis -a testmailingliste"
testmailingliste-admins: "|/home/pacs/xyz00/mailinglist/ecartis -admins testmailingliste"
testmailingliste-moderators: "|/home/pacs/xyz00/mailinglist/ecartis -moderators testmailingliste"
testmailingliste-bounce: "|/home/pacs/xyz00/mailinglist/ecartis -bounce testmailingliste"

Diese Aliases setze ich nicht in dieser Form um, sondern nutze den recipient_delimiter von Postfix und die .procmailrc:

Aliases ersetzen

Durch den Aufruf von ecartis -newlist wurde eine Konfigurationsdatei für die neue Mailingliste angelegt. Die Datei heißt $HOME/ecartis/lists/testmailingliste/config.

Hier ändere ich zunächst die folgenden Einträge:

 reply-to = testmailingliste@example.com
 administrivia-address = testmailingliste+admins@example.com
 moderator = testmailingliste+moderators@example.com
 send-as = testmailingliste+bounce@example.com

Bitte das "+"-Plus-Zeichen im Localpart der EMail-Adressen beachten!

Mit hsadmin lege ich eine EMail-Adresse an:

 hsadmin --call:emailaddress.add --set:localpart=testmailingliste --set:domain=example.com --set:target=xyz00

Statt der Aliases mache die folgenden Einträge in die .procmailrc:

:0
* ^X-Original-To: testmailingliste@example.com
|$HOME/ecartis/ecartis -s testmailingliste
:0
* ^X-Original-To: testmailingliste\+request@example.com
|$HOME/ecartis/ecartis -r testmailingliste
:0
* ^X-Original-To: testmailingliste\+repost@example.com
|$HOME/ecartis/ecartis -a testmailingliste
:0
* ^X-Original-To: testmailingliste\+admins@example.com
|$HOME/ecartis/ecartis -admins testmailingliste
:0
* ^X-Original-To: testmailingliste\+moderators@example.com
|$HOME/ecartis/ecartis -moderators testmailingliste
:0
* ^X-Original-To: testmailingliste\+bounce@example.com
|$HOME/ecartis/ecartis -bounce testmailingliste


Jetzt gibt es eine offene Liste mit der Adresse testmailingliste@example.com, an der man sich mit einer E-Mail an testmailingliste+request@example.com mit dem Inhalt subscribe anmelden kann.

Konfigurieren einer Mailingliste

Jeder Listenmanager besitzt ein Unterverzeichnis /lists, in welchem die zugehörigen Listen verwaltet werden. Jeder Mailingliste wird ein Verzeichnis unterhalb dieses Verzeichnisses zugeordnet. Es hat den Namen der Mailingliste. Die Konfigurationsdatei für die einzelnen Listen heißt config und ist dort abgelegt. Eine detaillierte Beschreibung der einzelnen Optionen gibt es unter: [1].

Konfiguration

Hier nur die wichtigsten Einstellungen, die man konfigurieren sollte:

  • list-owner = der Eigentümer der Liste
  • subject-tag = eine Zeichenfolge die im Betreff vorangestellt wird (wie [global] bei unserer global(at)hostsharing.net Mailingliste)
  • description = eine Beschreibung der Liste
  • reply-to = Adresse der Liste (in unserem Beispiel: testmailingliste@example.com)
  • administrivia-address = in unserem Beispiel testmailingliste+admins@example.com
  • humanize-mime = false
  • humanize-quotedprintable = true

Sorgen gemeinsam für eine ordentliche Handhabung von Umlauten, sie werden verstanden und es werden passende Header generiert.

  • mbox-archive-path = wenn man möchte, kann man alle Mails, die über die Liste verschickt werden, archivieren
  • subscribe-mode = hier gibt es 3 mögliche Einstellungen:
    1. open - Der Benutzer meldet sich per subscribe an und wird direkt in die Liste eingetragen
    2. confirm - Der Benutzer muss die Anmeldung anhand einer zugeschickten Mail bestätigen
    3. closed - Die Anmeldung muss vom Listenadmin erlaubt werden
  • unsubscribe-mode = hier gibt es 3 mögliche Einstellungen:
    1. open - Der Benutzer meldet sich per unsubscribe ab und wird direkt aus der Liste ausgetragen
    2. confirm - Der Benutzer muss die Abmeldung anhand einer zugeschickten Mail bestätigen
    3. closed - Die Abmeldung muss vom Listenadmin erlaubt werden

Unterschiedliche Mailinglistentypen

offene Liste

Offene Liste bedeutet, dass jeder an die Liste schreiben kann, die dann an alle eingetragenen E-Mail-Adressen verteilt wird (Beispiel: global(at)hostsharing.net). Dies ist der Standard bei der Einrichtung einer Liste und benötigt keine besonderen Einstellungen

geschlossene Liste

bedeutet, dass nur E-Mails von den Eingetragenen verteilt werden. Diese Listenart wird auch als member-only bezeichnet (Beispiel: members(at)hostsharing.net).

Hierfür müssen folgende Optionen gesetzt werden:

closed-post = true

Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.

moderierte Liste

bedeutet, dass E-Mails von jemandem authorisiert werden müssen, bevor sie verteilt werden. Wird in den meisten Fällen für Newsletter o.ä. verwendet, wo man als Betreiber den Eingetragenen E-Mails schicken will, aber eine Kommunikation der Eingetragenen untereinander nicht gewollt ist (Beispiel: global-announce(at)hostsharing.net).

Hierfür müssen folgende Optionen gesetzt werden:

moderated = yes
moderate-include-queue = true
moderator = testmailingliste+moderators@example.com

Sinnvoll ist außerdem confirm oder closed bei subscribe-mode und unsubscribe-mode einzutragen.

Autorisierung

Für die Authorisierung gibt es mehrere Möglichkeiten:

admin-approvepost = true

Damit werden alle E-Mails der Listenadministratoren direkt verschickt. Es wird nur überprüft, ob die Absender-E-Mail-Adresse übereinstimmt, da diese aber sehr leicht gefälscht werden kann, ist es nur ein sehr schwacher Schutz.

post-password = geheimesPasswort

Das setzt das Passwort für diese Liste auf geheimesPasswort und nur E-Mails mit der folgenden Zeile im Header der E-Mail werden verteilt: X-posting-pass: geheimesPasswort

Wenn man keine der beiden Optionen benutzt, dann wird die E-Mail zuerst an den Administrator der Liste geschickt, der sie bestätigen muss.

Weitere Möglichkeiten

Verschiedene Domains

Wenn man für verschiedene seiner Domains eigenständige Mailinglistensysteme betreiben will, so kann man das Verzeichnis ecartis als Vorlage verwenden und beliebig kopieren. Dann sind natürlich die EMail-Adresse und die Einträge in der .procmailrc zur Steuerung des Listenmanagers per E-Mail ebenfalls zu kopieren und entsprechend anzupassen.