Mailserver

Mailserver op Elanor. Vooralsnog Xdove, kijken naar Zarafa.

Testen

Zarafa

Installatie

  • Qpkg's opgehaald en uitgepakt
  • Zarafa qpkg uploaden en activeren
  • Configuratie
    • /etc/zarafa/server.cfg
      • user_plugin = ldap
      • user_plugin_config = ldap.cfg
      • disabled_features = pop3 (verwijder imap)
    • /etc/zarafa/ldap.openldap.cg kopieeren naar ldap.cfg
      • ldap_bind_user = cn=admin,dc=vdmeulen,dc=net
      • ldap_bind_passwd = bingo
      • ldap_authentication_method = bind
    • /etc/sysconfig/zarafa
      • ZARAFA_LOCALE=“nl_NL.UTF-8”
      • ZARAFA__USERSCRIPT_LOCALE=“nl_NL.UTF-8”
    • /etc/my.cnf. Bij de MySQL server max allowed packet hoger zetten. Zet in [mysqld] sectie max_allowed_packet = 16M. Daarna MySQL restarten.
  • Admin commando's
    zarafa-admin -c <username> -P -e <email> -f "<full name> #niet nodig, gaat via LDAP"
    zarafa-admin -l #gebruikers
    zarafa-admin -L #groepen
    zarafa-admin --details <username>

Filesystem

Package /share/MD)_DATA/.qpkg/ZarafaConfiguratie /etc/zarafa/ /etc/zarafa/server.cfg is het hoofdconfiguratiebestand. Met log_level = 5 kun je zo nodig meer zien. /etc/zarafa/ldap.cfg de LDAP config (gekopieerd van ldap.openldap.cfg) /etc/sysconfig/zarafa locale settings. /share/Web/webaccess apache stuff, php appletsLogfiles /var/log/zarafa/Opstartscript /etc/init.d/Zarafa.sh start|stop|restart

Backup

MTA

Met een eigen domein gebruik je postfix als MTA. Configuratie:

Imapsync

Imapsync wordt gebruikt om de bestaande email op Samwise over te zetten naar Elanor.

Links http://imapsync.lamiral.info/ https://github.com/imapsync/imapsyncInstallatie in SSH shell
cd /share/MD0_DATA/.qpkg/
git clone https://github.com/imapsync/imapsync
cd imapsync
perl -c imapsync #Dit moet "Syntax OK" geven; anders modules installeren.
perl -MCPAN -e 'install Mail::IMAPClient' 

Hiervoor zonodig eerst perl CPAN installeren: zie perl.

Als je eenmaal “syntax OK” hebt, nog even zorgen dat make zometeen alle bestanden naar /opt brengt, in plaats van naar /usr:
mv imapsync imapsync.dist
sed 's/\/usr\/bin\/perl/\/opt\/bin\/perl/' imapsync.dist > imapsync
cp Makefile Makefile.dist
sed 's/$(DESTDIR)\/usr/$(DESTDIR)\/opt/' Makefile.dist > Makefile
make -n install
#en als je tevreden bent:
make install
#en nu zou het moeten werken
which imapsync
imapsync
ProbleemCan't locate Term/ReadKey.pm in @INCZie https://bugzilla.redhat.com/show_bug.cgi?id=447800
#perl -MCPAN -e 'install Bundle::CPAN' #(werkt niet)
ipkg install perl-term-readkey

Synchronisatie scripts

De scripts staan op /share/MD0_DATA/homes/DOMAIN=VDMEULEN.

xfer-homeSynchroniseert voor een gebruiker. Argumenten gebruikersnaam en wachtwoord.xfer-all-homesSynchroniseert voor ons allemaal en logt naar xfer…log bestanden.Wordt dagelijks om 4:30 uitgevoerd als cronjob
mail weggooien
zarafa-admin --unhook-store pieter
zarafa-admin --create-store pieter --lang nl_NL.utf8
rm -r /share/MD0_DATA/homes/DOMAIN=VDMEULEN/imapsync_cache/samwise/pieter
zarafa-admin --list-orphans
zarafa-admin --remove-store ...

XDove

Xdove is een combinateie van XMail en Dovecot. Het servergedeelte is XMail. De configuratie van XMail staat in /share/MD0_DATA/.qpkg/XDove/xmail/var/MailRoot. Grote afwijking van de standaard package instellingen zal de LDAP authenticatie zijn.

Port forwarding

Port from Port to Services
6017 6017 XMail remote control access
25 50025 ESMTP
110 50110 POP3
143 143 IMAP
79 50079 FINGER

To connect to your mail account, you must use: with UebiMiau: enter your username as login name and select the type of server (POP or IMAP). with RoundCube: enter username@your_domain as login name.

Configuratie

IMPORTANT: UebiMiau and WebCalendar admin account is set to use the same username and password as PHPXMail. RoundCube MySQL account username is 'roundcube' and use the same password as PHPXMail.

Web editen van Xdove (dovecot.conf) mogelijk maken:

# change permissions to 766 for /share/MD0_DATA/.qpkg/XDove/dovecot/etc/dovecot/dovecot.conf from a Telnet or SSH connection:
chmod 766 /share/MD0_DATA/.qpkg/XDove/dovecot/etc/dovecot/dovecot.conf
# You can delete /share/MD0_DATA/.qpkg/XDove/dovecot/etc/dovecot.conf which is put there by the installer to confuse you.
rm /share/MD0_DATA/.qpkg/XDove/dovecot/etc/dovecot.conf

