Axigen Mailserver

axigenBei Axigen handelt es sich um einen kommerzieller Mailserver mit Groupware-Erweiterungen. Axigen unterstützt zahlreiche Plattformen, wie Linux, BSD, Solaris und Windows und bietet in der aktuellen Version ein ansprechendes Ajax Webfrontend. Für kleinere Netzwerke ist eine kostenlose ‘Office Edition’ für 5 Benutzer und eine Domain erhältlich. Da ich seit längerem auf der Suche nach einem Ersatz für Google Apps bin habe ich mich entschlossen mit das Produkt näher anzusehen und auch gleich diese Anleitung zu schreiben die dir helfen soll deinen eigenen Axigen Server einzurichten.


Als Host empfehle ich eine aktuelle CentOS i386 Version ohne grafische Oberfläche (optional in einer KVM Instanz). Da Axigen einen eigenen Mailserver mitbringt muss vor der Installation sichergestellt werden das kein anderer Mailserver läuft. In der Standardinstallation wird unter CentOS sendmail installiert. Mit Hilfe von service sendmail stop | chkconfig sendmail off kann die Anwendung beendet und der automatische Start des Dienstes beim Systemstart unterbunden werden.

Nach dem Herunterladen des passenden Axigen Pakets von der Herstellerseite kannst du es mit Hilfe von sh axigen-*.i386.rpm.run und dem darauf folgenden Abnicken der Lizenzbestimmungen installieren. Die initiale Konfiguration erfolgt über das /opt/axigen/bin/axigen-cfg-wizard Script. Der textbasierte Wizard ist selbsterklärend und wird im Detail in der Online Dokumentation beschrieben. Wichtig ist die Angabe der Primary Domain. Hier sollte die TLD angegeben werden, für den sich der Server zuständig fühlen soll (also z.B. deinedomain.ch). Bei der Einrichtung wird ein gleichnamiges Verzeichnis unter /var/opt/axigen/domains angelegt, in dem alle Objekte und Mails der Domain abgespeichert werden.

Die weiteren Voreinstellungen können belassen oder je nach Vorlieben angepasst werden. Standardmässig wird POP3, IMAP und Webmail ohne SSL/TLS Verschlüsselung aktiviert. Für jeden der Dienste kann angegeben werden auf welchen Interfaces er lauschen soll. Wichtig ist noch der Punkt Relay Policies. Falls der Server aus dem Internet erreichbar ist, darf auf dem entsprechenden Interface auf keinen Fall replaying ohne Authentifizierung aktiviert werden. Möchtest du Mails direkt von der Kommandozeile des Servers aus verschicken können, so muss der Sendmail Wrapper eingerichtet werden.

Damit ist die Grundkonfiguration auch schon abgeschlossen. Um auf die Administrationskonsole und die eingerichteten Dienste zugreifen zu können, müssen noch die entsprechenden Ports in der Firewall freigeschaltet werden. Starte dazu bitte system-config-securitylevel-tui und wähle den Punkt Anpassen. Hier kannst du unter Eingang ermöglichen: die Punkte SSH, WWW, Sicheres WWW und Mail wählen und unter Andere Ports: 9000:tcp 143:tcp 110:tcp angeben.

service axigen start | chkconfig axigen on startet den Dienst und aktiviert den automatischen Start beim Systemstart. Nun solltest du über den Aufruf der URL http://IP-Adresse-des-Servers:9000 auf das Admin Frontend zugreifen und dich mit dem Benutzer ‘admin’ und dem während der Installation angegebenen Passwort anmelden können.

