Runder Würfel ist ein kostenloser Open-Source-Webmail-Client mit vollem Funktionsumfang, der in PHP geschrieben ist. Ein Webmail ist ein E-Mail-Client in Ihrem Browser, d. h. anstatt E-Mails von einem Desktop-E-Mail-Client wie Mozilla Thunderbird zu lesen und zu senden, können Sie über einen Webbrowser auf Ihre E-Mails zugreifen. Dieses Tutorial zeigt Ihnen, wie Sie Roundcube-Webmail auf Ubuntu 18.04 mit Apache- oder Nginx-Webserver installieren.
Roundcube-Funktionen
Die Roundcube-Funktionalität umfasst:
- Adressbuch
- Ordnerverwaltung
- Nachrichtensuche
- Nachrichtenfilter
- Rechtschreibprüfung
- MIME-Unterstützung
- PGP-Verschlüsselung und -Signierung
- Benutzer können ihr Passwort in Roundcube ändern.
Roundcube 1.4-Version
Roundcube 1.4 wurde am 10. November 2019 nach zweijähriger Entwicklungszeit veröffentlicht. Diese Version bietet:
- Eine ansprechende Haut namens Elastic mit vollständiger Unterstützung für Mobilgeräte
- Funktion zum erneuten Senden per E-Mail (Bounce)
- Verbesserte Mailvelope-Integration
- Unterstützung für Redis und Memcached-Cache
- Unterstützung für SMTPUTF8 und GSSAPI
- Sowie zahlreiche Verbesserungen und Fehlerbehebungen
Voraussetzungen
Um diesem Tutorial zu folgen, wird davon ausgegangen, dass
- Postfix-SMTP-Server und Dovecot-IMAP-Server wurden auf Ihrem Ubuntu 18.04-Server installiert
- Sie haben bereits einen LAMP-Stack oder LEMP-Stack auf einem Ubuntu 18.04-Server installiert.
Wenn nicht, klicken Sie bitte auf die obigen Links und befolgen Sie die Anweisungen, um die Voraussetzungen zu erfüllen. Beachten Sie, dass wenn Sie Ihren E-Mail-Server zuvor mit iRedMail eingerichtet haben, Ihr Server alle Anforderungen erfüllt und Roundcube bereits auf Ihrem Server installiert ist.
Lassen Sie uns nun mit der Installation von Roundcube fortfahren.
Schritt 1:Roundcube Webmail auf Ubuntu 18.04 herunterladen
Melden Sie sich über SSH bei Ihrem Ubuntu-Server an und führen Sie dann den folgenden Befehl aus, um die neueste stabile Version 1.4 aus dem Roundcube-Github-Repository herunterzuladen.
wget https://github.com/roundcube/roundcubemail/releases/download/1.4.0/roundcubemail-1.4.0-complete.tar.gz
Hinweis :Sie können immer das obige URL-Format verwenden, um Roundcube von der Befehlszeile herunterzuladen. Wenn eine neue Version herauskommt, ersetzen Sie einfach 1.4.0 durch die neue Versionsnummer. Sie können auf der Roundcube-Downloadseite nachsehen, ob es eine neue Version gibt.
Extrahieren Sie den Tarball, verschieben Sie den neu erstellten Ordner in das Web-Stammverzeichnis (/var/www/
) und benennen Sie es in roundcube
um gleichzeitig.
tar xvf roundcubemail-1.4.0-complete.tar.gz sudo mv roundcubemail-1.4.0 /var/www/roundcube
Schritt 2:Abhängigkeiten installieren
Führen Sie den folgenden Befehl aus, um die erforderlichen PHP-Erweiterungen zu installieren.
sudo apt install php-net-ldap2 php-net-ldap3 php-imagick php7.2-common php7.2-gd php7.2-imap php7.2-json php7.2-curl php7.2-zip php7.2-xml php7.2-mbstring php7.2-bz2 php7.2-intl php7.2-gmp
Installieren Sie Composer, einen Abhängigkeitsmanager für PHP.
sudo apt install composer
Wechseln Sie in das roundcube-Verzeichnis.
cd /var/www/roundcube
Verwenden Sie Composer, um alle erforderlichen Abhängigkeiten (Bibliotheken von Drittanbietern) für Roundcube Webmail zu installieren.
composer install --no-dev
Wenn nothing to install or update
angezeigt wird Nachricht, dann werden alle Abhängigkeiten installiert.
Machen Sie den Webserver-Benutzer (www-data
) als Eigentümer von temp
und logs
Verzeichnis, damit der Webserver in diese beiden Verzeichnisse schreiben kann.
sudo chown www-data:www-data temp/ logs/ -R
Schritt 3:Erstellen Sie eine MariaDB-Datenbank und einen Benutzer für Roundcube
Melden Sie sich als root bei der MariaDB-Shell an.
sudo mysql -u root
Erstellen Sie dann mit dem folgenden Befehl eine neue Datenbank für Roundcube. Dieses Tutorial nennt es roundcube
, können Sie einen beliebigen Namen für die Datenbank verwenden.
CREATE DATABASE roundcube DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
Erstellen Sie als Nächstes mit dem folgenden Befehl einen neuen Datenbankbenutzer auf localhost. Auch dieses Tutorial nennt es roundcubeuser
, Sie können einen beliebigen Namen verwenden. Ersetzen Sie password
mit Ihrem bevorzugten Passwort.
CREATE USER roundcubeuser@localhost IDENTIFIED BY 'password';
Erteilen Sie dann dem neuen Benutzer alle Berechtigungen für die neue Datenbank, damit Roundcube-Webmail später in die Datenbank schreiben kann.
GRANT ALL PRIVILEGES ON roundcube.* TO roundcubeuser@localhost;
Leeren Sie die Berechtigungstabelle, damit die Änderungen wirksam werden.
flush privileges;
Verlassen Sie die MariaDB-Shell:
exit;
Importieren Sie die Anfangstabellen in roundcube
Datenbank.
sudo mysql roundcube < /var/www/roundcube/SQL/mysql.initial.sql
Schritt 4:Apache Virtual Host oder Nginx-Konfigurationsdatei für Roundcube erstellen
Apache
Wenn Sie den Apache-Webserver verwenden, erstellen Sie einen virtuellen Host für Roundcube.
sudo nano /etc/apache2/sites-available/roundcube.conf
Hinweis :Wenn Sie meinem Postfix/Dovecot-Tutorial gefolgt sind, existiert bereits ein virtueller Host. Sie sollten die folgende Datei bearbeiten. (Entfernen Sie die Texte in dieser Datei, die in Teil 2 hinzugefügt wurden, und fügen Sie die neuen Texte unten hinzu.)
sudo nano /etc/apache2/sites-available/mail.example.com.conf
Fügen Sie den folgenden Text in die Datei ein. Ersetzen Sie mail.example.com
mit Ihrem echten Domainnamen und vergessen Sie nicht, dafür einen DNS-A-Eintrag festzulegen.
<VirtualHost *:80> ServerName mail.example.com DocumentRoot /var/www/roundcube/ ErrorLog ${APACHE_LOG_DIR}/roundcube_error.log CustomLog ${APACHE_LOG_DIR}/roundcube_access.log combined <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory /var/www/roundcube/> Options FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> </VirtualHost>
Speichern und schließen Sie die Datei. Aktivieren Sie dann diesen virtuellen Host mit:
sudo a2ensite roundcube.conf
Laden Sie Apache neu, damit die Änderungen wirksam werden.
sudo systemctl reload apache2
Jetzt sollten Sie den webbasierten Installationsassistenten von Roundcube unter http://mail.example.com/installer
sehen können .
Nginx
Wenn Sie den Nginx-Webserver verwenden, erstellen Sie einen virtuellen Host für Roundcube.
sudo nano /etc/nginx/conf.d/roundcube.conf
Hinweis :Wenn Sie meinem Postfix/Dovecot-Tutorial gefolgt sind, existiert bereits ein virtueller Host. Sie sollten die folgende Datei bearbeiten. (Entfernen Sie die Texte in dieser Datei, die in Teil 2 hinzugefügt wurden, und fügen Sie die neuen Texte unten hinzu.)
sudo nano /etc/nginx/conf.d/mail.example.com.conf
Fügen Sie den folgenden Text in die Datei ein. Ersetzen Sie den Domänennamen und vergessen Sie nicht, dafür einen DNS-A-Eintrag festzulegen.
server { listen 80; listen [::]:80; server_name mail.example.com; root /var/www/roundcube/; index index.php index.html index.htm; error_log /var/log/nginx/roundcube.error; access_log /var/log/nginx/roundcube.access; location / { try_files $uri $uri/ /index.php; } location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/run/php/php7.2-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~ /.well-known/acme-challenge { allow all; } location ~ ^/(README|INSTALL|LICENSE|CHANGELOG|UPGRADING)$ { deny all; } location ~ ^/(bin|SQL)/ { deny all; } # A long browser cache lifetime can speed up repeat visits to your page location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ { access_log off; log_not_found off; expires 360d; } }
Speichern und schließen Sie die Datei. Testen Sie dann die Nginx-Konfigurationen.
sudo nginx -t
Wenn der Test erfolgreich ist, laden Sie Nginx neu, damit die Änderungen wirksam werden.
sudo systemctl reload nginx
Jetzt sollten Sie den webbasierten Installationsassistenten von Roundcube unter http://mail.example.com/installer
sehen können .
Schritt 5:HTTPS aktivieren
Es wird dringend empfohlen, dass Sie TLS verwenden, um Ihre Webmail zu verschlüsseln. Wir können HTTPS aktivieren, indem wir ein kostenloses TLS-Zertifikat installieren, das von Let’s Encrypt ausgestellt wurde. Führen Sie den folgenden Befehl aus, um den Let’s Encrypt-Client (certbot) auf dem Ubuntu 18.04-Server zu installieren.
sudo apt install certbot
Wenn Sie Nginx verwenden, müssen Sie auch das Certbot Nginx-Plugin installieren.
sudo apt install python3-certbot-nginx
Führen Sie als Nächstes den folgenden Befehl aus, um das TLS-Zertifikat zu erhalten und zu installieren.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d mail.example.com
Wenn Sie Apache verwenden, installieren Sie das Certbot Apache-Plugin.
sudo apt install python3-certbot-apache
Und führen Sie diesen Befehl aus, um das TLS-Zertifikat zu erhalten und zu installieren.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d mail.example.com
Wo
--nginx
:Verwenden Sie das nginx-Plugin.--apache
:Verwenden Sie das Apache-Plugin.--agree-tos
:Nutzungsbedingungen akzeptieren.--redirect
:HTTPS durch 301-Umleitung erzwingen.--hsts
: Fügen Sie den Strict-Transport-Security-Header zu jeder HTTP-Antwort hinzu. Erzwingen, dass der Browser immer TLS für die Domäne verwendet. Schützt vor SSL/TLS-Stripping.--staple-ocsp
: Aktiviert OCSP-Heften. Eine gültige OCSP-Antwort wird an das Zertifikat geheftet, das der Server während TLS anbietet.
Das Zertifikat sollte nun abgerufen und automatisch installiert werden.
Hinweis :Wenn Sie meinem Postfix/Dovecot-Tutorial gefolgt sind und jetzt Roundcube auf demselben Server installieren, wird certbot Ihnen wahrscheinlich mitteilen, dass bereits ein Zertifikat für mail.example.com vorhanden ist, wie unten gezeigt, sodass Sie das vorhandene TLS installieren können Zertifikat in Ihre Webserver-Konfigurationsdatei.
Schritt 6:Lokalen DNS-Eintrag hinzufügen
Es wird empfohlen, die Datei /etc/hosts
zu bearbeiten Datei auf dem Mailserver und fügen Sie den folgenden Eintrag hinzu, damit Roundcube das öffentliche DNS nicht abfragen muss, was das Laden von Webseiten etwas beschleunigt.
127.0.0.1 localhost mail.example.com
Schritt 7:Beenden Sie die Installation im Webbrowser
Rufen Sie in Ihrem Webbrowser die Roundcube-Installationsseite auf.
https://mail.example.com/installer
Der Webinstaller prüft zunächst, ob PHP-Erweiterungen, Datenbanken und Bibliotheken von Drittanbietern installiert sind. Wenn Sie diesem Tutorial folgen, sollten alle Anforderungen erfüllt sein.
Klicken Sie auf die Schaltfläche Weiter. Auf der zweiten Seite müssen Sie die MariaDB-Datenbankdetails eingeben, die Sie zuvor erstellt haben.
Im Abschnitt IMAP und SMTP können Sie konfigurieren, wie E-Mails empfangen und gesendet werden. Geben Sie die folgenden Werte für IMAP ein.
- IMAP-Host:
ssl://mail.example.com
Port:993
Geben Sie die folgenden Werte für die SMTP-Einstellungen ein.
- SMTP-Port:
tls://mail.example.com
Port:587
. Beachten Sie, dass Sietls://
verwenden müssen als Präfix für Port 587. Derssl://
Präfix sollte für Port 465 verwendet werden
Als nächstes können Sie nach unten zu den Plugins
scrollen Abschnitt, um einige Plugins zu aktivieren. Zum Beispiel:das Passwort-Plugin, als Junk-Plugin markieren und so weiter. Ich habe sie alle aktiviert.
Klicken Sie anschließend auf create config
Schaltfläche, die eine Konfiguration basierend auf den von Ihnen eingegebenen Informationen erstellt. Sie müssen die Konfiguration kopieren und als config.inc.php
speichern unter /var/www/roundcube/config/
Verzeichnis.
Sobald die Datei config.inc.php erstellt ist, klicken Sie auf die Schaltfläche „Weiter“. Testen Sie im letzten Schritt Ihre SMTP- und IMAP-Einstellungen, indem Sie eine Test-E-Mail senden und die IMAP-Anmeldung überprüfen. Beachten Sie, dass Sie Ihre vollständige E-Mail-Adresse in den Sender
eingeben müssen Feld beim Testen der SMTP-Konfiguration.
Wenn der Test fehlschlägt, können Sie auf 2. Create config
Link oben auf der Seite, um zu Schritt 2 zurückzukehren und die config.inc.php
neu zu erstellen Datei.
Wenn der Test erfolgreich ist, gehen Sie ohne /installer
zu Ihrer Webmail-Domain und melden Sie sich an.
Roundcube-Webmail-Oberfläche
Jetzt sollten Sie entfernen den gesamten Installationsordner aus dem Dokumentenstamm oder stellen Sie sicher, dass enable_installer
Option in config.inc.php
Datei ist deaktiviert.
sudo rm /var/www/roundcube/installer/ -r
Diese Dateien können vertrauliche Konfigurationsdaten wie Serverkennwörter und Verschlüsselungsschlüssel der Öffentlichkeit zugänglich machen. Stellen Sie sicher, dass Sie mit Ihrem Browser nicht auf die Installationsseite zugreifen können.
Schritt 8:Konfigurieren Sie den Sieve-Nachrichtenfilter
Sie können Ordner in Roundcube-Webmail erstellen und dann Regeln erstellen, um E-Mail-Nachrichten in verschiedene Ordner zu filtern. Dazu müssen Sie den ManageSieve-Server mit folgendem Befehl installieren.
sudo apt install dovecot-sieve dovecot-managesieved
Standardmäßig verwendet Postfix seinen integrierten Local Delivery Agent (LDA), um eingehende E-Mails in den Nachrichtenspeicher zu verschieben (Posteingang, Gesendet, Papierkorb, Junk usw.). Wir können es so konfigurieren, dass es Dovecot zum Zustellen von E-Mails über das LMTP-Protokoll verwendet, das eine vereinfachte Version von SMTP ist. LMTP ermöglicht ein hochgradig skalierbares und zuverlässiges E-Mail-System und ist erforderlich, wenn Sie das Sieve-Plugin verwenden möchten, um eingehende Nachrichten in verschiedene Ordner zu filtern.
Installieren Sie den Dovecot LMTP-Server.
sudo apt install dovecot-lmtpd
Bearbeiten Sie die Hauptkonfigurationsdatei von Dovecot.
sudo nano /etc/dovecot/dovecot.conf
Fügen Sie lmtp
hinzu und sieve
zu den unterstützten Protokollen.
protocols = imap lmtp sieve
Speichern und schließen Sie die Datei. Bearbeiten Sie dann die 10-master.conf von Dovecot Datei.
sudo nano /etc/dovecot/conf.d/10-master.conf
Ändern Sie den lmtp
Service-Definition wie folgt.
service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix mode = 0600 user = postfix } }
Bearbeiten Sie als Nächstes die Hauptkonfigurationsdatei von Postfix.
sudo nano /etc/postfix/main.cf
Fügen Sie die folgenden Zeilen am Ende der Datei hinzu. Die erste Zeile weist Postfix an, E-Mails über den Dovecot-LMTP-Server an den lokalen Nachrichtenspeicher zu liefern. Die zweite Zeile deaktiviert SMTPUTF8 in Postfix, da Dovecot-LMTP diese E-Mail-Erweiterung nicht unterstützt.
mailbox_transport = lmtp:unix:private/dovecot-lmtp smtputf8_enable = no
Speichern und schließen Sie die Datei. Öffnen Sie die /etc/dovecot/conf.d/15-lda.conf
Datei.
sudo nano /etc/dovecot/conf.d/15-lda.conf
Scrollen Sie zum Ende der Datei, kommentieren Sie mail_plugins
aus line und fügen Sie das Sieve-Plug-in zum Local Delivery Agent (LDA) hinzu.
protocol lda { # Space separated list of plugins to load (default is global mail_plugins). mail_plugins = $mail_plugins sieve }
Speichern und schließen Sie die Datei. Wenn Sie die 20-lmtp.conf
finden können Datei unter /etc/dovecot/conf.d/
Verzeichnis, dann sollten Sie auch das Sieve-Plugin in dieser Datei wie unten aktivieren.
protocol lmtp { mail_plugins = quota sieve }
Bearbeiten Sie die /etc/dovecot/conf.d/10-mail.conf
Datei.
sudo nano /etc/dovecot/conf.d/10-mail.conf
Sieve-Skripte werden im Home-Verzeichnis jedes Benutzers gespeichert. Wenn Sie meinem PostfixAdmin-Tutorial gefolgt sind und virtuelle Postfachdomänen verwenden, müssen Sie mail_home
aktivieren für die virtuellen Benutzer durch Hinzufügen der folgenden Zeile in der Datei, da virtuelle Benutzer standardmäßig keine Home-Verzeichnisse haben.
mail_home = /var/vmail/%d/%n
Speichern und schließen Sie die Datei.
Starten Sie abschließend Postfix und Dovecot neu.
sudo systemctl restart postfix dovecot
Jetzt können Sie zu Roundcube-Webmail gehen, eine E-Mail-Nachricht öffnen und auf more
klicken Schaltfläche und wählen Sie create filters
um Nachrichtenfilter zu erstellen. Zum Beispiel erstelle ich einen Filter, der jede von redhat.com gesendete E-Mail in den Red Hat-Ordner verschiebt.
Wenn Sie die Filtererstellungsoption nicht haben, liegt es wahrscheinlich daran, dass Sie managesieve
nicht aktiviert haben Plugin. Bearbeiten Sie die config.inc.php
Datei.
sudo nano /var/www/roundcube/config/config.inc.php
Fügen Sie das managesieve
hinzu plugin im Array am Ende dieser Datei. Die Plugin-Reihenfolge spielt keine Rolle.
$config['plugins'] = array('acl', 'additional_message_headers', 'managesieve', .....);
Speichern und schließen Sie die Datei.
Beachten Sie, dass Sie, wenn Sie einen Sieb-Filtersatz von einem alten Mailserver auf Ihren neuen Mailserver verschieben, zu den Einstellungen gehen müssen -> Filter , und klicken Sie dann auf Aktionen und aktivieren Sie den Filtersatz, oder der Dovecot LMTP-Server führt den Sieve-Filter nicht aus.
Schritt 9:Entfernen vertraulicher Informationen aus E-Mail-Kopfzeilen
Standardmäßig fügt Roundcube einen User-Agent
hinzu E-Mail-Kopfzeile, die angibt, dass Sie Roundcube-Webmail verwenden, und die Versionsnummer. Sie können Postfix anweisen, es zu ignorieren, damit der Empfänger es nicht sehen kann. Führen Sie den folgenden Befehl aus, um eine Header-Prüfdatei zu erstellen.
sudo nano /etc/postfix/smtp_header_checks
Fügen Sie die folgenden Zeilen in die Datei ein.
/^User-Agent.*Roundcube Webmail/ IGNORE
Speichern und schließen Sie die Datei. Bearbeiten Sie dann die Hauptkonfigurationsdatei von Postfix.
sudo nano /etc/postfix/main.cf
Fügen Sie die folgende Zeile am Ende der Datei hinzu.
smtp_header_checks = regexp:/etc/postfix/smtp_header_checks
Speichern und schließen Sie die Datei. Führen Sie dann den folgenden Befehl aus, um die Hash-Tabelle neu zu erstellen.
sudo postmap /etc/postfix/smtp_header_checks
Laden Sie Postfix neu, damit die Änderung wirksam wird.
sudo systemctl reload postfix
Jetzt enthält Postfix User-Agent: Roundcube Webmail
nicht mehr in den Kopfzeilen beim Senden ausgehender E-Mails.
Schritt 10:Konfigurieren Sie das Passwort-Plugin in Roundcube
Roundcube enthält ein Passwort-Plugin, mit dem Benutzer ihre Passwörter über die Webmail-Oberfläche ändern können. Bearbeiten Sie die config.inc.php
Datei.
sudo nano /var/www/roundcube/config/config.inc.php
Achten Sie auf das password
plugin in der Plugin-Liste am Ende dieser Datei. Die Plugin-Reihenfolge spielt keine Rolle.
$config['plugins'] = array('acl', 'additional_message_headers', 'password', .....);
Speichern und schließen Sie die Datei.
Wir müssen dieses Plugin jedoch konfigurieren, bevor es funktioniert. Bearbeiten Sie die Konfigurationsdatei des Passwort-Plugins. Führen Sie den folgenden Befehl aus, um die Konfigurationsdatei des verteilten Passwort-Plugins in eine neue Datei zu kopieren.
sudo cp /var/www/roundcube/plugins/password/config.inc.php.dist /var/www/roundcube/plugins/password/config.inc.php
Bearbeiten Sie die Konfigurationsdatei des Passwort-Plugins.
sudo nano /var/www/roundcube/plugins/password/config.inc.php
Suchen Sie die folgende Zeile:
$config['password_db_dsn'] = '';
Dieser Parameter wird verwendet, um dem Passwort-Plugin mitzuteilen, wo die Benutzerpasswörter gespeichert werden. Standardmäßig ist der Wert leer und es wird der roundcube
abgefragt Datenbank, die keine Benutzerkennwörter speichert. Wenn Sie meinem PostfixAdmin-Tutorial gefolgt sind, werden Benutzerpasswörter in der postfixadmin.mailbox
gespeichert Tabelle, also müssen wir den Wert ändern in:
$config['password_db_dsn'] = 'mysql://postfixadmin:[email protected]/postfixadmin';
Der weist das Passwort-Plugin an, sich mit dem postfixadmin
zu verbinden Datenbank. Wenn Sie sich nicht an Ihr Postfixadmin-Datenbankpasswort erinnern, finden Sie es in /etc/dovecot/dovecot-sql.conf.ext
Datei. Wenn Ihr PostfixAdmin-Passwort ein einfaches Anführungszeichen enthält, können Sie den umgekehrten Schrägstrich (\'
), um ihm zu entkommen.
Suchen Sie dann die folgende Zeile.
$config['password_query'] = 'SELECT update_passwd(%c, %u)';
Ändern Sie es wie folgt.
$config['password_query'] = 'UPDATE mailbox SET password=%D,modified=NOW() WHERE username=%u';
Ich empfehle, einen Passwortstärkenprüfer zu aktivieren, um zu verhindern, dass Benutzer Wochenpasswörter festlegen. Gehen Sie zum Anfang dieser Datei, Sie finden die folgende Zeile.
$config['password_strength_driver'] = null;
Wir können den zxcvbn
verwenden Passwortstärke-Treiber, also ändern Sie es in:
$config['password_strength_driver'] = 'zxcvbn';
Fügen Sie dieser Datei die folgende Zeile hinzu, um nur sichere Kennwörter zuzulassen.
$config['password_zxcvbn_min_score'] = 5;
Hinweis :Der $config['password_minimum_score']
Parameter funktioniert nicht mit zxcvbn
Fahrer, also lass es in Ruhe.
Sie können auch eine Mindestlänge für das Passwort festlegen. Suchen Sie die folgende Zeile.
$config['password_minimum_length'] = 0;
Ändern Sie es in:
$config['password_minimum_length'] = 8;
Denken Sie daran, dass wir das ARGON2I-Passwortschema im PostfixAdmin-Tutorial verwendet haben, also müssen wir auch das Passwort-Plugin konfigurieren, um ARGON2I zu verwenden. Suchen Sie die folgenden Zeilen in der Datei.
$config['password_algorithm'] = 'clear';
Standardmäßig wird das Passwort als Klartext gespeichert, ändern Sie den Wert wie folgt, um den integrierten Passwortalgorithmus von Dovecot zu verwenden.
$config['password_algorithm'] = 'dovecot';
Suchen Sie dann die folgende Zeile, die angibt, wo sich der Passwort-Hash-Generator von Dovecot befindet.
$config['password_dovecotpw'] = '/usr/local/sbin/dovecotpw'; // for dovecot-1.x
Ändern Sie es wie folgt.
$config['password_dovecotpw'] = '/usr/bin/doveadm pw -r 5';
Suchen Sie dann die folgende Zeile, die angibt, welches Passwortschema verwendet wird.
$config['password_dovecotpw_method'] = 'CRAM-MD5';
Ändern Sie es in:
$config['password_dovecotpw_method'] = 'ARGON2I';
Suchen Sie die folgende Zeile.
$config['password_dovecotpw_with_method'] = false;
Ändern Sie false
auf true.
Dadurch wird dem gehashten Passwort ein {ARGON2I}-Präfix hinzugefügt, sodass Sie erkennen, welches Passwortschema verwendet wird.
$config['password_dovecotpw_with_method'] = true;
Speichern und schließen Sie die Datei. Da diese Datei das Datenbankpasswort enthält, sollten wir nur die www-data
zulassen Benutzer zum Lesen und Schreiben in diese Datei.
sudo chown www-data:www-data /var/www/roundcube/plugins/password/config.inc.php sudo chmod 600 /var/www/roundcube/plugins/password/config.inc.php
Jetzt sollten Benutzer ihre Passwörter in der Webmail-Oberfläche von Roundcube ändern können.
So richten Sie Urlaubs-/Abwesenheitsnachrichten ein
Wir können den Siebfilter verwenden, um Urlaubs-/Abwesenheitsnachrichten zu erstellen. Gehen Sie zu den Roundcube-Einstellungen -> Filter . Klicken Sie dann auf create
Schaltfläche, um einen Filter zu erstellen.
- Geben Sie diesem Filer einen Namen wie „Außer Haus“.
- Neue Filter werden nicht deaktiviert, also können Sie die Schaltfläche in Ruhe lassen.
- Im Geltungsbereich Feld alle Nachrichten auswählen.
- Wählen Sie Wiederholen mit Nachricht in den Aktionseinstellungen und geben Sie die Nachricht ein, die automatisch gesendet wird.
- Geben Sie 1 ein in Wie oft Nachrichten senden Daher wird die automatische Antwort nur einmal pro Tag für jeden Absender gesendet. Wenn Sie diesen Wert auf 7 setzen , dann wird die automatische Antwort einmal alle 7 Tage für jeden Absender gesendet.
- Lassen Sie andere Textfelder leer.
- Klicken Sie auf Speichern Knopf und du bist fertig.
Wenn Sie wieder im Büro sind, können Sie den „Filter deaktiviert“ umschalten “ und klicken Sie auf Speichern Schaltfläche, um diesen Filter zu deaktivieren.
Erhöhen Sie die Größenbeschränkung für Upload-Dateien
Wenn Sie PHP-FPM verwenden, um PHP-Skripte auszuführen, dürfen Dateien wie Bilder und PDF-Dateien, die auf Roundcube hochgeladen werden, nicht größer als 2 MB sein. Um die Upload-Größenbeschränkung zu erhöhen, bearbeiten Sie die PHP-Konfigurationsdatei.
sudo nano /etc/php/7.2/fpm/php.ini
Suchen Sie die folgende Zeile (Zeile 846).
upload_max_filesize = 2M
Ändern Sie den Wert wie unten. Beachten Sie, dass dieser Wert nicht größer als die vom Postfix-SMTP-Server festgelegte Größenbeschränkung für Anhänge sein sollte.
upload_max_filesize = 50M
Suchen Sie dann die folgende Zeile (Zeile 694).
post_max_size = 8M
Ändern Sie die maximale Größe von POST-Daten, die PHP akzeptiert.
post_max_size = 50M
Speichern und schließen Sie die Datei. Alternativ können Sie die folgenden beiden Befehle ausführen, um den Wert zu ändern, ohne die Datei manuell zu öffnen.
sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 50M/g' /etc/php/7.4/fpm/php.ini sudo sed -i 's/post_max_size = 8M/post_max_size = 50M/g' /etc/php/7.4/fpm/php.ini
Starten Sie dann PHP-FPM neu.
sudo systemctl restart php7.2-fpm
Nginx legt auch eine Grenze für die Größe der Upload-Datei fest. Die von Nginx festgelegte standardmäßige maximale Upload-Dateigröße beträgt 1 MB. Wenn Sie Nginx verwenden, bearbeiten Sie die Nginx-Konfigurationsdatei.
sudo nano /etc/nginx/conf.d/mail.example.com.conf
Fügen Sie die folgende Zeile im virtuellen SSL-Host hinzu.
client_max_body_size 50M;
Speichern und schließen Sie die Datei. Laden Sie dann Nginx neu, damit die Änderungen wirksam werden.
sudo systemctl reload nginx
Es gibt 3 Plugins in Roundcube für Anhänge/Datei-Upload:
- database_attachments
- filesystem_attachments
- redundante_anhänge
Roundcube kann nur ein Plugin für Anhänge/Datei-Uploads verwenden. Ich habe festgestellt, dass database_attachment
plugin kann fehleranfällig sein und Ihnen Probleme bereiten. Bearbeiten Sie zum Deaktivieren die Roundcube-Konfigurationsdatei.
sudo nano /var/www/roundcube/config/config.inc.php
Scrollen Sie bis zum Ende dieser Datei. Sie sehen eine Liste der aktiven Plugins. Entfernen Sie 'database_attachments'
von der Liste. Speichern und schließen Sie die Datei.
Einrichten mehrerer E-Mail-Domains
Um mehrere E-Mail-Domains zu hosten, lesen Sie bitte den folgenden Artikel:
- Wie man mehrere E-Mail-Domains in PostfixAdmin auf Ubuntu hostet
Tipps zur Fehlerbehebung
Wenn Fehler auftreten, können Sie die Fehlerprotokolle des Webservers unter /var/log/apache2/roundcube_error.log
überprüfen (wenn Sie Apache verwenden) oder /var/log/nginx/roundcube.error
(wenn Sie Nginx verwenden), auch die Roundcube-Fehlerprotokolle in /var/www/roundcube/logs/
Verzeichnis.
Verbindung zum Speicherserver fehlgeschlagen
Wenn Connection to storage server failed
angezeigt wird Fehler beim Versuch, sich bei RoundCube anzumelden, liegt wahrscheinlich daran
- Dovecot-Server läuft nicht. Sie können Dovecot mit
sudo systemctl restart dovecot
neu starten und überprüfen Sie seinen Status mitsystemctl status dovecot
. - Sie verwenden ein selbstsigniertes TLS-Zertifikat. Roundcube erfordert ein gültiges TLS-Zertifikat, das von einer vertrauenswürdigen Zertifizierungsstelle wie Let’s Encrypt ausgestellt wurde.
- Ihr TLS-Zertifikat ist abgelaufen. Sie können das TLS-Zertifikat von Let’s Encrypt mit
sudo certbot renew
erneuern , starten Sie dann Postfix und Dovecot neu (sudo systemctl restart postfix dovecot
).
Sie können auch versuchen, einen benutzerdefinierten DNS-Eintrag in /etc/hosts
hinzuzufügen Datei wie in Schritt 8 beschrieben auf dem Roundcube-Server, damit Roundcube den Mailserver-Hostnamen richtig auflösen kann.
Nachricht konnte nicht vom Server geladen werden
Wenn Sie die Meldung „Interner Fehler:Nachricht konnte nicht vom Server geladen werden sehen ” Fehler, liegt es wahrscheinlich daran, dass Sie versuchen, eine gelöschte E-Mail zu öffnen (ungültige URL). Versuchen Sie, zur Mail-Root-Domain (mail.example.com) zu gehen, um zu sehen, ob es funktioniert.