====== Mailserver ====== Für Informationen zu Mail für Endanwender siehe: [[Mail]] Hinweise zur Installation eines Servers sind zu finden unter: https://wiki.pinneberg.freifunk.net/mail ===== Filter ===== Filterregeln können mit Sieve verarbeitet werden. Sieve kommt als Erweiterung zu Dovecot. Wird die Mailzustellung von Postfix aus über ''dovecot-lda'' durchgeführt, kann Sieve in der zugehörigen Konfigurationsdatei ''15-lda.conf'' aktiviert werden. protocol lda { mail_plugins = $mail_plugins sieve } Die Standard-Filterregeln werden z.B. in der Datei ''.dovecot.sieve'' eingestellt. Mit Managesieve können die Filterregeln in Roundcube über das gleichnamige Plugin verwaltet werden. Damit ist alles hübsch integriert. Spezielle Konfigurationsoptionen können in ''90-sieve.conf'' vorgenommen werden. Im einfachsten Fall ist Sieve aber ohne dortige Konfiguration funktionsfähig. ===== Tests ===== Postfix * ''postmap -q ...'' Dovecot * ''doveadm ...'' Datenbank * ''mysql postfixadmin'' ===== Spamassassin ===== Konfiguration in ''/etc/spamassassin/local.cf'' Aktivierung über die Transportkonfiguration von Postfix in ''master.cf''. Z.B.: spamassassin unix - n n - - pipe user=debian-spamd argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient} Der Bayes-Filter liegt unter ''/var/lib/spamassassin/.spamassassin''. Manuell trainieren: su -c "sa-learn --ham /tmp/mail.eml" debian-spamd su -c "sa-learn --spam /tmp/spam.eml" debian-spamd Informationen anzeigen su -c "sa-learn --dump magic" debian-spamd Razor integrieren apt-get install razor su debian-spamd -s /bin/bash razor-admin -create razor-admin -register Register successful. Identity stored in /var/lib/spamassassin/.razor/identity-xxxxxxxxxx exit ===== Roundcube ===== ==== Installation ==== * Das Verzeichnis ''logs'' muß durch den Webserver beschreibbar sein. U.a. werden Fehlermeldungen in die Datei ''errors.log'' geschrieben. * Konfiguration des virtuellen Servers anpassen AllowOverride All * Einstellungen in der Konfigurationsdatei ''config.inc.php'' vornehmen * ''$config['smtp_log'] = false;'', Datensparsamkeit, ''logs/sendmail'' soll nicht geschrieben werden ==== Update ==== Backup machen tar cjf /var/backups/roundcube_$(date -I).tar.bz2 /var/www/roundcubemail mysqldump -u root -p roundcubemail > /var/backups/mysql/roundcubedb_$(date -I).sql Neue Version herunterladen und auspacken cd /tmp wget https://github.com/roundcube/roundcubemail/releases/download/1.2.3/roundcubemail-1.2.3-complete.tar.gz tar xzf roundcubemail-1.2.3-complete.tar.gz Installation durchführen cd roundcubemail-1.2.3 ./bin/installto.sh /var/www/roundcubemail Berechtigungen korrigieren cd /var/www chown -R 0 roundcubemail chgrp -R www-data roundcubemail Plugin Enigma: Das Verzeichnis ''home'' muß für die Gruppe ''www-data'' beschreibbar sein. Hinweise sind auch im ausgepacken Archiv in ''UPDATING'' vorhanden. ==== Kalender ==== Das Kalender-Plugin kommt aus dem Kolab-Projekt. Allerdings unterstützt das Original keine Verbindungen zu CalDAV-Servern. Für diese Funktion ist der Fork von Awsome-IT notwendig. Die folgende Installationsanleitung bezieht sich darauf. - Quellen von Git/Gitlab herunterlade cd /tmp git clone https://gitlab.awesome-it.de/kolab/roundcube-plugins.git cd roundcube-plugins git checkout feature_caldav cd //plugins cp -r /tmp/roundcube-plugins/plugins/calendar . cp -r /tmp/roundcube-plugins/plugins/libcalendaring . - Das Kalender-Plugin hat Abhängigkeiten: * CURL: ''apt-get install php-curl'', darauf achten, daß der Zertifikatsherausgeber des Zielservers in ''/etc/ssl/certs'' vorhanden ist. U.a. Let's Encrypt muß dort manuell eingetragen werden. * SabreDAV: ''apt-get install php-sabre-dav'' * OAuth-Client, dieses ist der kompliziertere Teil. Das Paket aus der Distribution wird nicht erkannt. Im Verzeichnis ''plugins/calendar.lib'' kann man etwas mit dem Composer herumwürgen: composer remove fkooman/oauth-client composer require fkooman/oauth-client Anscheinend ist das aber noch nicht ausreichend, es gibt noch Fehler im Frontend. -> TODO * Hinweis: Ersetze Funktion ''Q()'' durch ''rcube::Q()'' - Konfiguration für das Kalender-Plugin anlegen cd calendar/ cp config.inc.php.dist config.inc.php edit config.inc.php - Kalender-Datenbanktabellen initialisieren mysql -u user -p roundcubemail < drivers/database/SQL/mysql.initial.sql mysql -u user -p roundcubemail < drivers/carddav/SQL/mysql.initial.sql Für Roundcube Versin > 1.3 muß eine Anpassung in ''mysql.initial.sql'' vorgenommen werden CREATE TABLE IF NOT EXISTS `system` ( `name` varchar(64) NOT NULL, `value` mediumtext, PRIMARY KEY(`name`) ) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */; - Kalender-Plugin aktivieren cd ../../ edit config/config.inc.php * 'calendar' zu der Liste der aktiven Plugins hinzufügen $config['plugins'] = array( [...] 'libcalendaring', 'calendar' ); ===== Mailarchiv ===== Betrieb eines Mailarchivs mit Mail-Piler (https://www.mailpiler.org/).