Roundcube Installation: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(42 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
=Roundcube Webmail=
{{#drawio:roundcube}}


==Einführung==
Roundcube ist ein webbasierter IMAP-Client der direkt im Browser läuft.
Er wird auf dem Mailserver installiert und ermöglicht den Zugriff auf Mails über HTTPS.


== Voraussetzungen ==
==Voraussetzungen==
* Ein funktionierender '''Mailserver''' mit '''IMAP''' (z. B. Dovecot) und '''SMTP''' (z. B. Postfix)
* Funktionierender Postfix + Dovecot auf demselben Server
* Ein '''Debian 12'''-Server mit '''Apache2''', '''MariaDB''' und '''PHP 8.2'''
* Apache2, MariaDB, PHP 8.1+
* Eine registrierte '''Domain''' (z. B. ''webmail.example.com'')
* '''Let's Encrypt''' oder ein anderes SSL-Zertifikat für HTTPS


== Dateien herunterladen ==
==Installation==
* In das temporäre Verzeichnis wechseln
;Pakete installieren
** cd /tmp
*apt update
* Die aktuelle Version von Roundcube herunterladen
*apt install apache2 mariadb-server php php-cli php-common php-curl php-gd php-intl php-mbstring php-mysql php-xml php-zip php-imagick php-apcu libapache2-mod-php unzip
** Die aktuelle Version ist unter https://github.com/roundcube/roundcubemail/releases verfügbar
** wget https://github.com/roundcube/roundcubemail/releases/download/1.6.0/roundcubemail-1.6.0-complete.tar.gz
* Archiv entpacken
** tar xvf roundcubemail-1.6.0-complete.tar.gz
* Archiv löschen
** rm roundcubemail-1.6.0-complete.tar.gz
* Dateien ins Webserver-Verzeichnis verschieben
** mv roundcubemail-1.6.0 /var/www/
* Verzeichnis umbenennen
** mv /var/www/roundcubemail-1.6.0 /var/www/roundcube


== Apache-Konfiguration erstellen ==
;Roundcube herunterladen (Hier gibt es aktuelle Versionen: https://roundcube.net/download/ )
* Virtuelle Host-Datei erstellen
*cd /root
** nano /etc/apache2/sites-available/roundcube.conf
*wget https://github.com/roundcube/roundcubemail/releases/download/1.7.1/roundcubemail-1.7.1-complete.tar.gz
*tar -xzvf roundcubemail-1.7.1-complete.tar.gz
*mv roundcubemail-1.7.1 /var/www/roundcube


;Berechtigungen setzen
*chown -R www-data:www-data /var/www/roundcube/
*chmod -R 750 /var/www/roundcube/
==Apache-Konfiguration==
;Module aktivieren
*a2enmod ssl rewrite headers
;Für die Installation brauchen wir diese Konfiguration
;Virtuelle Host-Datei erstellen
*vi /etc/apache2/sites-available/roundcube.conf
<pre>
<pre>
<VirtualHost *:80>
<VirtualHost *:80>
    ServerAdmin webmaster@example.com
    ServerName mail.it2XX.int
    DocumentRoot /var/www/roundcube/
    Redirect permanent / https://mail.it2XX.int/
    ServerName webmail.example.com
</VirtualHost>
    ServerAlias webmail.example.com
<VirtualHost *:443>
    <Directory /var/www/roundcube/>
    ServerName mail.it2XX.int
    SSLEngine on
    SSLCertificateFile /etc/ssl/own.crt
    SSLCertificateKeyFile /etc/ssl/own.key
    ServerAdmin technik@it2XX.int
    DocumentRoot /var/www/roundcube
    <Directory /var/www/roundcube>
         Options +FollowSymlinks
         Options +FollowSymlinks
         AllowOverride All
         AllowOverride All
         Require all granted
         Require all granted
          <IfModule mod_dav.c>
        <IfModule mod_dav.c>
             Dav off
             Dav off
          </IfModule>
        </IfModule>
         SetEnv HOME /var/www/roundcube
         SetEnv HOME /var/www/roundcube
         SetEnv HTTP_HOME /var/www/roundcube
         SetEnv HTTP_HOME /var/www/roundcube
    </Directory>
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/error.log
    ErrorLog ${APACHE_LOG_DIR}/mail-error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    CustomLog ${APACHE_LOG_DIR}/mail-access.log combined
</VirtualHost>
</VirtualHost>
</pre>
</pre>


* Seite aktivieren und Apache neu starten
*a2ensite roundcube.conf
** a2ensite roundcube.conf
*systemctl restart apache2
** systemctl restart apache2
 
==Datenbank einrichten==
*mysql -u root
<syntaxhighlight lang="sql">
CREATE DATABASE roundcubemail;
CREATE USER 'roundcube'@'localhost' IDENTIFIED BY '123Start$';
GRANT ALL PRIVILEGES ON roundcubemail.* TO 'roundcube'@'localhost';
FLUSH PRIVILEGES;
EXIT;
</syntaxhighlight>
 
==Installer aufrufen==
;Installation über den Webinstaller abschließen
*https://mail.it2XX.int/installer
 
;Einstellungen im Installer
{| class="wikitable"
! Parameter !! Wert
|-
| Database Server || localhost
|-
| Database name || roundcubemail
|-
| Database username || roundcube
|-
| Database password || 123Start$
|-
| imap_host || ssl://mail.it2XX.int:993
|-
| smtp_host || ssl://mail.it2XX.int:465
|}
 
;Datenbank initialisieren
*Initialize database → Test klicken
 
==Installation abschließen==
;Installer-Verzeichnis entfernen
*rm -rf /var/www/roundcube/installer
 
;Konfigurationsdatei absichern
*chmod 640 /var/www/roundcube/config/config.inc.php
*chown root:www-data /var/www/roundcube/config/config.inc.php


== Datenbank einrichten ==
==Für den Betrieb brauchen wir diese Konfiguration==
* MariaDB starten
Die roten Zeilen müssen geändert oder ergänzt werden-
** mysql -u root -p
* Datenbank und Benutzer erstellen
** CREATE DATABASE roundcube;
** CREATE USER 'roundcubeuser'@'localhost' IDENTIFIED BY 'sicherespasswort';
** GRANT ALL PRIVILEGES ON roundcube.* TO 'roundcubeuser'@'localhost';
** FLUSH PRIVILEGES;
** EXIT;


== Berechtigungen setzen ==
;Virtuelle Host-Datei erstellen
* Eigentümer und Berechtigungen anpassen
*vi /etc/apache2/sites-available/roundcube.conf
** chown -R www-data:www-data /var/www/roundcube/
<VirtualHost *:80>
** chmod -R 750 /var/www/roundcube/
    ServerName mail.it2XX.int
    Redirect permanent / https://mail.it2XX.int/
</VirtualHost>
<VirtualHost *:443>
    ServerName mail.it2XX.int
    SSLEngine on
    SSLCertificateFile /etc/ssl/own.crt
    SSLCertificateKeyFile /etc/ssl/own.key
    ServerAdmin technik@it2XX.int
    <span style="color:red;"><nowiki>DocumentRoot /var/www/roundcube/public_html</nowiki></span>
    <span style="color:red;"><nowiki><Directory /var/www/roundcube/public_html></nowiki></span>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted
        <IfModule mod_dav.c>
            Dav off
        </IfModule>
        SetEnv HOME /var/www/roundcube
        SetEnv HTTP_HOME /var/www/roundcube
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/mail-error.log
    CustomLog ${APACHE_LOG_DIR}/mail-access.log combined
</VirtualHost>


== Sicherheitsmaßnahmen ==
* SSL-Verschlüsselung aktivieren
** Let's Encrypt-Zertifikat einrichten
*** apt install certbot python3-certbot-apache
*** certbot --apache -d webmail.example.com
* Das installer-Verzeichnis nach der Installation entfernen
** rm -rf /var/www/roundcube/installer
* Konfigurationsdateien absichern
** chmod 640 /var/www/roundcube/config/config.inc.php
** chown root:www-data /var/www/roundcube/config/config.inc.php
* Apache-Sicherheitsheader setzen
** Datei /etc/apache2/conf-available/security.conf anpassen
<pre>
Header always set X-Frame-Options DENY
Header always set X-XSS-Protection "1; mode=block"
Header always set X-Content-Type-Options nosniff
</pre>
** a2enmod headers
** systemctl restart apache2


== PHP-Konfiguration für Roundcube ==
*systemctl restart apache2
<pre>
<?php
// Beispiel für eine PHP-Konfigurationsdatei für Roundcube
$config = array();
$config['db_dsnw'] = 'mysql://roundcubeuser:sicherespasswort@localhost/roundcube';
$config['default_host'] = 'localhost';
$config['smtp_server'] = 'localhost';
$config['smtp_port'] = 587;
$config['smtp_user'] = '%u';
$config['smtp_pass'] = '%p';
$config['enable_installer'] = false;
$config['log_dir'] = '/var/log/roundcube';
$config['temp_dir'] = '/tmp';
?>
</pre>


== Installation abschließen ==
==Test==
* Die Roundcube-Installation aufrufen
;Roundcube aufrufen und einloggen
** https://webmail.example.com/installer
*https://mail.it2XX.int
** Nach Abschluss der Installation das installer-Verzeichnis löschen
*** rm -rf /var/www/roundcube/installer


Falls es Probleme gibt, kann die offizielle Dokumentation unter https://roundcube.net/help konsultiert werden.
[[Kategorie:Mail]]

Aktuelle Version vom 10. Juni 2026, 14:02 Uhr

Roundcube Webmail

roundcube

Einführung

Roundcube ist ein webbasierter IMAP-Client der direkt im Browser läuft. Er wird auf dem Mailserver installiert und ermöglicht den Zugriff auf Mails über HTTPS.

Voraussetzungen

  • Funktionierender Postfix + Dovecot auf demselben Server
  • Apache2, MariaDB, PHP 8.1+

Installation

Pakete installieren
  • apt update
  • apt install apache2 mariadb-server php php-cli php-common php-curl php-gd php-intl php-mbstring php-mysql php-xml php-zip php-imagick php-apcu libapache2-mod-php unzip
Roundcube herunterladen (Hier gibt es aktuelle Versionen
https://roundcube.net/download/ )
Berechtigungen setzen
  • chown -R www-data:www-data /var/www/roundcube/
  • chmod -R 750 /var/www/roundcube/

Apache-Konfiguration

Module aktivieren
  • a2enmod ssl rewrite headers
Für die Installation brauchen wir diese Konfiguration
Virtuelle Host-Datei erstellen
  • vi /etc/apache2/sites-available/roundcube.conf
<VirtualHost *:80>
    ServerName mail.it2XX.int
    Redirect permanent / https://mail.it2XX.int/
</VirtualHost>
<VirtualHost *:443>
    ServerName mail.it2XX.int
    SSLEngine on
    SSLCertificateFile /etc/ssl/own.crt
    SSLCertificateKeyFile /etc/ssl/own.key
    ServerAdmin technik@it2XX.int
    DocumentRoot /var/www/roundcube
    <Directory /var/www/roundcube>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted
        <IfModule mod_dav.c>
            Dav off
        </IfModule>
        SetEnv HOME /var/www/roundcube
        SetEnv HTTP_HOME /var/www/roundcube
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/mail-error.log
    CustomLog ${APACHE_LOG_DIR}/mail-access.log combined
</VirtualHost>
  • a2ensite roundcube.conf
  • systemctl restart apache2

Datenbank einrichten

  • mysql -u root
CREATE DATABASE roundcubemail;
CREATE USER 'roundcube'@'localhost' IDENTIFIED BY '123Start$';
GRANT ALL PRIVILEGES ON roundcubemail.* TO 'roundcube'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Installer aufrufen

Installation über den Webinstaller abschließen
Einstellungen im Installer
Parameter Wert
Database Server localhost
Database name roundcubemail
Database username roundcube
Database password 123Start$
imap_host ssl://mail.it2XX.int:993
smtp_host ssl://mail.it2XX.int:465
Datenbank initialisieren
  • Initialize database → Test klicken

Installation abschließen

Installer-Verzeichnis entfernen
  • rm -rf /var/www/roundcube/installer
Konfigurationsdatei absichern
  • chmod 640 /var/www/roundcube/config/config.inc.php
  • chown root:www-data /var/www/roundcube/config/config.inc.php

Für den Betrieb brauchen wir diese Konfiguration

Die roten Zeilen müssen geändert oder ergänzt werden-

Virtuelle Host-Datei erstellen
  • vi /etc/apache2/sites-available/roundcube.conf
<VirtualHost *:80>
    ServerName mail.it2XX.int
    Redirect permanent / https://mail.it2XX.int/
</VirtualHost>
<VirtualHost *:443>
    ServerName mail.it2XX.int
    SSLEngine on
    SSLCertificateFile /etc/ssl/own.crt
    SSLCertificateKeyFile /etc/ssl/own.key
    ServerAdmin technik@it2XX.int
    DocumentRoot /var/www/roundcube/public_html 
    <Directory /var/www/roundcube/public_html>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted
        <IfModule mod_dav.c>
            Dav off
        </IfModule>
        SetEnv HOME /var/www/roundcube
        SetEnv HTTP_HOME /var/www/roundcube
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/mail-error.log
    CustomLog ${APACHE_LOG_DIR}/mail-access.log combined
</VirtualHost>


  • systemctl restart apache2

Test

Roundcube aufrufen und einloggen