Roundcube Installation: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
= Roundcube Webmail unter Debian 12 installieren =
=Roundcube Webmail=
*apt update
==Einführung==
*apt install 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 mariadb-server mariadb-client
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


== Einführung ==
;Roundcube herunterladen
Roundcube ist ein webbasiertes E-Mail-Client-Programm, das es ermöglicht, E-Mails von IMAP-Servern wie web.de, GMX oder Gmail direkt über den Browser abzurufen. Diese Anleitung beschreibt die Installation von Roundcube auf Debian 12.
*cd /root
 
*wget https://github.com/roundcube/roundcubemail/releases/download/1.7.1/roundcubemail-1.7.1-complete.tar.gz
== Voraussetzungen ==
*tar -xzvf roundcubemail-1.7.1-complete.tar.gz
* Ein funktionierender '''Mailserver''' mit '''IMAP''' (z. B. Dovecot) und '''SMTP''' (z. B. Postfix)
*mv roundcubemail-1.7.1 /var/www/roundcube
* Ein '''Debian 12'''-Server mit '''Apache2''', '''MariaDB''' und '''PHP 8.2'''
* Eine registrierte '''Domain''' (z. B. ''webmail.example.com'')
* '''Let's Encrypt''' oder ein anderes SSL-Zertifikat für HTTPS
 
= Dateien herunterladen =
== In das temporäre Verzeichnis wechseln ==
* cd /root


== Die aktuelle Version von Roundcube herunterladen ==
;Berechtigungen setzen
Die aktuelle Version ist unter https://github.com/roundcube/roundcubemail/releases verfügbar.
*chown -R www-data:www-data /var/www/roundcube/
* wget https://github.com/roundcube/roundcubemail/releases/download/1.6.10/roundcubemail-1.6.10-complete.tar.gz
*chmod -R 750 /var/www/roundcube/


== Archiv entpacken und bereinigen ==
==Apache-Konfiguration==
* tar -xzvf roundcubemail-1.6.*-complete.tar.gz
;Module aktivieren
*a2enmod ssl rewrite headers
*a2ensite roundcube.conf


== Dateien ins Webserver-Verzeichnis verschieben ==
;Virtuelle Host-Datei erstellen
* mv roundcubemail-1.6.* /var/www/roundcube
*vi /etc/apache2/sites-available/roundcube.conf
 
= Apache-Konfiguration erstellen =
==Vorarbeiten==
*a2enmod ssl
*a2enmod rewrite
 
 
== Virtuelle Host-Datei erstellen ==
*vi /etc/apache2/sites-available/roundcube.conf  
<pre>
<pre>
<VirtualHost *:80>
<VirtualHost *:80>
     ServerName mail.it2XX.int
     ServerName mail.it2XX.int
     Redirect permanent / https://mail.it2xx.int/
     Redirect permanent / https://mail.it2XX.int/
</VirtualHost>
</VirtualHost>
<VirtualHost *:443>
<VirtualHost *:443>
     ServerName mail.it2XX.int
     ServerName mail.it2XX.int
Zeile 49: Zeile 42:
     ServerAdmin technik@it2XX.int
     ServerAdmin technik@it2XX.int
     DocumentRoot /var/www/roundcube/public_html
     DocumentRoot /var/www/roundcube/public_html
    <Directory /var/www/roundcube/public_html>
    <Directory /var/www/roundcube/public_html>
         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}/mail-error.log
     ErrorLog ${APACHE_LOG_DIR}/mail-error.log
     CustomLog ${APACHE_LOG_DIR}/mail-access.log combined
     CustomLog ${APACHE_LOG_DIR}/mail-access.log combined
</VirtualHost>
</VirtualHost>
</pre>
</pre>


== Konfiguration aktivieren und Apache neu starten ==
*a2ensite roundcube.conf
* a2ensite roundcube.conf
*systemctl restart apache2
* systemctl restart apache2


= Datenbank einrichten =
==Datenbank einrichten==
== MariaDB starten ==
*mysql -u root -p
* mysql -u root -p
<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>


== Datenbank und Benutzer erstellen ==
==Installer aufrufen==
* CREATE DATABASE roundcubemail;
;Installation über den Webinstaller abschließen
* CREATE USER 'roundcube'@'localhost' IDENTIFIED BY '123Start$';
*https://mail.it2XX.int/installer
* GRANT ALL PRIVILEGES ON roundcubemail.* TO 'roundcube'@'localhost';
* FLUSH PRIVILEGES;
* EXIT;


= Berechtigungen setzen =
;Einstellungen im Installer
* chown -R www-data:www-data /var/www/roundcube/
{| class="wikitable"
* chmod -R 750 /var/www/roundcube/
! 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


== Installer aufrufen ==
==SSL-Zertifikat vertrauen==
*https://mail.it213.int/installer
;Roundcube prüft das Zertifikat – da wir eine eigene CA nutzen muss die Prüfung deaktiviert werden
===Einstellungen===
*vi /var/www/roundcube/config/config.inc.php
;Database setup
<syntaxhighlight lang="php">
*Database Server: localhost
$config['imap_ssl_verify_peer'] = false;
*Database name: roundcubemail
$config['imap_ssl_verify_peer_name'] = false;
*Database username: roundcube
$config['smtp_ssl_verify_peer'] = false;
*Database password: 123Start$
$config['smtp_ssl_verify_peer_name'] = false;
;IMAP Settings
</syntaxhighlight>
*imap: ssl://mail.it213.int:993
;smtp_host
*ssl://mail.it213.int:465
;nächste Seite
;Check DB config
*Initialize database
:test


== Konfigurationsdateien absichern ==
==Installation abschließen==
* chmod 640 /var/www/roundcube/config/config.inc.php
;Installer-Verzeichnis entfernen
* chown root:www-data /var/www/roundcube/config/config.inc.php
*rm -rf /var/www/roundcube/installer


== Apache-Sicherheitsheader setzen ==
;Konfigurationsdatei absichern
* nano /etc/apache2/conf-available/security.conf
*chmod 640 /var/www/roundcube/config/config.inc.php
<pre>
*chown root:www-data /var/www/roundcube/config/config.inc.php
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


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


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

Version vom 8. Juni 2026, 20:05 Uhr

Roundcube Webmail

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
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
  • a2ensite roundcube.conf
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>
  • a2ensite roundcube.conf
  • systemctl restart apache2

Datenbank einrichten

  • mysql -u root -p
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

SSL-Zertifikat vertrauen

Roundcube prüft das Zertifikat – da wir eine eigene CA nutzen muss die Prüfung deaktiviert werden
  • vi /var/www/roundcube/config/config.inc.php
$config['imap_ssl_verify_peer'] = false;
$config['imap_ssl_verify_peer_name'] = false;
$config['smtp_ssl_verify_peer'] = false;
$config['smtp_ssl_verify_peer_name'] = false;

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

Test

Roundcube aufrufen und einloggen