GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Installieren Sie Roundcube Webmail auf Ubuntu 20.04 mit Apache/Nginx

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 20.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.
  • Importieren Sie MIME- oder Mbox-formatierte E-Mails.

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 20.04-Server installiert
  • Sie haben bereits einen LAMP-Stack oder LEMP-Stack auf einem Ubuntu 20.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:Laden Sie Roundcube Webmail auf Ubuntu 20.04 herunter

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.6/roundcubemail-1.4.6-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.6 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.6-complete.tar.gz

sudo mv roundcubemail-1.4.6 /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.4-common php7.4-gd php7.4-imap php7.4-json php7.4-curl php7.4-zip php7.4-xml php7.4-mbstring php7.4-bz2 php7.4-intl php7.4-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. (Löschen Sie den vorhandenen Inhalt.)

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. (Löschen Sie den vorhandenen Inhalt.)

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.4-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 20.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 jeder HTTP-Antwort den Strict-Transport-Security-Header 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. Gehen Sie auf der 2. Seite zum Database setup Sektion. Sie müssen die MariaDB-Datenbankdetails eingeben, die Sie in Schritt 3 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 Sie tls:// verwenden müssen als Präfix für Port 587. Der ssl:// 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 alle aktiviert. (Sie können ein Plugin nach der Installation jederzeit in der /var/www/roundcube/config/config.inc.php deaktivieren Datei.)

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.

Einmal die config.inc.php Datei erstellt wurde, klicken Sie auf continue Taste. 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 die lmtp-Dienstdefinition 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 den create filters nicht haben Option, 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. 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ärke-Checker zu aktivieren, um zu verhindern, dass Benutzer schwache Passwö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 Mit Nachricht antworten in den Aktionseinstellungen und geben Sie die Nachricht ein, die automatisch gesendet wird.
  • Geben Sie 1 ein in wie oft Nachrichten senden , sodass die automatische Antwort nur einmal pro Tag für jeden Absender gesendet wird. 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, 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.4/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.4-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 Verbindung zum Speicherserver fehlgeschlagen 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 mit systemctl 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 Hostnamen des Mailservers 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.

Sieve-Nachrichtenfilter funktioniert nicht?

Wenn Sie Schritt 8 befolgt haben, um den Siebfilter buchstabengetreu einzurichten, ihn aber immer noch nicht zum Laufen bringen können, können Sie das Debugging in Dovecot aktivieren, um herauszufinden, was falsch ist.

sudo nano /etc/dovecot/dovecot.conf

Fügen Sie am Ende dieser Datei die folgende Zeile hinzu, um das Debugging in Dovecot zu aktivieren.

mail_debug=yes

Speichern und schließen Sie die Datei. Starten Sie dann Dovecot neu.

sudo systemctl restart dovecot

Senden Sie als Nächstes eine Test-E-Mail an Ihre Domänen-E-Mail-Adresse und öffnen Sie die E-Mail-Protokolldatei.

sudo nano /var/log/mail.log

Hier finden Sie Debugging-Informationen für den Sieve-Nachrichtenfilter. Beispielsweise habe ich festgestellt, dass Dovecot mein Sieve-Skript nicht ausführen konnte.

Jan 10 11:35:24 mail dovecot: lmtp([email protected]) Debug: sieve: Aborted running script `/var/vmail/linuxbabe.com/xiao/.dovecot.svbin'

Es stellt sich heraus, dass mein Sieve-Filter zu viele Regeln hat und einige davon miteinander in Konflikt stehen. Ich lösche diese widersprüchlichen Regeln und es funktioniert wieder.

Wie man Roundcube aktualisiert

Es ist sehr einfach. Hier erfahren Sie beispielsweise, wie Sie ein Upgrade auf Roundcube 1.5.0 durchführen.

Laden Sie die neueste Version von Roundcube in Ihr Home-Verzeichnis herunter.

cd ~

wget https://github.com/roundcube/roundcubemail/releases/download/1.5.0/roundcubemail-1.5.0-complete.tar.gz

Extrahieren Sie das Archiv.

tar xvf roundcubemail-1.5.0-complete.tar.gz

Ändern Sie den Eigentümer in www-data .

chown www-data:www-data roundcubemail-1.5.0/ -R

Führen Sie dann das Installationsskript aus.

roundcubemail-1.5.0/bin/installto.sh /var/www/roundcube/

Melden Sie sich anschließend bei Roundcube-Webmail an und klicken Sie auf Info Schaltfläche, um zu überprüfen, welche Version von Rouncube Sie verwenden.


Ubuntu
  1. So installieren Sie Jenkins Automation Server mit Apache unter Ubuntu 16.04

  2. So installieren Sie den HTTP-Git-Server mit Nginx unter Ubuntu 16.04

  3. So installieren Sie Jenkins Automation Server mit Apache unter Ubuntu 18.04

  4. So installieren Sie den HTTP-Git-Server mit Nginx unter Ubuntu 20.04

  5. Installieren Sie phpMyAdmin auf Ubuntu 20.04 mit Nginx

Installieren Sie Roundcube Webmail auf Ubuntu 20.04 mit Apache/Nginx

So installieren Sie den Sonerezh Music Streaming Server auf Ubuntu 16.04 mit Apache oder Nginx

So installieren Sie InvoiceNinja auf Ubuntu 18.04 Server mit Apache/Nginx

Installieren Sie Matomo Web Analytics (Piwik) auf Ubuntu 18.04 mit Apache/Nginx

Installieren Sie Matomo Web Analytics (Piwik) auf Ubuntu 20.04 mit Apache/Nginx

So installieren Sie InvoiceNinja auf Ubuntu 20.04 Server mit Apache/Nginx