GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

Installieren Sie Roundcube Webmail auf CentOS 8/RHEL 8 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 CentOS 8/RHEL 8 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.2-Version

Roundcube 1.4.2 wurde am 2. Januar 2020 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 CentOS 8/RHEL 8-Server installiert
  • Sie haben bereits einen LAMP-Stack oder LEMP-Stack auf dem CentOS 8/RHEL 8-Server installiert.

Wenn nicht, klicken Sie bitte auf die obigen Links und befolgen Sie die Anweisungen, um die Voraussetzungen zu erfüllen. Lassen Sie uns nun mit der Installation von Roundcube fortfahren.

Schritt 1:Laden Sie Roundcube Webmail auf CentOS 8/RHEL 8 herunter

Melden Sie sich über SSH bei Ihrem CentOS/RHEL-Server an und führen Sie dann den folgenden Befehl aus, um die neueste stabile Version 1.4.9 aus dem Roundcube-Github-Repository herunterzuladen.

wget https://github.com/roundcube/roundcubemail/releases/download/1.4.9/roundcubemail-1.4.9-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.9 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 Webstammverzeichnis (/var/www/ ) und benennen Sie es in roundcube um gleichzeitig.

tar xvf roundcubemail-1.4.9-complete.tar.gz

sudo mkdir /var/www/

sudo mv roundcubemail-1.4.9 /var/www/roundcube

Schritt 2:Abhängigkeiten installieren

Roundcube benötigt die php-imap Modul zum Erstellen von Unterordnern in Postfächern, aber php-imap ist nicht im standardmäßigen CentOS 8/RHEL 8-Repository enthalten, daher müssen wir das Remi-Repo verwenden, um dieses PHP-Modul zu installieren.

Installieren Sie das Remi Repo.

sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm

Dann PHP-Modul-Streams zurücksetzen.

sudo dnf module reset php

Aktivieren Sie php:remi-7.4 Modul-Stream.

sudo dnf module enable php:remi-7.4 -y

Dann können Sie den folgenden Befehl ausführen, um PHP-Module zu installieren, die von Roundcube benötigt oder empfohlen werden.

sudo dnf install php-ldap php-imagick php-common php-gd php-imap php-json php-curl php-zip php-xml php-mbstring php-bz2 php-intl php-gmp

Schritt 3:Erstellen Sie eine MariaDB-Datenbank und einen Benutzer für Roundcube

Melden Sie sich als root bei der MariaDB-Shell an.

mysql -u root -p

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;

Führen Sie den folgenden Befehl aus, um die Anfangstabellen in roundcube zu importieren Datenbank. Sie müssen das MariaDB-Root-Passwort eingeben.

mysql -u root -p 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/httpd/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/httpd/conf.d/mail.your-domain.com.conf

Fügen Sie den folgenden Text in die Datei ein. Ersetzen Sie mail.your-domain.com mit Ihrem echten Domainnamen und vergessen Sie nicht, dafür einen DNS-A-Eintrag festzulegen.

<VirtualHost *:80>
  ServerName mail.your-domain.com
  DocumentRoot /var/www/roundcube/

  ErrorLog /var/log/httpd/roundcube_error.log
  CustomLog /var/log/httpd/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. Laden Sie Apache neu, damit die Änderungen wirksam werden.

sudo systemctl reload httpd

Jetzt sollten Sie den webbasierten Installationsassistenten von Roundcube unter http://mail.your-domain.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.your-domain.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.your-domain.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-fpm/www.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.your-domain.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.

Wenn Sie Apache verwenden, 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.your-domain.com

Wenn Sie Nginx verwenden, führen Sie 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.your-domain.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 ein Zertifikat für mail.your-domain.com bereits vorhanden, wie unten gezeigt, sodass Sie das vorhandene TLS-Zertifikat in Ihrer Webserver-Konfigurationsdatei installieren können.

Schritt 6:Berechtigungen einrichten

Zuerst müssen wir den SELinux-Kontext des Webverzeichnisses ändern, damit es zum Bereitstellen von Webinhalten verwendet werden kann.

sudo chcon -t httpd_sys_content_t /var/www/roundcube/ -R

Der Webserver muss in den temp schreiben und logs Verzeichnis. Ändern Sie den SELinux-Kontext, um ihn beschreibbar zu machen.

sudo chcon -t httpd_sys_rw_content_t /var/www/roundcube/temp/ /var/www/roundcube/logs/ -R

Dann erteilen Sie dem Webserver Schreibrechte.

