GNU/Linux >> LINUX-Kenntnisse >  >> Debian

RoundCube-Webmail-Installation auf Debian 8 (Jessie)

Dieses Tutorial zeigt die Installation des neuesten RoundCube-Webmailers auf Debian 8. Roundcube ist ein einfach zu bedienender Webmail-Client mit IMAP- und SMTP-Unterstützung, der mit Plugins erweitert werden kann. Unter Debian 7 war RoundCube als .deb-Paket verfügbar, es war nicht die neueste Version, aber zumindest war es einfach mit apt zu installieren. Für die aktuelle Debian-Version ist kein RoundCube-Paket mehr verfügbar, daher beschreibe ich hier die Installation aus den Quellen. Dieses Tutorial enthält ein optionales Kapitel, das die Schritte zum Verbinden von RoundCube mit dem ISPConfig 3 Hosting Control Panel beschreibt.

Voraussetzungen

  • Betriebssystem Debian 8.
  • Apache-Webserver mit installiertem mod_php. Wenn noch kein Apache installiert ist, werfen Sie einen Blick auf unsere LAMP-Anleitung oder die Einrichtung eines perfekten Servers, um eine geeignete Umgebung zu installieren.
  • Ein E-Mail-Server (SMTP + IMAP), mit dem sich Roundcube verbinden soll. Dies kann der lokale Server sein (z. B. wenn Sie eines der perfekten Server-Setups verwenden) oder ein Remote-Server.
  • Der Server-Hostname, den ich in diesem Tutorial verwenden werde, ist server1.example.com mit der IP-Adresse 192.168.1.100. Bitte ersetzen Sie diese durch die IP und den Hostnamen Ihres Servers.

RoundCube-Installation

Ich werde RoundCube in das Verzeichnis /opt/roundcube installieren, um sicherzustellen, dass diese Installation nicht mit irgendwelchen Debian-Systempaketen kollidiert. Der erste Schritt besteht darin, wget zu installieren, das Verzeichnis /opt/roundcube zu erstellen und die neueste RoundCube-Version mit wget in dieses Verzeichnis herunterzuladen. Die aktuelle RoundCube-Version ist zum Zeitpunkt, als ich dieses Tutorial schreibe, 1.1.3. Schauen Sie auf der RoundCube-Website nach, ob es eine neuere Version gibt, die Sie verwenden können.

Melden Sie sich als Root-Benutzer auf der Shell Ihres Servers an und installieren Sie dann wget und den Nano-Editor:

apt-get install wget nano

Erstellen Sie das Verzeichnis und geben Sie es mit dem "cd"-Befehl ein:

mkdir /opt/roundcube
cd /opt/roundcube

Laden Sie die RoundCube tar.gz-Datei herunter und entpacken Sie sie:

wget https://downloads.sourceforge.net/project/roundcubemail/roundcubemail/1.1.3/roundcubemail-1.1.3-complete.tar.gz
tar xfz roundcubemail-1.1.3-complete.tar.gz

Die RoundCube-Dateien befinden sich nun im Ordner /opt/roundcube/roundcubemail-1.1.3. Der nächste Schritt besteht darin, sie um ein Verzeichnis nach oben nach /opt/roundcube zu verschieben.

