wiki:MaiaInstallDeutsch

Maia Mailguard Installieren


English | Deutsch | other languages


Inhalt

  • 1. Benutzer und Gruppe für amavisd anlegen, falls benötigt
  • 2. Letzte stabile Version von Maia Mailguard downloaden
  • 3. Neue Datenbank für amavisd-new und Maia Mailguard erstellen
  • 4. Wartungsscripte und Vorlagen installieren
  • 5. Benötigte Perl Module und Software installieren
  • 6. SpamAssassin 3.x konfigurieren
  • 7. Laden Sie Ihre SpamAssassin Regeln
  • 8. Encryption Key Datei generieren (optional)
  • 9. Die PHP Scripte installieren
  • 10. Die PHP Scripte konfigurieren
  • 11. amavisd-new installieren und konfigurieren

1. Benutzer und Gruppe für amavisd anlegen, falls benötigt

Der amavisd-new Prozess sollte unter seinem eigenen Benutzer und Gruppe laufen. Sollten Sie noch keinen Benutzer für amavisd angelegt haben, so befolgen Sie die untenstehenden Anweisungen: Vergessen Sie nicht ein Passwort für den amavisd Benutzer zu setzen.

[root]# groupadd amavis
[root]# useradd amavis -g amavis -d /var/amavisd
[root]# passwd amavis
[root]# mkdir /var/amavisd
[root]# chown amavis:amavis /var/amavisd

2. Letzte stabile Version von Maia Mailguard downloaden

2.1 Download von einem Subversion Verzeichnis?

Als Benutzer amavis einloggen und den Quellcode per Subversionclient auschecken:

[root]# su amavis
[root]# cd ~
[root]# mkdir svn
[root]# cd svn
[root]# svn checkout https://www.renaissoft.com/svn/maia/tags/V1_0_0_RC5_2/

Hierfür benötigen Sie einen Subversionclient? mit aktivierter SSL Unterstützung. Ersetzen Sie V1_0_0_RC5_2 mit der letzten stabilen Version.

2.2 Download als Tarball

Besuchen Sie die www.maiamailguard.com Seite und downloaden Sie die letzte stabile Version.

[root]# su amavis
[root]# cd ~
[root]# mkdir download
[root]# cd download
[root]# wget http://www.maiamailguard.com/files/maia-1.0.0-rc5-2.tar.gz
[root]# tar -xzf maia-1.0.0-rc5-2.tar.gz

3. Neue Datenbank für amavisd-new und Maia Mailguard erstellen

Maia Mailguard unterstützt eine ganze Anzahl an SQL Datenbanken. Diese Dokumentation bevorzugt MySQL 4.x aber bedenken Sie, dass es kein Problem darstellt Maia Mailguard mit PostgreSQL zum laufen zu bringen.

Als erstes in den Datenbankserver als root einloggen:

[amavis]# mysql -u root -p

Um eine neue Datenbank zu erstellen geben Sie folgendes ein:

mysql> CREATE DATABASE maia;

Diese Anweisung, um eine neue Datenbank zu erzeugen, kann bei anderen Datenbanksystemen als MySQL 4.x unterschiedlich sein. Bitte ziehen Sie die jeweilige Dokumentation des Datenbanksystems zu rate um eine neue Datenbank zu erstellen.

Um die benötigten Tabellen und Einträge zu erzeugen nutzen Sie die Definitionen aus der maia-mysql.sql Datei:

mysql> use maia;
mysql> source /var/amavisd/download/maia/maia-mysql.sql;

Der SQL Syntax in dieser Datei ist für MySQL 4.x entworfen worden. Sie müssen ihn ggf. anpassen um ihn mit einem anderen Datenbanksystem nutzen zu können. (z.B. hat das andere Datenbanksystem andere Schlüsselwörter für unsigned oder auto_increment). Die maia-pgsql.sql Datei beinhaltet hingegen Definitionen für PostgreSQL.

Jetzt müssen Sie dem amavis Benutzer limitierten Zugriff auf die Datenbank geben (ersetzen Sie passwd mit dem Passwort für den amavis Benutzer):

mysql> GRANT CREATE, DROP, ALTER, SELECT, INSERT, UPDATE, DELETE ON maia.* TO amavis@localhost IDENTIFIED BY 'passwd';

Nochmals: Der Syntax um Rechte zu erteilen kann sich bei Ihrem Datenbanksystem unterscheiden. Bitte ziehen Sie die jeweilige Dokumentation des Datenbanksystems zu rate.

Um den MySQL Client zu verlassen geben Sie folgendes ein:

mysql> quit;

