Debian Maia
Einleitung
Voraussetzungen:
Installation
Es sind zahlreiche Pakete erforderlich:
Debian Paketmanager:
apt-get --yes install libgd2-xpm php5-imap php5-ldap php5-mcrypt php5-gd apt-get --yes install libcrypt-blowfish-perl libossp-uuid-perl libio-zlib-perl apt-get --yes install libarchive-tar-perl libarchive-zip-perl libtemplate-perl apt-get --yes install libemail-address-perl libconvert-tnef-perl libnet-ldap-perl apt-get --yes install libunix-syslog-perl libnet-dns-perl libberkeleydb-perl apt-get --yes install imagemagick apt-get --yes install clamav clamav-daemon clamav-docs unrar-free unzoo apt-get --yes install smarty apt-get --yes install spamassassin razor pyzor
Pear PHP-Manager:
pear channel-discover htmlpurifier.org pear channel-update pear.php.net pear upgrade pear pear install XML_RPC pear install Mail_Mime pear install DB_Pager pear install Auth_SASL pear install Net_Socket pear install Net_Smtp pear install Net_IMAP pear install Net_POP3 pear install Log pear install DB pear install Pager pear install --alldeps Image_Color pear install -f Image_Canvas pear install -f Numbers_Words pear install Numbers_Roman pear install -f Image_Graph-0.7.2 pear install hp/HTMLPurifier
- Das Paket NET_IMAP enthält einen Bug, der relativ einfach gefixt werden kann:
(Details zum Bug und Lösung siehe auch http://pear.php.net/bugs/bug.php?id=3438):
vi /usr/share/php/Net/IMAPProtocol.php
Die Zeilen 700 bis 702 folgendermaßen abändern:
#return $args; // not for now return $this->_genericImapResponseParser($args,$cmdid);
Perl-Module (MCPAN):
perl -MCPAN -e shell install Net::Server install Mail::SPF::Query install Convert::UUlib install Crypt::CBC install MIME::Parser install DBD::Pg exit
Maia und AmvisD
cd /usr/local/src svn checkout https://www.maiamailguard.com/svn/branches/1.0
(Die Abfrage mit temporär t beantworten)
mv 1.0 maia cd maia mkdir /var/amavisd mkdir /var/amavisd/maia mkdir /var/amavisd/db mkdir /var/amavisd/tmp cp scripts /var/amavisd/maia/ cp maia.conf.dist /etc/maia.conf cp templates /var/amavisd/maia/ cp php/config.php.dist php/config.php cp php /var/www/ mv /var/www/php /var/www/maia cp amavisd-maia /usr/sbin cp amavisd.conf.dist /etc/amavisd.conf cd /root addgroup amavis adduser www-data amavis useradd -g amavis -d /var/amavisd amavis chown -R amavis. /var/amavisd chown -R www-data. /var/www/maia chown root. /usr/sbin/amavisd-maia chown amavis.amavis /etc/maia.conf chmod 640 /var/amavisd/maia/templates/*.tpl chmod 750 /var/amavisd/maia/scripts/*.pl chmod 640 /etc/maia.conf chmod 755 /usr/sbin/amavisd-maia ln -s /usr/sbin/amavisd-maia /usr/sbin/amavisd ln -s /usr/share/php/smarty/libs /usr/share/php/Smarty cd /etc/init.d wget http://www.dpsims.com/~dpsims/maia/amavisd_init.d_script.sh mv amavisd_init.d_script.sh amavisd chmod 755 amavisd update-rc.d amavisd defaults
Default-File anlegen:
vi /etc/default/amavisd
Folgenden Inhalt einfügen:
# /etc/default/amavisd # # Change to one to enable amavis ENABLED=1 # Where should amavisd write its PID to file? If you use the -u or # --username option above, this needs to be writable by that user. # Otherwise, the init script will not be able to shut amavisd down. PIDFILE="/var/run/amavisd.pid" # Set nice level of spamd #NICE="--nicelevel 15"
SQL-Datenbank anlegen
Maia benötigt eine MySQL-Datenbank. Diese wird im folgenden angelegt und mit Inhalt befüllt. maia_db_pwd mit einem Passwort für die maia Datenbank ersetzen.
cd /usr/src/maia mysql -u root -p mysql
mysql_root_pwd eingeben
CREATE DATABASE maia; use maia; GRANT CREATE, DROP, ALTER, SELECT, INSERT,UPDATE, DELETE ON maia.* TO amavis@localhost IDENTIFIED BY 'maia_db_pwd'; exit mysql -u root -p maia < maia-mysql.sql
mysql_root_pwd eingeben
Spamassassin-Regeln in die DB
Die Spamassassin-Regeln müssen in die Maia Datenbank eingelesen werden:
/var/amavisd/maia/scripts/load-sa-rules.pl --debug
Konfiguration
Maia und AmavisD
vi /etc/default/spamassassin
Spamassassin aktivieren:
ENABLED=1
vi /etc/maia.conf
In der folgenden Zeile password durch das oben vergebene Passwort maia_db_pwd ersetzen:
$password = "password";
vi /var/www/maia/config.php
In der folgenden Zeile password durch das oben vergebene Passwort maia_db_pwd ersetzen:
$maia_sql_dsn = "mysql://amavis:password@tcp(localhost:3306)/maia";
Anpassen der Policy-Level. Die Standardeistellung von medium und high haben relativ niedrige Score-Werte zur Erkennung von Spam.
$protection = array( 'off' => array ('Y','Y','Y','Y','Y','Y','Y','Y','N','N','N','N','N','999','999','999'), 'low' => array ('N','Y','Y','Y','N','Y','Y','Y','N','N','N','N','N','999','999','999'), 'medium' => array ('N','N','Y','Y','N','N','Y','Y','N','N','N','N','Y','6.31','999','999'), 'high' => array ('N','N','N','N','N','N','N','N','N','N','N','N','N','5','10','15') );
Mit folgender Einstellung erfolgt die Authentifizierung gegen den Cyrus-Imap-Server:
$auth_method = "imap";
Postfix
An den Postfix Konfigurationsfiles müssen Änderungen durchgeführt werden, um den Spamfilter in die Mail-Transportkette einzuschleifen:
vi /etc/master.cf
Folgende Zeilen ans Ende anfügen:
lmtp-amavis unix - - n - 2 lmtp -o lmtp_data_done_timeout=1200 -o lmtp_send_xforward_command=yes -o disable_dns_lookups=yes -o max_use=20 127.0.0.1:10025 inet n - y - - smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_delay_reject=no -o smtpd_client_restrictions=permit_mynetworks,reject -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o smtpd_data_restrictions=reject_unauth_pipelining -o smtpd_end_of_data_restrictions= -o mynetworks=127.0.0.0/8 -o smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000 -o smtpd_client_connection_count_limit=0 -o smtpd_client_connection_rate_limit=0 -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks
vi /etc/postfix/main.cf
Folgende Option einfügen:
content_filter=lmtp-amavis:[127.0.0.1]:10024
Starten der Services
/etc/init.d/spamassassin start /etc/init.d/amavisd start /etc/init.d/postfix restart
Super-User einrichten
Für Konfigurationsarbeiten an Maia ist ein Super-User nötig. Webbrowser öffnen und Adress: http://IP_DES_SERVERS/maia//login.php?super=register. Einloggen mit den Userdaten:
User: tux@domain.org Pwd: tux_mail_pwd