mv roundcubemail-1.1.3/* .
mv roundcubemail-1.1.3/.htaccess .

Der Punkt am Ende der beiden Befehle ist erforderlich und Teil des Befehls, nicht verpassen! Löschen Sie das leere Verzeichnis und die tar.gz-Datei.

rmdir roundcubemail-1.1.3
rm roundcubemail-1.1.3-complete.tar.gz

Und ändern Sie den Besitzer aller Dateien auf den Benutzer, unter dem der Apache-Server läuft.

chown -R www-data:www-data /opt/roundcube

Installieren Sie die RoundCube-Datenbank

Roundcube benötigt eine Datenbank, um Postfacheinstellungen, Kontakte usw. zu speichern. Ich werde hier MySQL (oder MariaDB) als Datenbank-Backend verwenden. Wir erstellen nun eine Datenbank mit dem Namen „roundcubemail“ und einen Benutzer mit dem Namen „roundcube“ in MySQL.

Melden Sie sich mit dem folgenden Befehl beim MySQL-Server an:

mysql --defaults-file=/etc/mysql/debian.cnf

Führen Sie dann die folgenden Befehle in der MySQl-Datenbank-Shell aus, um die Datenbank und den Datenbankbenutzer zu erstellen. Ersetzen Sie das Wort "secretpassword" in den folgenden Befehlen durch ein Passwort Ihrer Wahl.

CREATE DATABASE roundcubemail;
GRANT ALL PRIVILEGES ON roundcubemail.* TO [email protected] IDENTIFIED BY 'secretpassword';
flush privileges;
quit

Jetzt importieren wir die RoundCube-Tabellen aus der Datei mysql.initial.sql in unsere neue Datenbank.

Führen Sie den folgenden Befehl auf der Linux-Shell aus:

mysql --defaults-file=/etc/mysql/debian.cnf roundcubemail < /opt/roundcube/SQL/mysql.initial.sql

Konfigurieren Sie RoundCube und Apache

In diesem Schritt konfigurieren wir die Datenbankdetails in RoundCube und fügen eine RoundCube-Konfigurationsdatei in Apache hinzu.

Ich beginne mit der Datenbankkonfiguration in RoundCube. Führen Sie die folgenden Befehle aus, um eine neue config.inc.php-Datei basierend auf der Beispielkonfigurationsdatei zu erstellen, und öffnen Sie sie im Nano-Editor.

cd /opt/roundcube/config
cp -pf config.inc.php.sample config.inc.php
nano config.inc.php

Suchen Sie die Datenbankkonfigurationszeile, die mit $config['db_dsnw'] beginnt, und ersetzen Sie sie durch die folgende Zeile:

$config['db_dsnw'] = 'mysql://roundcube:[email protected]/roundcubemail';

Das Wort "secretpassword" muss durch das von Ihnen gewählte Passwort für die Datenbank ersetzt werden.

Suchen Sie als nächstes nach der Zeile "smtp_server" und geben Sie hier den Hostnamen Ihres SMTP-Servers ein. In meinem Fall ist der Mailserver der lokale Server, also setze ich den Server auf „localhost“.

$config['smtp_server'] = 'localhost';

Jetzt ist es an der Zeit, Apache zu konfigurieren. Ich erstelle eine neue Konfigurationsdatei roundcube.conf im Ordner /etc/apache2/conf-available/.

nano /etc/apache2/conf-available/roundcube.conf

Fügen Sie dieser Datei die folgenden Zeilen hinzu und speichern Sie sie.

Alias /roundcube /opt/roundcube
Alias /webmail /opt/roundcube

<Directory /opt/roundcube>
Options +FollowSymLinks
# AddDefaultCharset UTF-8
AddType text/x-component .htc

<IfModule mod_php5.c>
AddType application/x-httpd-php .php
php_flag display_errors Off
php_flag log_errors On
# php_value error_log logs/errors
php_value upload_max_filesize 10M
php_value post_max_size 12M
php_value memory_limit 64M
php_flag zlib.output_compression Off
php_flag magic_quotes_gpc Off
php_flag magic_quotes_runtime Off
php_flag zend.ze1_compatibility_mode Off
php_flag suhosin.session.encrypt Off
#php_value session.cookie_path /
php_flag session.auto_start Off
php_value session.gc_maxlifetime 21600
php_value session.gc_divisor 500
php_value session.gc_probability 1
</IfModule>

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^favicon\.ico$ skins/larry/images/favicon.ico
# security rules:
# - deny access to files not containing a dot or starting with a dot
# in all locations except installer directory
RewriteRule ^(?!installer)(\.?[^\.]+)$ - [F]
# - deny access to some locations
RewriteRule ^/?(\.git|\.tx|SQL|bin|config|logs|temp|tests|program\/(include|lib|localization|steps)) - [F]
# - deny access to some documentation files
RewriteRule /?(README\.md|composer\.json-dist|composer\.json|package\.xml)$ - [F]
</IfModule>

<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
</IfModule>

<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 month"
</IfModule>

FileETag MTime Size

<IfModule mod_autoindex.c>
Options -Indexes
</ifModule>

AllowOverride None
Require all granted
</Directory>

<Directory /opt/roundcube/plugins/enigma/home>
Options -FollowSymLinks
AllowOverride None
Require all denied
</Directory>

<Directory /opt/roundcube/config>
Options -FollowSymLinks
AllowOverride None
Require all denied
</Directory>

<Directory /opt/roundcube/temp>
Options -FollowSymLinks
AllowOverride None
Require all denied
</Directory>

<Directory /opt/roundcube/logs>
Options -FollowSymLinks
AllowOverride None
Require all denied
</Directory>

Die 2 Alias-Zeilen in den ersten beiden Zeilen machen RoundCube als /roundcube und /webmail auf Ihrem Server verfügbar.

Aktivieren Sie die Konfiguration und laden Sie Apache neu:

a2enconf roundcube
service apache2 reload

RoundCube ist jetzt vollständig auf Ihrem Server installiert und Sie können es über die Server-IP und den Hostnamen über die Aliase /roundcube und /webmail erreichen. Die IP meines Servers ist 192.168.1.100; Dafür kann ich RoundCube mit http://192.168.1.100/webmail

öffnen

Installation des ISPConfig RoundCube-Plugins (optional)

Wenn auf Ihrem Server iSPConfig 3 installiert ist, wird dringend empfohlen, das ISPConfig RoundCube-Plugin zu installieren. Dadurch können Ihre E-Mail-Benutzer ihre Autoresponder, E-Mail-Filter und andere Postfacheinstellungen in RoundCube verwalten.

Das ISPConfig 3 RoundCube-Plugin ist über die ISPConfig-Remote-API mit ISPConfig 3 verbunden. Um diese API zu verwenden, benötigen wir einen Remote-Benutzer.

Melden Sie sich bei ISPConfig als „admin“-Benutzer an.

Gehen Sie zum Erstellen eines solchen Benutzers zu System > Benutzerverwaltung > Remote-Benutzer und klicken Sie auf die Schaltfläche "Neuen Benutzer hinzufügen":

Geben Sie einen Benutzernamen und ein Kennwort für den neuen Remote-Benutzer ein. Ich wähle den Benutzernamen "roundcube" und das Passwort "!fdWEacBOG1d".

Das Remote-Benutzer-Setup ermöglicht eine feinkörnige Zugriffskontrolle; Folgende Funktionen müssen aktiviert sein:

  • Serverfunktionen
  • Client-Funktionen
  • Mail-Benutzerfunktionen
  • Mail-Alias-Funktionen
  • Mail-Spamfilter-Benutzerfunktionen
  • Mail-Spamfilter-Richtlinienfunktionen
  • Mail-Fetchmail-Funktionen
  • Whitelist-Funktionen für Mail-Spamfilter
  • Blacklist-Funktionen für Mail-Spamfilter
  • Filterfunktionen für E-Mail-Benutzer

Klicken Sie abschließend auf Speichern.

Die nächsten Schritte wurden auf der Shell Ihres Servers durchgeführt. Melden Sie sich als Root-Benutzer an.

Wir werden nun das ISPConfig-SSL-Zertifikat in den SSL-Zertifikatspeicher von Debian installieren.

cp /usr/local/ispconfig/interface/ssl/ispserver.crt /usr/local/share/ca-certificates/
update-ca-certificates

Öffnen Sie die Datei /etc/php5/cgi/php.ini

nano /etc/php5/apache2/php.ini

Scrollen Sie nach unten, bis Sie den Abschnitt [openssl] der Datei sehen, und fügen Sie dort die folgende Zeile hinzu:

openssl.cafile=/etc/ssl/certs/ca-certificates.crt

Starten Sie dann Apache neu.

service apache2 restart

Um das Addon herunterzuladen, installieren Sie zuerst den Git-Client.

apt-get install git

Holen Sie sich die neueste Version des RoundCube ISPConfig-Plugins:

cd /tmp
git clone https://github.com/w2c/ispconfig3_roundcube.git
cd /tmp/ispconfig3_roundcube/

Und verschieben Sie das Plugin in das Roundcube-Plugin-Verzeichnis.

mv ispconfig3_* /opt/roundcube/plugins
cd /opt/roundcube/plugins

Erstellen Sie eine neue config.inc.php-Datei für das Plugin basierend auf der Beispielkonfiguration und öffnen Sie die Datei im Nano-Editor.

mv ispconfig3_account/config/config.inc.php.dist ispconfig3_account/config/config.inc.php
nano ispconfig3_account/config/config.inc.php

Geben Sie die Details des entfernten Benutzers ein und speichern Sie die Datei.

<?php
$rcmail_config['identity_limit'] = false;
$rcmail_config['remote_soap_user'] = 'roundcube';
$rcmail_config['remote_soap_pass'] = '!fdWEacBOG1d';
$rcmail_config['soap_url'] = 'https://server1.example.com:8080/remote/';
?>

Ersetzen Sie server1.example.com mit dem Hostnamen des Servers. Wenn SSL (HTTPS) für die Remote-API-Verbindung verwendet wird, ist es wichtig, dass der Hostname in der RoundCube-Konfiguration mit dem Hostnamen des SSL-Zertifikats der ISPConfig-Schnittstelle übereinstimmt. Sie können den Hostnamen des ISPConfig-SSL-Zertifikats mit dem folgenden Befehl überprüfen:

openssl x509 -in /usr/local/share/ca-certificates/ispserver.crt -text -noout | grep Subject:

Das Ergebnis ist in meinem Fall:

Subject: C=DE, ST=Niedersachsen, L=Lueneburg, O=ISPConfig UG, OU=IT, CN=server1.example.com/[email protected]

Der Hostname "server1.example.com" in der Plugin-Konfigurationsdatei stimmt also mit dem Hostnamen im SSL-Zertifikat überein.

Jetzt aktivieren wir die neuen Plugins in RoundCube. Öffnen Sie die Konfigurationsdatei in einem Editor:

nano /opt/roundcube/config/config.inc.php

und fügen Sie am Ende der Datei die folgende Zeile hinzu:

$rcmail_config['plugins'] = array("jqueryui", "ispconfig3_account", "ispconfig3_autoreply", "ispconfig3_pass", "ispconfig3_spam", "ispconfig3_fetchmail", "ispconfig3_filter");

Jetzt können Sie sich bei RoundCube anmelden, die neuen Optionen finden Sie unter Einstellungen> Konto .

Allgemeines Konto.

E-Mail-Filter einrichten.

Fetchmail-Setup.

  • Debian
  • Rundwürfel
  • Roundcube ISPConfig-Plugin

Debian
  1. So aktualisieren Sie Debian 8 Jessie auf Debian 9 Stretch

  2. Installieren Sie Horde 5 Webmail für ISPConfig auf Debian Jessie über PEAR

  3. Debian 8 Jessie veröffentlicht – Was ist neu?

  4. Debian – Devuan/Debian-Installation kann nicht gestartet werden?

  5. So installieren Sie RoundCube-Webmail unter Debian 9

So installieren Sie Anaconda unter Debian 10

PSAD-Installation und -Konfiguration unter Debian 8 (Jessie)

Verwenden von RoundCube Webmail mit ISPConfig 3 auf Debian Wheezy (Apache2)

Samba-Server-Installation auf Debian 8 (Jessie)

So installieren Sie Drupal unter Debian 10

So installieren Sie XAMPP unter Debian 10