Sollten Sie MySQL nutzen müssen Sie ggf. die max_allowed_packet Anweisung in Ihrer my.cnf Datei anpassen oder einfügen. Diese Anweisung legt fest, wie groß das eine SQL Anweisung max sein darf. Dies limitiert somit die Größe der eMails, die Maia Mailguard verarbeiten kann. (Sie können in Maia Mailguard später festlegen was mit eMails geschehen soll, die größer sind.) Beachten Sie, dass in MySQL Versionen kleiner 4.0.1 die maximale Packetgröße 16MByte beträgt. Spätere Versionen akzeptieren Packete die bis zu 1GByte groß sind.

Beispiel für die /etc/mysql/my.cnf

#MySQL Versionen kleiner als 4.0.2:
[mysqld]
set-variable = max_allowed_packet = 10M

#MySQL 4.0.2 oder höher:
[mysqld]
max_allowed_packet = 10M

4. Wartungsscripte und Vorlagen installieren

Maia Mailguard beinhalte eine Sammlung von Perl Scripten, die sich im /scripts Verzeichnis befinden. Installieren Sie diese Dateien in einem Verzeichnis, wo der Webserver keinen Zugriff hat. (z.B. außerhalb des DocumentRoot?) Eine gute Wahl ist ein Unterverzeichnis in Ihrem amavisd-new Homeverzeichnis. Zum Beispiel: /var/amavisd/maia. Erstellen Sie zwei Unterverzeichnisse, eines für die Scripte und eines für die Vorlagen:

[root]# mkdir /var/amavisd/maia
[root]# mkdir /var/amavisd/maia/scripts
[root]# mkdir /var/amavisd/maia/templates

Kopieren Sie nun den Inhalt des Maia Mailguard /scripts Verzeichnisses nach /var/amavisd/maia/scripts und den Inhalt des /templates Verzeichnisses nach /var/amavisd/maia/templates.

[root]# cp /var/amavisd/download/maia/templates/*.tpl /var/amavisd/maia/templates/
[root]# cp /var/amavisd/download/maia/scripts/*.pl /var/amavisd/maia/scripts/
[root]# cp /var/amavisd/download/maia/scripts/database.cfg.dist /var/amavisd/maia/scripts/database.cfg

Setzen Sie den Besitzer der Dateien und Verzeichnisse auf den amavis Benutzer. Und legen Sie die Zugriffsrechte so fest, dass nur der amavis Benutzer zugriff hat:

[root]# chown -R amavis:amavis /var/amavisd/maia
[root]# chmod 640 /var/amavisd/maia/templates/*.tpl
[root]# chmod 750 /var/amavisd/maia/scripts/*.pl
[root]# chmod 640 /var/amavisd/maia/scripts/database.cfg

Bevor Sie die Scripte nutzen können müssen Sie die database.cfg Datei anpassen. In dieser einfachen Datei legen Sie den Username, das Passwort und den Connection String fest, damit die Perlscripte zugriff auf die Maia Mailguard Datebank haben. Tragen Sie die Werte von der zuvor erstellten Datenbank ein. Zum Beispiel:

# Database configuration for Maia Mailguard perl scripts

# Configure your database DSN here
dsn = "DBI:mysql:maia:localhost:3306"

# Your database user's login name
username = "amavis"

# Your database user's password
password = "passwd"

Zum Schluss müssen Sie ggf. die Perlscripte anpassen um den Pfad zur database.cfg Datei einzustellen. Sie finden ie Konfigurationsanweisung oben in der Datei. Zum Beispiel:

# CONFIGURE THIS: Location of your database.cfg file
my $cfg = "/var/amavisd/maia/scripts/database.cfg";

5. Benötigte Perl Module und Software installieren

Überprüfen Sie die benötigten Module. Hierfür können Sie das configtest.pl Script nutzen:

[root]# /var/amavisd/maia/scripts/configtest.pl

amavisd-new:

file(1)              :     3.37 : UPGRADE RECOMMENDED (ftp://ftp.astron.com/pub/file/)
Archive::Tar         :     1.10 : OK
Archive::Zip         :     1.12 : OK
Compress::Zlib       :     1.33 : OK
Convert::TNEF        :     0.17 : OK
Convert::UUlib       :     1.03 : OK
MIME::Base64         :     3.01 : OK
MIME::Parser         :    5.406 : UPGRADE RECOMMENDED
Mail::Internet       :     1.64 : OK
Net::Server          :     0.87 : OK
Net::SMTP            :     2.29 : OK
Digest::MD5          :     2.33 : OK
IO::Stringy          :    2.109 : OK
Time::HiRes          :      1.6 : OK
Unix::Syslog         :     0.99 : OK
DBI                  :     1.43 : OK
DBD::mysql           :   2.9004 : OK
DBD::Pg              :      N/A : NOT INSTALLED (required if you want to use PostgreSQL)


SpamAssassin:

Mail::SpamAssassin   :     2.64 : OK
File::Spec           :     0.88 : OK
Pod::Usage           :     1.14 : OK
HTML::Parser         :     3.36 : OK
DB_File              :     1.75 : OK
Net::DNS             :     0.48 : OK
Digest::SHA1         :     2.10 : OK


Maia Mailguard:

Crypt::Blowfish      :     2.09 : OK
Crypt::CBC           :     2.12 : OK

Database DSN test    : PASSED

Die benötigten Module per CPAN installieren:

[root]# perl -MCPAN -e shell
cpan> install Mail::SpamAssassin
...
...
cpan> quit

Optionale Software um die Spamerkennung zu verbessern:

Freie Viren Scanner:


6. SpamAssassin 3.x konfigurieren

Downloaden Sie die Tabellendefinitionen für die Bayes SQL Datenbank:

[root]# su amavis
[amavis]# cd ~/download
[amavis]# wget http://spamassassin.apache.org/full/3.0.x/dist/sql/awl_mysql.sql
[amavis]# wget http://spamassassin.apache.org/full/3.0.x/dist/sql/bayes_mysql.sql
[amavis]# mysql -u amavis -p
mysql> use maia;
mysql> source /var/amavisd/download/awl_mysql.sql;
mysql> source /var/amavisd/download/bayes_mysql.sql;
mysql> quit;

Hinweis: Sollten Sie MySQL 4.x nutzen, empfehlen wir Ihnen die Tabellentypen von MyISAM auf InnoDB zu ändern um die Geschwindigkeit zu erhöhen.

Bearbeiten Sie die /etc/mail/spamassassin/local.cf Datei mit Ihrem Texteditor, z.B. vim, um die Bayes SQL Datenbank Einstellungen vorzunehmen:
(ersetzen Sie passwd mit dem Passwort für den amavis Benutzer)

# How many hits before a message is considered spam.
required_score          5.0

# Whether to change the subject of suspected spam
rewrite_header          0

# Text to prepend to subject if rewrite_subject is used
subject_tag             *****SPAM*****

# Encapsulate spam in an attachment
report_safe             1

# Use terse version of the spam report
use_terse_report        0

# Enable the Bayes system
use_bayes               1

# Bayes SQL storage config
bayes_store_module                Mail::SpamAssassin::BayesStore::SQL
bayes_sql_dsn                     DBI:mysql:maia
bayes_sql_username                amavis
bayes_sql_password                passwd
auto_whitelist_factory            Mail::SpamAssassin::SQLBasedAddrList
user_awl_dsn                      DBI:mysql:maia
user_awl_sql_username             amavis
user_awl_sql_password             passwd

# Enable Bayes auto-learning
bayes_auto_learn        1

# Enable or disable network checks
skip_rbl_checks         0
use_razor2              1
use_dcc                 1
use_pyzor               1

# Mail using languages used in these country codes will not be marked
# as being possibly spam in a foreign language.
# - english german 
ok_languages            en de 

# Mail using locales used in these country codes will not be marked
# as being possibly spam in a foreign language.
ok_locales              en de

7. Laden Sie Ihre SpamAssassin Regeln

Maia Mailguard benötigt eine Liste aller auf dem System installierten SpamAssassin Regeln um diese in die Datenbank zu laden. Dieses geschied mit Hilfe des Perlscriptes load-sa-rules.pl im /srcipts Unterverzeichnis.

Bevor Sie dieses Script ausführen gehen Sie sicher, dass die Pfadangaben zum SpamAssassin Regelverzeichnis, etc richtig gesetzt sind:
Zum Beispiel:

# CONFIGURE THIS: SpamAssassin directories to search for rules files (*.cf and user_prefs)
my $local_cf_dir = "/etc/mail/spamassassin";
my $system_rules_dir = "/usr/local/share/spamassassin";
my $user_rules_dir = "/var/amavisd/.spamassassin";

$local_cf_dir sollte auf das Verzeichnis der local.cf Datei gesetzt werden.
$system_rules_dir gibt das Verzeichnis der SpamAssassin *.cf Dateien an.
$user_rules_dir sollte auf das amavis-SpamAssassin Benutzerverzeichnis gesetzt werden, wo (optional) user_prefs Dateien liegen.

Führen Sie das Script nun aus:

[root]# /var/amavisd/maia/scripts/load-sa-rules.pl

Das Script die angegebenen Verzeichnisse nach *.cf und user_prefs Dateien durchsuchen und die gefundenen Regeln, Scores und Beschreibungen in die Maia Mailguard Datenbank eintragen.

Sie können dieses Script jederzeit ausführen, wenn Sie Ihre Regeln geupdated oder verändert haben. Das Script wird die Regeln nicht doppelt eintragen, sondern nur aktualisieren. Wenn Sie einen Crontab nutzen um Ihre SpamAssassin Regeln zu aktualisieren sollten Sie das Script jeweils am Ende es Prozesses ausführen, damit die Maia Mailguard Datenbank aktuell bleibt.


8. Encryption Key Datei generieren (optional)

Maia Mailguard unterstützt eine Verschlüsselung(Encryption) der gespeicherten eMails im Zwischenspeicher und in der Quarantäne um die Privatsphäre gegen neugierige Augen mit Datenbankzugriff zu schützen. Maia Mailguard verwendet den Blowfish Algorithmus mit einem 56-Byte (448-Bit) Schlüssel(Key) und dem Chained-Block Cipher(CBC) Modus für eine 2-Wege Verschlüsselung der gespeicherten eMails. Die Verschlüsselung ist für Benutzer völlig transparent, Sie benötigen keine spezielle Software für die ver- und entschlüsselung. Der komplette Ver- und Entschlüsselungsprozess wird von Maia Mailguard übernommen.

Um die Vorteile der Verschlüsselung zu nutzen müssen Sie keinen Key für Ihre Installation generieren. Das generate-key.pl Script erledigt diese Aufgabe für Sie, leiten Sie die Ausgabe einfach in eine Datei um:

[root]# su amavis
[amavis]# /var/amavisd/maia/scripts/generate-key.pl > /var/amavisd/blowfish.key

Speichern Sie die Key Datei in Ihrem amavisd-new Homeverzeichnis und fertigen Sie eine Datensicherung der Key Datei auf einem anderen Server oder auf einer Diskette/CD an, denn sollten Sie einen Festplatten Crash haben und Ihre Key Datei verliegen benötigen Sie diese Datensicherung um die eMails in Ihrer Maia Datenbank zu entschlüsseln.

Hinweis: Weiterhin benötigen Sie diese Key Datei auf Ihrem Webserver, so dass die Maia Mailguard PHP Scripte die gespeicherten eMails entschlüsseln können. Sie können die Key Datei irgendwo auf dem Webserver speichern, müssen jedoch in Maia Mailguard den Pfad einstellen. (in der Systemkonfiguration, siehe Punkt 9. und 10.).

Sie können zu jeder beliebigen Zeit die Verschlüsselung aktivieren, selbst wenn Sie bereits eMails in der Datenbank haben. Maia Mailguard erkennt selbstständigt verschlüsselte und unverschlüsselte eMails, so dass wenn Ihre Datenbank beide Versionen enthält keine Probleme auftreten.


9. Die PHP Scripte installieren

Entscheiden Sie sich, wo Sie die PHP Scripte installieren möchten. Dies sollte ein Unterverzeichnis in Ihrem Webverzeichnis oder ein neue Webuser sein. Als Beispiel nehmen wir das Unterverzeichnis /mail welches sich im DocumentRoot? von Ihrem Webserver befindet (der relative Pfad des Verzeichnisses ist /mail, im Internet erreichbar unter http://www.example.com/mail/). Kopieren Sie den Inhalt des /php Unterverzeichnisses der Maia Mailguard Installation in dieses Verzeichnis.

Hinweis: Ihr Webserver benötigt schreibzugriff auf die maia_html/themes/*/compiled Unterverzeichnisse. (eine sichere Möglichkeit ist suPHP statt mod_php zu nutzen)

Bitte ziehen Sie die Dokumentation Ihres Webservers zu rate.

Ein Beispiel für den Apache Webserver auf Debian:

[root]# adduser --shell /bin/false web001
[root]# mkdir /home/web001/maia_html
[root]# cp -r /var/amavisd/download/maia/php/* /home/web001/maia_html/
[root]# chown -R web001:www-data /home/web001
[root]# chmod 770 /home/web001/
[root]# chmod 770 /home/web001/maia_html/
[root]# chmod 770 /home/web001/maia_html/themes/*/compiled/

Diese Anweisungen erstellen einen neuen Systembenutzer und geben dem Apache Systembenutzer www-data schreibrechte in den maia_html/themes/*/compiled Unterverzeichnissen.

Jetzt noch die httpd.conf anpassen, zum Beispiel:

...
<VirtualHost *>
DocumentRoot /home/web001/maia_html
ServerName maia.example.com
ServerAdmin webmaster@example.com
ErrorLog /home/web001/logs/error.log
CustomLog /home/web001/logs/access.log "combined"
</VirtualHost>
...

10. Die PHP Scripte konfigurieren


11. amavisd-new installieren und konfigurieren


Last modified 16 years ago Last modified on Oct 20, 2004, 9:04:08 AM