Wiki - Freifunk Pinneberg

Freies WLAN im Kreis Pinneberg

Benutzer-Werkzeuge

Webseiten-Werkzeuge


mail

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Letzte ÜberarbeitungBeide Seiten der Revision
mail [24.12.2017 08:54] – [Postfix] havelockmail [01.11.2019 12:19] – [Roundcube] havelock
Zeile 10: Zeile 10:
   * policyd-weight - Gewichtete Regeln, z.B. für Blacklists   * policyd-weight - Gewichtete Regeln, z.B. für Blacklists
  
-Für Tips siehe auch: https://www.debinux.de/2015/05/mailserver-from-scratch-debian-8/+Für Tips siehe auch: https://www.debinux.de/2015/05/mailserver-from-scratch-debian-8/
 +zum Testen eignet sich auch das Programm ''swaks'' sehr gut.
 ===== Mailkonfiguration auf den Gateways ===== ===== Mailkonfiguration auf den Gateways =====
  
Zeile 135: Zeile 136:
 Konfiguration über  Konfiguration über 
   * https://mail.pinneberg.freifunk.net/postfixadmin/setup.php   * https://mail.pinneberg.freifunk.net/postfixadmin/setup.php
-  * ''/etc/postfixadmin/config.inc.php'' +  * Datenbankkonfiguration in der Datei ''dbconfig.inc.php'' 
-    * ''%%$CONF['encrypt']%%'' muß korrekt eingestellt werden. Im Zusammenspiel  mit Dovecot sollte ''md5crypt'' funktionieren+  * Programmkonfiguration: ''/etc/postfixadmin/config.inc.php'' ist die Vorlage, geänderte Optionen werden in die neu zu erstellende Daten ''config.local.php'' eingetragen: 
 +    * ''%%$CONF['encrypt']%%'' muß korrekt eingestellt werden. Im Zusammenspiel  mit Dovecot sollte ''md5crypt'' funktionieren, als modernere Variante mit Dovecot-INtegration bietet sich ''dovecot:SHA256-CRYPT'' an. 
 +    * ''%%$CONF['welcome_text']%%'' sollte auf eine freundliche Willkommensmeldung geändert werden
  
 Prüfe Datenbankeinträge: Prüfe Datenbankeinträge:
Zeile 144: Zeile 147:
 Wenn die Adresse gefunden wurde, wird ''1'' zurückgeliefert, ansonsten nichts. Wenn die Adresse gefunden wurde, wird ''1'' zurückgeliefert, ansonsten nichts.
  
 +=== Anpassungen / Customizing ===
 +
 +Änderungen können ab Version 3 vorgenommen werden, dabei sind einige Regeln zu beachten:
 +  * Alle zusätzlichen Objekte mit dem Prefix ''x_'' kennzeichnen
 +  * In Zusatztabellen bitte die Felder ''created'', ''modified'' und ''active'' verwenden
 +  * Integration über ''*_struct_hook()'', in ''cofig.inc.php'' ist ein Beispiel dazu, Aktivierung dann mit ''$CONF[*_struct_hook]'' 
  
 ==== SPAM-Abwehr ==== ==== SPAM-Abwehr ====
Zeile 182: Zeile 191:
  
   * IMAP-Server   * IMAP-Server
-  * Benutzerverweltung auch für Postfix+  * Benutzerverwaltung auch für Postfix
   * Filterregeln mit Sieve   * Filterregeln mit Sieve
  
Zeile 193: Zeile 202:
 CREATE USER 'dovecot'@'localhost' IDENTIFIED BY 'DOVECOTPASS'; CREATE USER 'dovecot'@'localhost' IDENTIFIED BY 'DOVECOTPASS';
 GRANT SELECT ON postfixadmin.mailbox TO 'dovecot'@'localhost'; GRANT SELECT ON postfixadmin.mailbox TO 'dovecot'@'localhost';
-GRANT ALL ON postfixadmin.quota2 TO 'dovecot'@'localhost';+GRANT SELECT,INSERT,UPDATE,DELETE ON postfixadmin.quota2 TO 'dovecot'@'localhost';
 </code> </code>
  
Zeile 199: Zeile 208:
 Die Aufstellung ist momentan nicht endgültig  überprüft und vermutlich auch Die Aufstellung ist momentan nicht endgültig  überprüft und vermutlich auch
 noch unvollständig. noch unvollständig.
 +
 +Mit dem Plugin ''last_login'' kann der letzte Anmeldezeitpunkt gespeichert
 +werden. Zu beachten, daß der Zugriff über das Dict-Modul läuft, welches 
 +auf Datenbanktabellen INSERT- und UPDATE-berechtigungen benötigt 
 +  
 +  alter table mailbox add column x_last_login int(11) default NULL;
 +  grant insert (username, x_last_login), update (username, x_last_login) on postfixadmin.mailbox to 'dovecot'@'localhost';
  
 ++++ Dovecot Konfigurationdsdateien |  ++++ Dovecot Konfigurationdsdateien | 
