Debian Maia: Unterschied zwischen den Versionen

Aus Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 6: Zeile 6:
* [[Debian_Apache2|Webserver]]
* [[Debian_Apache2|Webserver]]
* [[Debian_MySQL|MySQL]]
* [[Debian_MySQL|MySQL]]
* [[Debian_Subversion|Subversion]]


==Installation==
==Installation==
Zeile 22: Zeile 23:


'''Pear PHP-Manager:'''
'''Pear PHP-Manager:'''
pear channel-discover htmlpurifier.org
  pear channel-update pear.php.net
  pear channel-update pear.php.net
  pear upgrade pear
  pear upgrade pear
Zeile 40: Zeile 42:
  pear install Numbers_Roman
  pear install Numbers_Roman
  pear install -f Image_Graph-0.7.2
  pear install -f Image_Graph-0.7.2
pear install hp/HTMLPurifier


{{Rechteck2|'''Achtung:'''
{{Rechteck2|'''Achtung:'''
Zeile 57: Zeile 60:
  install Crypt::CBC
  install Crypt::CBC
  install MIME::Parser
  install MIME::Parser
install DBD::Pg
  exit
  exit


'''Maia und AmvisD'''
'''Maia und AmvisD'''
  cd /usr/src
  cd /usr/local/src
wget http://www.maiamailguard.com/files/maia-1.0.2a.tar.gz
  svn checkout https://www.maiamailguard.com/svn/branches/1.0
  tar -zxvf maia-1.0.2.tar.gz
(Die Abfrage mit temporär '''''t''''' beantworten)
  mv 1.0 maia
  cd maia-1.0.2
  cd maia
  mkdir /var/amavisd
  mkdir /var/amavisd
  mkdir /var/amavisd/maia
  mkdir /var/amavisd/maia
Zeile 70: Zeile 74:
  mkdir /var/amavisd/tmp
  mkdir /var/amavisd/tmp
   
   
  mv scripts /var/amavisd/maia/
  cp scripts /var/amavisd/maia/
  mv maia.conf.dist /etc/maia.conf
  cp maia.conf.dist /etc/maia.conf
  mv templates  /var/amavisd/maia/
  cp templates  /var/amavisd/maia/
  mv php/config.php.dist php/config.php
  cp php/config.php.dist php/config.php
  mv php /var/www/maia
cp php /var/www/
  mv amavisd-maia /usr/sbin
  mv /var/www/php /var/www/maia
  mv amavisd.conf.dist /etc/amavisd.conf
  cp amavisd-maia /usr/sbin
  cp amavisd.conf.dist /etc/amavisd.conf
   
   
  cd /root
  cd /root
Zeile 84: Zeile 89:
   
   
  chown -R amavis. /var/amavisd
  chown -R amavis. /var/amavisd
  chown -R www-data /var/www/maia
  chown -R www-data. /var/www/maia
  chown root. /usr/sbin/amavisd-maia
  chown root. /usr/sbin/amavisd-maia
  chown amavis.amavis /etc/maia.conf
  chown amavis.amavis /etc/maia.conf
Zeile 99: Zeile 104:
  chmod 755 amavisd
  chmod 755 amavisd
  update-rc.d amavisd defaults
  update-rc.d amavisd defaults
cd /etc
wget http://www.dpsims.com/~dpsims/maia/amavisd.conf


Default-File anlegen:
Default-File anlegen:
Zeile 121: Zeile 123:


==SQL-Datenbank anlegen==
==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.
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-1.0.2
  cd /usr/src/maia
   mysql -u root -p mysql
   mysql -u root -p mysql
'''''mysql_root_pwd''''' eingeben
'''''mysql_root_pwd''''' eingeben
Zeile 133: Zeile 135:
  mysql -u root -p maia < maia-mysql.sql
  mysql -u root -p maia < maia-mysql.sql
'''''mysql_root_pwd''''' eingeben
'''''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==
==Konfiguration==
Zeile 147: Zeile 154:
In der folgenden Zeile '''''password''''' durch das oben vergebene Passwort '''''maia_db_pwd''''' ersetzen:
In der folgenden Zeile '''''password''''' durch das oben vergebene Passwort '''''maia_db_pwd''''' ersetzen:
  $maia_sql_dsn = "mysql://amavis:'''''password'''''@tcp(localhost:3306)/maia";
  $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:
Mit folgender Einstellung erfolgt die Authentifizierung gegen den Cyrus-Imap-Server:
  $auth_method = "imap";
  $auth_method = "imap";
Zeile 191: Zeile 206:
==Super-User einrichten==
==Super-User einrichten==
Für Konfigurationsarbeiten an Maia ist ein Super-User nötig.
Für Konfigurationsarbeiten an Maia ist ein Super-User nötig.
Webbrowser öffnen und Adress: http://IP_DES_SERVERS/maia//login.php?super=register
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

Version vom 28. März 2009, 16:41 Uhr

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
Achtung:
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