Apache:

sudo setfacl -R -m u:apache:rwx /var/www/roundcube/temp/ /var/www/roundcube/logs/

Nginx:

sudo setfacl -R -m u:nginx:rwx /var/www/roundcube/temp/ /var/www/roundcube/logs/

Standardmäßig verbietet SELinux Apache/Nginx, Netzwerkanfragen an andere Server zu stellen, aber später muss Apache/Nginx den TLS-Zertifikatsstatus vom Let’s Encrypt CA-Server für das OCSP-Stapling anfordern, also müssen wir SELinux mitteilen, Apache/Nginx mit dem Folgenden zuzulassen Befehl.

sudo setsebool -P httpd_can_network_connect 1

Wenn Sie Nginx verwenden, müssen Sie auch den folgenden Befehl ausführen, um dem Nginx-Benutzer Lese- und Schreibberechtigungen für 3 Verzeichnisse zu erteilen.

sudo setfacl -R -m u:nginx:rwx /var/lib/php/opcache/ /var/lib/php/session/ /var/lib/php/wsdlcache/

Starten Sie Apache/Nginx neu.

sudo systemctl restart httpd

sudo systemctl restart nginx

Schritt 7: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.your-domain.com

Schritt 8:Beenden Sie die Installation im Webbrowser

Rufen Sie in Ihrem Webbrowser die Roundcube-Installationsseite auf.

https://mail.your-domain.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 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.your-domain.com Port:993

Geben Sie die folgenden Werte für die SMTP-Einstellungen ein.

  • SMTP-Port:tls://mail.your-domain.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 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.

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 9: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 dovecot-pigeonhole installieren Paket mit dem folgenden Befehl.

sudo dnf install dovecot-pigeonhole

Ö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.

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.

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. 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 10:Entfernen sensibler Informationen aus E-Mail-Headern

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 11: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.

sudo nano /var/www/roundcube/plugins/password/config.inc.php

Wenn Ihr Roundcube nicht über die Datei config.inc.php verfügt, kopieren Sie die Standardkonfigurationsdatei und bearbeiten Sie die Datei.

cd /var/www/roundcube/plugins/password/
sudo cp config.inc.php.dist config.inc.php
sudo nano 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 postfixadmin gespeichert Datenbank, 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 BLF-CRYPT-Passwortschema im PostfixAdmin-Tutorial verwendet haben, also müssen wir auch das Passwort-Plugin konfigurieren, um BLF-CRYPT 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 12';

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'] = 'BLF-CRYPT';

Suchen Sie die folgende Zeile.

$config['password_dovecotpw_with_method'] = false;

Ändern Sie false auf true. Dadurch wird dem gehashten Passwort ein {BLF-CRYPT}-Präfix hinzugefügt, sodass Sie erkennen können, 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 dem Benutzer des Webservers erlauben, diese Datei zu lesen und zu schreiben.

Apache

sudo chown apache:apache /var/www/roundcube/plugins/password/config.inc.php
sudo chmod 600 /var/www/roundcube/plugins/password/config.inc.php

Nginx

sudo chown nginx:nginx /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 , 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.

Einrichten mehrerer E-Mail-Domains

Um mehrere E-Mail-Domains zu hosten, lesen Sie bitte den folgenden Artikel:

  • So hosten Sie mehrere E-Mail-Domänen in PostfixAdmin unter CentOS/RHEL

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 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 9 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.


Cent OS
  1. So installieren Sie phpMyAdmin mit Nginx unter CentOS 7

  2. Installieren Sie Nginx mit ngx_pagespeed unter CentOS 7

  3. So installieren Sie phpMyAdmin mit Nginx unter CentOS 7 / RHEL 7

  4. So installieren Sie Apache Maven CentOS 7 / RHEL 7

  5. So installieren Sie Apache Maven unter CentOS/RHEL 8/7

So installieren Sie phpMyAdmin mit Nginx unter CentOS 8 / RHEL 8

So installieren Sie phpMyAdmin mit Apache unter CentOS 8 / RHEL 8

So installieren Sie WordPress mit Nginx unter CentOS 8 / RHEL 8

Installieren Sie Nginx Amplify unter CentOS 8/RHEL 8, um die LEMP-Leistung zu überwachen

Installieren Sie Roundcube Webmail auf Ubuntu 18.04 mit Apache/Nginx

Installieren Sie Roundcube Webmail auf Ubuntu 20.04 mit Apache/Nginx