Die Grundeinstellungen sind weitestgehend korrekt. Wir möchten jedoch den Zugriff auf das Webmail Frontend über HTTPS ermöglichen. Öffne dazu bitte den Punkt Services / Webmail und wähle beim Listener den Punkt Edit. Hier kannst du den Port auf 443 umstellen. Das Ändern des Ports alleine reicht natürlich nicht aus. Aktiviere bitte auf dem Reiter SSL Settings den Punkt Enable SSL for this listener. Während der Installation wird unter /var/opt/axigen/axigen_cert.pem ein selbstsigniertes Zertifikat erstellt welches bei Path to certificate file: angegeben werden kann. Mit Save Configuration aktivierst du die Konfiguration. Um Anfragen auf HTTP Port 80 auf HTTPS Port 443 umzuleiten, kann der Apache Webserver genutzt werden. Dieser wird mit yum install httpd installiert. Der redirect auf HTTPS kannst du in der Apache Konfigurationsdatei /etc/httpd/conf/httpd.conf wir folgt definieren:

Redirect / https://URL-des-Axigen-Servers

Nach dem Start des Dienstes mit service httpd start sollten alle regulären HTTP Anfragen auf den neu eingerichteten Axigen HTTPS Listener weitergeleitet werden.

SpamAssassin

Axigen bringt eine Version des SpamAssassin Spamfilters mit. Um diese nutzen zu können müssen die axigenfilters gestartet werden. Da bei deren Start per Default auch der kommerzielle Spamfilter commtouch mitgestartet würde, der nicht SELinux kompatibel ist, sollte dieser Daemon in der Datei /etc/sysconfig/axigenfilters aus der Variablendefinition DAEMONS= entfernt werden.

Leider wurden während der Installation einige Rechte nicht korrekt gesetzt, was dazu führt das lock files nicht korrekt angelegt werden können. Um diese Problem zu lösen, setze bitte zunächst die Rechte korrekt:

chown -R axigen:axigen /var/opt/axigen/spamassassinauto-whitelist.lock

und erweitere die Variablendefinition DAEMON_OPTIONS_spamd=”-d” in der Datei /etc/init.d/axigenfilters um -u axigen so dass der spamd Dienst unter den axigen Benutzerkontext gestartet wird.

Nun kann die Filtererweiterung mit service axigenfilters start | chkconfig axigenfilters on und im Admin Frontend Bereich Security & Filtering / AntiVirus and AntiSpam über den Punkt SpamAssassinBundled -> Enable gestartet und aktiviert werden.

sa-update

Auch das automatische Update der SpamAssassin Regeln mit Hilfe von sa-update funktioniert nicht korrekt. Grund dafür ist ein fehlendes Perl Modul. Da Axigen eine eigene Perl Instanz mitbringt muss diese Erweiterung dort installiert werden.

Lade dazu bitte zunächst das Archive::Tar Paket herunter und entpacke es. Nach dem Wechsel in das entstandene Verzeichnis kannst du das Modul wie folgt installieren:

/opt/axigen/perl5/bin/perl Makefile.PL
make
make install

Alternativ kann auch das enthaltene CPAN genutzt werden:

/opt/axigen/perl5/bin/perl -MCPAN -e 'install Package::Constants'

Um die Signaturen täglich zu aktualisieren kannst du ein Script: /etc/cron.daily/sa-update mit folgendem Inhalt

#!/bin/bash
/opt/axigen/bin/sa-update --updatedir /etc/opt/axigen/spamassassin/rules

erstellen und mit:

chmod 755 etc/cron.daily/sa-update

ausführbar machen.

ClamAV

Nun fehlt nur noch ein Virenscanner. Axigen bringt Schnittstellen für einige kommerzielle Virenscanner wie AVG aber auch für ClamAV mit. ClamAV ist kein Bestandteil der CentOS Distribution, kann aber über das EPEL Repository installiert werden. Hinweise zur Einbindung und Nutzung von EPEL findest du im entsprechenden FAQ auf fedoraproject.org.

Mit Hilfe von yum install clamav-server clamav-update kannst du die benötigten Komponenten installieren. ClamAV erfordert leider etwas Konfigurationsarbeit. Kopiere dir am besten die beiliegende Beispielkonfiguration mit:

cp /usr/share/doc/clamav-server-*/clamd.conf /etc/clamd.d/axigen.conf

und bearbeite folgende Werte:

# Wichtig: Die Example Zeile muss auskommentiert oder gelöscht werden.
# Example
LogFile /var/log/clamd.axigen
PidFile /var/run/clamd.axigen/clamd.pid
LocalSocket /var/run/clamd.axigen/clamd.sock
User axigen

Nun kannst du noch einen Symlink auf das Programm:

ln -s /usr/sbin/clamd /usr/sbin/clamd.axigen

und ein Verzeichnis für die PID und eine leere Logdatei erstellen:

mkdir -p /var/run/clamd.axigen
chown axigen:axigen /var/run/clamd.axigen
touch /var/log/clamd.axigen
chown axigen:axigen /var/log/clamd.axigen

Jetzt fehlt nur noch ein init Script. Die Dokumentation enthält ein Beispiel, das wir nutzen können:

cp /usr/share/doc/clamav-server-*/clamd.init /etc/init.d/clamd.axigen
chmod 755 /etc/init.d/clamd.axigen

Passe in der Datei: /etc/init.d/clamd.axigen bitte noch die Variable:

# description: The clamd server running for axigen
CLAMD_SERVICE=axigen

an.

Mit service clamd.axigen start | /sbin/chkconfig clamd.axigen on startest und aktivierst du den Dienst.

ClamAV kann wahlweise mit lokalen oder TCP Sockets arbeiten. Obiges Beispiel geht von einer lokalen Socket Datei aus. Damit Axigen auch darauf zugreifen kann, muss die Konfigurationsdatei: /var/opt/axigen/run/axigen.cfg angepasst werden. Diese enthält per default zwei Beispielkonfigurationen, AV:ClamAV für TCP Sockets und ClamAV-local für Socket Files.

Der ClamAV-local Abschnitt kann also einfach auf obige Konfiguration hin angepasst werden und sieht dann wie folgt aus:

name = "ClamAV-local"
address = "local:///var/run/clamd.axigen/clamd.sock"
protocolFile = "/var/opt/axigen/filters/clam-av.afsl"
idleTimeout = 60
actionOnMatch = discard
maxConnections = 10

Wie auch beim SpamAssassin muss der Filter im Admin Frontend Bereich Security & Filtering / AntiVirus and AntiSpam über den Punkt ClamAV-local -> Enable aktiviert werden.

freshclam

ClamAV wird über freshclam aktualisiert. Die enthaltene Konfigurationsdatei: /etc/freshclam.conf muss wie folgt bearbeitet werden:

# Wichtig: Auch hier muss die Example Zeile auskommentiert oder gelöscht werden.
# Example
DatabaseOwner axigen

Erstelle daraufhin bitte ein leeres Logfile und passe die Rechte entsprechendan:

touch /var/log/freshclam.log
chown axigen:axigen /var/log/freshclam.log

Damit freshclam unter dem axigen Benutzerkontext arbeiten kann müssen auch noch die Rechte auf das Datenbankverzeichnis angepasst werden:

chown -R axigen:axigen /var/lib/clamav/

freshclam lädt via cron Signaturupdates herunter nachdem du in der Datei /etc/sysconfig/freshclam die Zeile:

FRESHCLAM_DELAY=disabled-warn # REMOVE ME

auskomment oder gelöscht hast.

Feinarbeit

clamav schickt seine Benachrichtigungen an postmaster, webmaster und clamav. Es ist also sinnvoll auf dem postmaster Account noch die Aliases webmaster und clamav zu hingerlegen.

Nun kannst du über den Punkt Manage Accounts in der Administrationsoberfläche weitere Konten hinzufügen.

About Marcus

Comments

2 Responses to “Axigen Mailserver”
  1. Didi sagt:

    Cool. Werde ich mal probieren. Postfix mit dove ist nicht soo doll. Vielleicht ein CentOS wiki eintrag wert :)

    Lg Didi

Trackbacks

Check out what others are saying about this post...


Speak Your Mind

Tell us what you're thinking...
and oh, if you want a pic to show with your comment, go get a gravatar!