Zeile 377: Zeile 393:
 local5.*                                        -/var/log/dovecot.log local5.*                                        -/var/log/dovecot.log
 local5.warning;local5.error;local5.crit         -/var/log/dovecot-errors.log local5.warning;local5.error;local5.crit         -/var/log/dovecot-errors.log
 +</file>
 +
 +Logfile rotieren (vermutlich noch optimierungsfähig
 +<file conf /etc/logrotate.d/dovecot>
 +/var/log/dovecot*.log {
 +  missingok
 +  notifempty
 +  compress
 +  delaycompress
 +  sharedscripts
 +  postrotate
 +    doveadm log reopen
 +  endscript
 +}
 </file> </file>
  
 ==== Tests ==== ==== Tests ====
 +
 +Prüfe, ob ein Benutzer existiert
 +  doveadm auth lookup mustermann@example.com
 +  doveadm auth lookup -x service=imap mustermann@example.com
  
 Prüfe, ob die Kennwortabfrage mit der MySQL-Datenbank funktioniert: Prüfe, ob die Kennwortabfrage mit der MySQL-Datenbank funktioniert:
   doveadm auth test mustermann@example.com   doveadm auth test mustermann@example.com
 +
 Einen Passwort-Hash kann man erzeugen mit Einen Passwort-Hash kann man erzeugen mit
   dovecot pw -s MD5-CRYPT   dovecot pw -s MD5-CRYPT
  
 +Informationen aus der Benutzerdatenbank abfragen
 +  doveadm user mustermann@example.com
 ==== Roundcube ==== ==== Roundcube ====
  
 +  * Homepage: https://roundcube.net/
   * Web-Frontend   * Web-Frontend
   * Nützliche Pakete<code>   * Nützliche Pakete<code>
Zeile 411: Zeile 449:
   * Einstellungen in der Konfigurationsdatei ''config.inc.php'' vornehmen   * Einstellungen in der Konfigurationsdatei ''config.inc.php'' vornehmen
     * ''$config['smtp_log'] = false;'', Datensparsamkeit, ''logs/sendmail'' soll nicht geschrieben werden     * ''$config['smtp_log'] = false;'', Datensparsamkeit, ''logs/sendmail'' soll nicht geschrieben werden
 +
 +=== Plugin:password ===
 +Der Roundcube-Benutzer benötigt die Berechtigung die Mailboxtabelle zu lesen und das Password-Feld zu schreiben:
 +  GRANT SELECT, UPDATE (password) ON `postfixadmin`.`mailbox` TO 'roundcube'@'localhost'
 +
 +Das Plugin wird aktiviert in der zentralen Konfigurationsdatei ''config.inc.php''.
 +in das Array ''$config['plugins']'' wird das Plugin mit seinem Namen eingetragen.
 +
 +Im Plugin-Verzeichnis wird ebenfalls eine ''config.inc.php'' angelegt. Dazu wird die ''.dist''-Datei kopiert.
 +
 +=== Plugin:managesieve ===
 +
 +Kopieren die Vorlage der Konfigurationsdatei ''config.inc.php.dist'' nach ''config.inc.php''.
 +<file php config.inc.php>
 +$config['managesieve_port'] = 4109;
 +$config['managesieve_host'] = 'localhost';
 +</file>
 +
 +
 +
  
 TODO Quotas, auch ein Dovecot-Thema TODO Quotas, auch ein Dovecot-Thema
Zeile 423: Zeile 481:
   tar xzf roundcubemail-1.2.3-complete.tar.gz   tar xzf roundcubemail-1.2.3-complete.tar.gz
   cd roundcubemail-1.2.3   cd roundcubemail-1.2.3
-  bin/installto.sh <Installationspfad>+  bin/installto.sh /var/www/vhosts/mail.pinneberg.freifunk.net
 Nach der dem Update sind Aufräumarbeiten notwending Nach der dem Update sind Aufräumarbeiten notwending
   * Berechtigungen korrigieren   * Berechtigungen korrigieren
-    * Benutzer einstellen: ''root.www-data'', ''www-data'' hat auch nur Leserechte, bis auf die Verzeichnisse ''temp'' und ''log''+    * Benutzer einstellen: ''root.www-data'', ''www-data'' hat auch nur Leserechte, bis auf die Verzeichnisse ''temp'' und ''log''<code> 
 +chown -R root.www-data /var/www/vhosts/mail.pinneberg.freifunk.net 
 +</code>
     * Dateien im config-Verzeichnis     * Dateien im config-Verzeichnis
  
Zeile 435: Zeile 495:
   * Zentraler Speicher für Adressen und Kalender   * Zentraler Speicher für Adressen und Kalender
   * soll unter ''baikal.pinneberg.freifunk.net'' laufen   * soll unter ''baikal.pinneberg.freifunk.net'' laufen
 +  * ''php-dom'' (''php7.0-xml'') benötigt
  
  
  
mail.txt · Zuletzt geändert: 04.01.2021 19:24 von havelock