Anpassung
- SMTP vom Provider
- Virenlösung
- Spamfilter verfeinern
- Mails auf dem Server filtern
- Fetchmail
- Backup auf CD
- Backup auf DVD
- Update von Kolab Server beta-4 auf beta-5
- Update von Kolab Server beta-5 auf rc-1
- Update von Kolab Server rc-1 auf rc-2
- Update von Kolab Server rc-2 auf rc-3
- Update von Kolab Server rc-3 auf rc-4
- Security Update Clamav-0.87
- Update von Kolab Server 2.01 auf 2.03
- Update Debian
- Frei / Gebucht unter Office2003
- Migration der Mails
SMTP vom Provider
Standardmässig sendet der commserver die E-Mails direkt an die Empfänger. Leider akzeptieren gewisse Domains keine E-Mails aus dem Privaten IP Adressbereich. Im Gegenzug kann mit dem SMTP des Providers zum Teil nicht beliebig grosse Attachements versenden. Man könnte auch einen Mischbetrieb machen indem wir beim Client einen anderen SMTP verwenden.
Der STMP smarthost / relayhost lässt sich bequem über das admin portal einrichten:
https://192.168.0.99/admin/service/
Virenlösung
Standardmässig besitzt die Installation bereits eine Virenlösung (Clam AntiVirus). Wer es noch ein bisschen besser wünscht, bindet sich eine kommerzielle Lösung in den Server. F-prot von Frisk bietet einen sehr guten VirenSchutz. Die kommerzielle Lösung für einen E-Mail Server lässt sich schnell einbinden. Des Weiteren bietet F-Prot noch einen für Privatleute frei erhältlichen VirenScanner (F-Prot Antivirus for Linux Workstations). Diesen kann man von der Website frei herunterladen.
Wir beschreiben dessen Einbindung. Wir haben aber nicht abgeklärt noch nachgeschaut ob der Einsatz auf dieser Groupware mit der Privaten Serverlizenz für den Privatgebrauch überhaupt legal ist, und übernehmen hier keinerlei Verantwortung.
Als erstes laden wir auf der Website die Debian Version (fp-linux-ws.deb) herunter an einem Client. Mittels scp oder auf Windows Winscp kopieren wir das File auf den commserver ins Verzeichnis /installtemp. Danach installieren wir die Software am commserver.
- login als root
- cd /installtemp
- dpkg -i fp-linux-ws.deb
- apt-get -f install (Packete auflösen die für den Signaturupdate gebraucht werden)
- cd /usr/local/f-prot/tools
- ./check-updates.pl (ladet die neusten VirenSignaturfiles herunter)
Jetzt muss man noch mit dem mc Editor die Files: /kolab/etc/amavisd.conf und dessen template /kolab/etc/kolab/templates/amavisd.conf.template abändern. Wir deaktivieren darin den clamav indem wir diesen auskommentieren.
ClamAv ausschalten
mittels mc setzen wir vor jede zu auszukommentierende Stelle ein # bei der Stelle @av_scanners.
Link zum Bild
Danach passen wir noch den Pfad von F-prot an:
F-Prot Pfad anpassen
mittels mc ändern wir bei der Stelle @av_scanners_backup den Pfad auf /usr/local/f-prot/f-prot und /usr/local/f-prot/f-prot.sh
Link zum Bild
Der F-prot Antivirus ist jetzt aktiv über den Eintrag bei @av_scanners_backup. Bei der "F-Prot Antivirus Lösung für E-Mail Server" wäre der daemon von F-prot bei @av_scanners zu aktivieren.
Danach starten wir den amavisd neu:
- login als root
- /kolab/bin/openpkg rc amavisd restart
Der Virenscanner ist jetzt geändert und kann getestet werden indem wir von einem anderen Rechner dem commserver einen Test-Virus zusenden. Dazu kopieren wir die Zeile eicar.com.txt in den Inhalt der E-Mail. In der Datei /kolab/var/amavisd/amavis.log sehen wir dann dessen Auswirkung. Das E-Mail wird in den Ordner /kolab/var/amavisd/virusmails verschoben und dem Empfänger eine Benachrichtigung gesendet.
Danach ergänzen wir den täglichen VirenSignaturUpdate (z.B. 3'45 frühmorgens) in der /etc/crontab mit dem mc Editor um folgende Zeile:
- 45 3 * * * root /usr/local/f-prot/tools/check-updates.pl -cron
Spamassassin
Um eine höhere Trefferquote beim Spamfilter zu erreichen, muss man diesen lernen was spam ist und was nicht. Eine Möglichkeit besteht darin einen neuen User im Kolab Webadmin aufzunehmen. Zum Beispiel spam@baroni.ch. Mittels Outlook in diesem Account erstellt man dann 2 Ordner: spam und nospam. Diese Ordner muss man anschliessend freigeben für Lese/Schreibzugriff für die gewünschten Benutzer, welche diese Ordner Pflegen.
Man kann jetzt von einem anderen Useraccount die spam Mails welche als solche nicht erkannt wurden, in den Folder /user/spam/spam verschieben.
Dann kann man cronjob Einträge machen welche mittels diesen Nachrichten die SpamDatenbank täglich auf den neusten Stand bringt.
- login als root
- editieren der Datei /etc/crontab und zufügen der folgenden 2 Zeilen
- 6 2 * * * kolab-r /kolab/bin/sa-learn --dbpath /kolab/var/amavisd/.spamassassin --spam /kolab/var/imapd/spool/domain/baroni.ch/user/spam/spam
- 12 2 * * * kolab-r /kolab/bin/sa-learn --dbpath /kolab/var/amavisd/.spamassassin --ham /kolab/var/imapd/spool/domain/baroni.ch/user/spam/nospam
Weitere Infos und Einstellmöglichkeiten online in englisch.
Mails auf dem Server filtern
Eine praktische Funktion ist das Vorfiltern der Nachrichten bereits nach Erhalt auf dem Server. Eine Möglichkeit bietet das Kolabinterface https://192.168.0.99/admin/ . Nach dem Userlogoin kann jeder Benutzer ein Mail Delivery oder Forward Mail oder Vacation einrichten. Es kann allerdings lediglich 1 Script simultan im Einsatz sein. Am besten schreibt man sein eigenes Filterscript für sieve (deutsche Einführung).
Als erstes generieren die die Verzeichnisstruktur:
- login als root
- /kolab/bin/sieveshell -u giovanni@baroni.ch -a giovanni@baroni.ch localhost
Jetzt schreiben wir ein Script welches alle spam mails in einen Ordner verschiebt. Der Ordner Junk-E-Mail muss natürlich auf dem Imap Account verfügbar sein.
- Datei myscript.txt erstellen (auf Server oder Client)
- require "fileinto";
- if exists "X-Spam-Flag" {
- fileinto "INBOX/Junk-E-Mail";
- stop;
- }
- if exists "VIRUS IN MAIL FOR YOU FROM" {
- fileinto "INBOX/Junk-E-Mail";
- stop;
- }
Diese Datei myscript.txt verschieben wir in den Userentsprechendem zugehörigen Ordner /kolab/var/imapd/sieve/domain/b/baroni.ch/g/giovanni
Jetzt aktivieren wir das Script:
- login als root
- cd /kolab/var/imapd/sieve/domain/b/baroni.ch/g/giovanni
- /kolab/bin/sieveshell -u giovanni@baroni.ch -a giovanni@baroni.ch localhost
- [password]
- put myscript.txt
- activate myscript.txt
- list
- quit
Das Filter-Script ist jetzt einsatzbereit und die Spam und Viren gekennzeichneten Mails landen im Imap Ordner Junk-E-Mail
Fetchmail
Fetchmail wird dazu verwendet verschiedene Postfächer von anderen Domains / Provider zentral herunterzuladen und den dazugehörigen lokalen Mail Postfächer zuzuweisen. Der Vorteil ist eine zentrale Mailverwaltung inklusiver Viren - und Spamfilterung.
Wir benutzen in diesem Beispiel den von Debian installierten fetchmail der die Mails von einem POP3 Provider herunterlädt. Als erstes legen wir die Konfigurationsdatei an:
- login als root
- su kolab
- cd
- touch .fetchmailrc
- chmod 600 .fetchmailrc
Jetzt editieren wir mit dem Midnight Commander (mc startet den Editor) diese Datei und passen Sie unseren Bedürfnissen an. Pro Zeile geben wir die gewünschten Accounts ein:
- poll mail.provider.ch protocol POP3 user providerlogin password providerpassword is giovanni@baroni.ch
- poll pop.provider.com protocol POP3 user provlogin password provpassword is giovanni@baroni.ch
Wir können jetzt testen ob alle Angaben korrekt sind mit:
- fetchmail -vk
Wobei die E-Mails lediglich als Kopie heruntergeladen werden. Bei Erfolg automatisieren wir das ganze und erzeugen einen Cronjobeintrag der die E-Mails alle 10 min. vom Provider runterlädt. Dazu starten wir wieder den Midnight Commander (mc startet den Editor) und editieren die systemweite crontab in /etc/crontab. (zuerst jedoch als Benutzer root einloggen)
Am ende der Datei fügen wir folgenden Eintrag hinzu:
- */10 * * * * kolab /usr/bin/fetchmail -a
Backup auf CD
Dies ist die wohl günstigste, einfachste und trotzdem rel. zuverlässige Datensicherung. Ein CD-Writer kostet heute fast nichts mehr, und dessen Rohlinge sind auch sehr billig. Allerdings sind die 700 MB an verfügbarem Speicherplatz für eine Workgroup Umgebung mit mehreren Benutzern schon bald bei hohem Mail und Attachment aufkommen erreicht.
Als erstes installieren wir die benötigten Softwarepakete:
- Login als root
- apt-get install cdrecord mkisofs gnupg
Als nächstes erstellen wir einen key damit wir das Backup verschlüsseln können.
- gpg --gen-key
mit folgenden Settings: (1) DSA und ElGamal, 1024, 0 = Schlüssel verfällt nie, Giovanni Baroni, giovanni@baroni.ch
- gpg --list-keys (zeigt die installierten Schlüssel an)
- gpg --export > mypuplickey (exportiert ein Schlüssel in eine Datei)
- gpg --export-secret-key > mysecretkey (exportiert ein Schlüssel in eine Datei)
- gpg --import mysecretkey (importiert ein Schlüssel)
- gpg --batch --yes -e -r "Giovanni Baroni" backup.tar.gz (verschlüsselt das Backup)
- gpg --decrypt backup.tar.gz.gpg > backup.tar.gz (entschlüsselt das Backup)
Wir gehen davon aus dass das IDE-CD-RW Laufwerk installiert wurde und ein Eintrag in der Datei /etc/fstab steht. In unserem Falle hat der Debian Installer das Drive /dev/hdf dem CD-Recorder zugewiesen. Jetzt aktivieren wir die SCSI-Emulation für das Laufwerk mit dem mc Editor.
grub Bootloader
Die Datei /boot/grub/menu.lst passen wir unserem CD-Laufwerk an. Bei Kernel fügen wir dazu am Schluss hdf=ide-scsi ein. Danach speichern und rebooten wir.
Link zum Bild
Jetzt gilt es herauszufinden welchen scsi-bus dem Laufwerk zugeteilt wurde.
- Login als root
- cdrecord -scanbus
In unserem Falle ist das 0,0,0. Somit ist die Vorarbeit abgeschlossen und wir können folgendes Script zum sichern der Daten verwenden.
- #!/bin/bash
- # kolab backupscript
- # www.activmedia.ch
- # 11.5.2005 Giovanni Baroni
- # Speicherort für die Backups
- cd /installtemp
- # ServerStop und Sicherung und ServerStart
- /kolab/bin/openpkg rc all stop
- /bin/tar -cfpz /installtemp/backup.tar.gz /root /kolab /etc/passwd /etc/group /var/spool/squirrelmail --exclude="/kolab/RPM"
- /kolab/bin/openpkg rc all start
- # Verschlüsselung
- /usr/bin/gpg --batch --yes -e -r "Giovanni Baroni" backup.tar.gz
- /bin/rm backup.tar.gz
- # CD Image erstellen
- /usr/bin/mkisofs -o backup.img -r -T -J backup.tar.gz.gpg
- # CD Image schreiben ( speed und dev dem eigenen Laufwerk anpassen )
- /usr/bin/cdrecord -data speed=4 dev=0,0,0 backup.img
- # Image löschen
- /bin/rm backup.img
Oder das Script von unserer Domain herunterladen.
- Login als root
- cd
- wget http://www.activmedia.ch/img/backupcd.sh
- chmod 700 backupcd.sh
- more backupcd.sh
Wir starten die Sicherung mittels /root/backupcd.sh.
Jetzt automatisieren wir das ganze mittels cronjob Eintrag. Der Server sichert dabei jede Nacht um 02'18 die Daten in die Datei /installtemp/backup.tar.gz sowie auf CD (sofern eine neue beschreibbare CD eingelegt wurde). Mittel mc Editor ergänzen wir diesen Eintrag in der Datei /etc/crontab
- 18 2 * * * root /root/backupcd.sh
Fertig ist die Datensicherung. Wir können jetzt selbst bestimmen wann wir eine Sicherung durchführen indem wir lediglich die leere CD in das Laufwerk einschieben. Der Server sichert dann diese in der Nacht. Ein erneutes beschreiben der Disk ist lediglich mit einer CD-RW möglich (nach Anpassung des backupcd.sh scriptes).
Nicht vergessen am Schluss die Datei /etc/fstab abändern von /dev/hdf zu /dev/sr0 damit wir das Laufwerk wieder auf einfache Art für Lesezugriffe mounten können.
Backup auf DVD
Auf ne CD passen schon ziemlich viele komprimierte E-Mails drauf. Mit ner DVD erhöhen wir jedoch dieses Limit auf 4.7GB. Es gibt mehrere Wege unter Linux wie wir zu einer funktionierendem DVD Brennsoftware kommen. Wir stellen hiermit die einfachste Lösung dar. Als Ausgangslage erledigen wir die Schritte wie bei Backup auf CD beschrieben sind. Zusätzlich benötigen wir noch ein Programm:
- apt-get install dvd+rw-tools
Die Zeilen im Script backupcd.sh: mkisofs und cdrecord und rm backup.img ersetzen wir mit:
- growisofs -dvd-compat -Z /dev/scd0 -R -J backup.tar.gz.gpg
Alles andere entnehmen wir der Backup auf CD Info.
Update von Kolab2-beta4 auf Kolab2-beta5
Kolab2 Server lässt sich ohne grosse Probleme updaten. Als Vorsichtsmassnahme kann man sich ja die Verzeichnisse /kolab/etc/openldap und /kolab/var/openldap zuerst wegkopieren.
- login als root
- cd /installtemp
- rm * (löscht alle Sourcefiles)
- wget -r -l1 -nd --no-parent http://max.kde.org:8080/mirrors/ftp.kolab.org/server/beta/kolab-server-2.0-beta-5/sources/
- /kolab/bin/openpkg rc all stop
- sh obmtool kolab
- mv /kolab/etc/openldap/slapd.conf.rpmsave /kolab/etc/openldap/slapd.conf
- /kolab/sbin/slapindex
- /kolab/bin/openpkg rc all start
- /kolab/sbin/kolabconf
Das File /kolab/etc/amavisd.conf und dessen Template wurden erneuert und müssten wieder geändert werden für die F-Prot Antivirus Lösung.
Update von Kolab2-beta5 auf Kolab2-rc1
Kolab2 Server lässt sich ohne grosse Probleme updaten. Als Vorsichtsmassnahme kann man sich ja die Verzeichnisse /kolab/etc/openldap und /kolab/var/openldap zuerst wegkopieren.
- login als root
- cd /installtemp
- rm * (löscht alle Sourcefiles)
- wget -r -l1 -nd --no-parent http://max.kde.org:8080/
mirrors/ftp.kolab.org/server/beta/kolab-server-2.0-rc-1/sources/ - /kolab/bin/openpkg rc all stop
- sh obmtool kolab
- /kolab/bin/openpkg rc all start
- /kolab/sbin/kolabconf
- /kolab/bin/openpkg rc all restart
Update von Kolab2-rc1 auf Kolab2-rc2
Kolab2 Server lässt sich ohne grosse Probleme updaten. Als Vorsichtsmassnahme kann man sich ja die Verzeichnisse /kolab/etc/openldap und /kolab/var/openldap zuerst wegkopieren.
- login als root
- cd /installtemp
- rm * (löscht alle Sourcefiles)
- wget -r -l1 -nd --no-parent http://max.kde.org:8080/
mirrors/ftp.kolab.org/server/beta/kolab-server-2.0-rc-2/sources/ - /kolab/bin/openpkg rc all stop
- sh obmtool kolab
- /kolab/sbin/slapindex
- /kolab/bin/openpkg rc all start
- /kolab/sbin/kolabconf
- /kolab/bin/openpkg rc all restart
Beim manager login auf https://commserver/admin/ sieht man evtl. eine Fehlermeldung bei der Distributionlist. Man kann alle löschen und /kolab/sbin/slapindex erneut aufrufen und die Distributionlist neu erstellen.
Update von Kolab2-rc2 auf Kolab2-rc3
Kolab2 Server lässt sich ohne grosse Probleme updaten. Als Vorsichtsmassnahme kann man sich ja die Verzeichnisse /kolab/etc/openldap und /kolab/var/openldap zuerst wegkopieren.
- login als root
- cd /installtemp
- rm * (löscht alle Sourcefiles)
- wget -r -l1 -nd --no-parent http://max.kde.org:8080/
mirrors/ftp.kolab.org/server/beta/kolab-server-2.0-rc-3/sources/ - /kolab/bin/openpkg rc all stop
- sh obmtool kolab
- rm /kolab/etc/clamav/*.rpmsave
- /kolab/bin/openpkg rc all start
- /kolab/sbin/kolabconf
- /kolab/bin/openpkg rc all restart
Update von Kolab2-rc3 auf Kolab2-rc4
Kolab2 Server lässt sich ohne grosse Probleme updaten.
- login als root
- cd /installtemp
- rm * (löscht alle Sourcefiles)
- wget -r -l1 -nd --no-parent http://max.kde.org:8080/
mirrors/ftp.kolab.org/server/beta/kolab-server-2.0-rc-4/sources/ - /kolab/bin/openpkg rc all stop
- sh obmtool kolab
- /kolab/bin/openpkg rc all start
- /kolab/sbin/kolabconf
- /kolab/bin/openpkg rc all restart
Security Update clamav-0.87
Einzelne Packete können einfach auf den neusten Stand gebracht werden. Im Beispiel hier mit clamav:
- login als root
- cd /installtemp
- rm clamav*
- wget http://max.kde.org:8080/mirrors/ftp.kolab.org/server/security-updates/20050921/
clamav-0.87-20050916.src.rpm - /kolab/bin/openpkg rpm --rebuild clamav-0.87-20050916.src.rpm
- /kolab/bin/openpkg rc all stop
- /kolab/bin/openpkg rpm -Uvh /kolab/RPM/PKG/clamav-0.87-20050916.ix86-debian3.1-kolab.rpm
- rm /kolab/etc/clamav/freshclam.conf.rpmsave
- /kolab/bin/openpkg rc all start
- /kolab/sbin/kolabconf
- /kolab/bin/openpkg rc all restart
Update von Kolab Server 2.01 auf 2.03
- login als root
- cd /installtemp
- rm * (löscht alle Sourcefiles)
- wget -r -l1 -nd --no-parent http://max.kde.org:8080/mirrors/ftp.kolab.org/server/release/kolab-server-2.0.3/ix86-debian3.1
- /kolab/bin/openpkg rc all stop
- sh obmtool kolab
- /kolab/bin/openpkg rc all start
- /kolab/sbin/kolabconf
- /kolab/bin/openpkg rc all restart
Update Debian
Die Distribution lässt sich auch äusserst einfach auf dem neusten Stand halten mit:
- login als root
- apt-get update
- apt-get -u upgrade
Frei / Gebucht unter Office2003
Vorgehend ist das Server Zertifikat zu installieren auf dem Client. Dieses befindet sich auf dem Server in /kolab/etc/kolab/ca/cacert.pem. Die Datei kann man mit winscp auf den Client kopieren und in cacert.cer umbenennen. Doppelklick installiert diese unter Windows XP.
Bei Outlook / Extras / Optionen / Kalenderoptionen / Frei/Gebucht-Optionen ist unter [suchen] folgendes einzutragen:
https://giovanni%40baroni.ch:meinpasswort@commserver/freebusy/%NAME%@%SERVER%.ifb
Dann noch bei Outlook / Extras / Optionen / Toltec Connector / Optionen ... einschalten von Kolab Frei/Gebucht-Erstellung. Unter Settings kann man den Empfänger auf readers ändern.
Adressbuch
folgt bald ...
E-Mails Importieren / Konvertieren
Das Importieren und Konvertieren der bestehenden E-Mails auf einem anderen Mailserver funktioniert am besten mit imapsync. Dieses installieren wir am commserver folgendermassen:
- login als root
- apt-get install libmail-imapclient-perl
- cd /installtemp
- wget http://www.linux-france.org/prj/imapsync/dist/imapsync-1.133.tgz (dem neusten Release anpassen )
- tar zxvf imapsync*
- cd imapsync*
- cp imapsync /usr/local/bin
Im folgenden Beispiel importieren wir die E-Mails von einem uw-imapserver auf ein lokales Konto. Der uw-imap Server (host1, user1, password1) hat seine Mails in einem Unterverzeichniss (POSTFACH) welches wir jedoch in diesem Beispiel auf dem lokalen Mailserver (host2, user2, password2) mit regextrans2 entfernen. Mit der zusätzlich Option --dry am Schluss können wir zuerst schauen ob alles wunschgemäss funktioniert.
Der Aufruf dafür lautet:
- /usr/local/bin/imapsync --host1 192.168.0.66 --user1 giovanni --password1 meinpassword --host2 localhost --user2 giovanni@baroni.ch --password2 meinpassword --subscribed --subscribe --regextrans2 's/^POSTFACH/INBOX/' --dry