Om ldap.conf te symlinken naar ldap-userdb.conf.

ln -s /etc/dovecot/dovecot-ldap.conf /etc/dovecot/dovecot-ldap-userdb.conf
  • SSL tijdelijk uitgezet (SSL=no in dovecot.conf)
  • Memory limit voor php scripts op 12M gezet (ipv 8) in /opt/etc/php.ini (memory_limit = 12M).

Samwise

We gebruiken exim4. Geïnstalleerd met apt-get install exim4-daemon-heavy sa-exim exim4-doc-html. Dit laatste pakket bevat documentatie.

Administratie via /etc/alias, /etc/forward, /etc/exim4/… .Per gebruiker kun je ook /home/…/.forward maken. Frozen messages bekijken/aanpakken via https://www.vdmeulen.net:10000/exim/messages.cgi

Nadat er iets aan de configuratie is aangepast:

update-exim4.conf         #aanbrengen
exim4 -bV                 #controleren
invoke-rc.d exim4 restart #opnieuw opstarten. reload voldoet meestal ook.

Logs:

  • /var/log/mail.info
  • /var/log/mail.log
  • /var/log/exim4/*

Nog te doen

  • IMAP. Let op: zowel speedtouch als samwise moet poort 143 open hebben!
  • ClamAV filter

Spamassassin

Spamassassin aanzetten door /etc/default/spamassassin aan te passen (ENABLED=1). De documentatie voor spamassassin staat hier. Configuratie in /etc/default/spamasassin en /etc/mail/spamassassin.

Baysiaans filteren

Als gebruiker gewoon je mail in het goeie mapje stoppen (inbox of junk). Onderstaand scriptje (aangepast vanaf de apache mail-archives) gebruikt deze mappen om te “leren” hoe een spam mailbericht er uit ziet. Het script wordt uitgevoerd via cron.daily.

#!/bin/bash
 
# Copyright (c) 2004 by Rubin Bennett <a class="moz-txt-link-rfc2396E" href="mailto:rbennett@thatitguy.com">&lt;rbennett@thatitguy.com&gt;</a>
# Edited by Pieter van der Meulen
# All Rights reserved.
 
#This program is free software; you can redistribute it and/or
#modify it under the terms of the GNU General Public License
#as published by the Free Software Foundation; either version 2
#of the License, or (at your option) any later version.
#
#This program is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#GNU General Public License for more details.
#
#You should have received a copy of the GNU General Public License
#along with this program; if not, write to the Free Software
#Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
 
# Usage: IMAP users can move misclassified emails into the users Inbox or into the "Spam" folder
# whichever is appropriate. 
 
# This script should be called by CRON or a similar scheduler.
 
 
# Requires:
#	 Maildir style email storage (i.e. Courier IMAP) and IMAP server
 
# Settings - tweak as necessary.
MAILDIR="/home/$USER/Maildir"
SPAMFOLDER="Junk"
 
# List of users to run the autoLearn funtcion as (space separated)...
USERLIST="pieter"
 
autoLearn() {
	sa-learn --ham "${MAILDIR}/cur/*"
 	sa-learn --spam "${MAILDIR}/.${SPAMFOLDER}/cur/*"
}
 
############### End of function declaration ###############
if [ "${USER}" == "root" ]
then
  for USER in $USERLIST;
  do
	echo "learning for $USER"
      	su - $USER -c sa-autolearn
  done
else
  autoLearn
fi

Misschien spam

Mailtejs met een score boven de 2.0 (liefst instelbaar) weel bezorgen, maar opbergen in de Junk folder. Daar af en toe in speuren naar false positives.

Dit kan in de .forward in de user home directory met een sieve filter. Dat ziet er zo uit:

# Sieve filter

if not header :contains "X-Spam-Status: No, score:" "-" {
	if header :value "ge" :comparator "i;ascii-numeric" \
			["X-Spam-Score: No, score"] ["1.5"]
	        {
	                fileinto "INBOX.Junk";
	                stop;
	        }
}

Testen met /usr/sbin/sendmail -bf myfilter <test-message

Problemen

user MAIN_TRUSTED_USERS was not found

Na het herstarten van de mailserver kreeg ik mailtjes met de waarschuwing dat de exim paniclog niet leeg was. Inhoud van de log:

2007-12-01 13:33:33 Exim configuration error in line 163 of /var/lib/exim4/config.autogenerated.tmp:
  user MAIN_TRUSTED_USERS was not found
root@samwise:/etc/exim4/conf.d/main# user MAIN_TRUSTED_USERS was not found

MAIN_TRUSTED_USERS wordt gezet in /etc/exim4/conf.d./main. De regel

MAIN_TRUSTED_USERS = uucp

was weggecomment.

Ongedaan gemaakt, configuratie opnieuw gemaakt en mailserveropnieuw opgestart. Zie boven.

Webmail

We gebruiken Roundcube. Roundcube is beschikbaar als debian pakket. De skin is apart gedownload.

/share/Web/dokuwiki/data/pages/beheer/mailserver.txt · Laatst gewijzigd: 2013/12/23 13:45 door pieter
CC Attribution-Share Alike 4.0 International
Powered by PHP Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 Valid HTML5