Roundcube Installation: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(20 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
= Roundcube Webmail unter Debian 12 installieren =
 +
*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 php-imap mariadb-server mariadb-client
  
 +
 +
 +
== Einführung ==
 +
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.
  
 
== Voraussetzungen ==
 
== Voraussetzungen ==
Zeile 7: Zeile 13:
 
* '''Let's Encrypt''' oder ein anderes SSL-Zertifikat für HTTPS
 
* '''Let's Encrypt''' oder ein anderes SSL-Zertifikat für HTTPS
  
== Dateien herunterladen ==
+
= Dateien herunterladen =
* In das temporäre Verzeichnis wechseln
+
== In das temporäre Verzeichnis wechseln ==
** cd /tmp
+
* cd /tmp
* Die aktuelle Version von Roundcube herunterladen
+
 
** Die aktuelle Version ist unter https://github.com/roundcube/roundcubemail/releases verfügbar
+
== Die aktuelle Version von Roundcube herunterladen ==
** wget https://github.com/roundcube/roundcubemail/releases/download/1.6.0/roundcubemail-1.6.0-complete.tar.gz
+
Die aktuelle Version ist unter https://github.com/roundcube/roundcubemail/releases verfügbar.
* Archiv entpacken
+
* wget https://github.com/roundcube/roundcubemail/releases/download/1.6.10/roundcubemail-1.6.10-complete.tar.gz
** tar xvf roundcubemail-1.6.0-complete.tar.gz
+
 
* Archiv löschen
+
== Archiv entpacken und bereinigen ==
** rm roundcubemail-1.6.0-complete.tar.gz
+
* tar -xzvf roundcubemail-1.6.*-complete.tar.gz
* Dateien ins Webserver-Verzeichnis verschieben
+
* rm roundcubemail-1.6.*-complete.tar.gz
** mv roundcubemail-1.6.0 /var/www/
 
* Verzeichnis umbenennen
 
** mv /var/www/roundcubemail-1.6.0 /var/www/roundcube
 
  
== Apache-Konfiguration erstellen ==
+
== Dateien ins Webserver-Verzeichnis verschieben ==
* Virtuelle Host-Datei erstellen
+
* mv roundcubemail-1.6.* /var/www/roundcube
** nano /etc/apache2/sites-available/roundcube.conf
 
  
 +
= Apache-Konfiguration erstellen =
 +
== Virtuelle Host-Datei erstellen ==
 +
*vi /etc/apache2/sites-available/roundcube.conf
 
<pre>
 
<pre>
 
<VirtualHost *:80>
 
<VirtualHost *:80>
    ServerAdmin webmaster@example.com
+
    ServerName mail.it113.int
    DocumentRoot /var/www/roundcube/
+
    Redirect permanent / https://mail.it113.int/
    ServerName webmail.example.com
+
</VirtualHost>
    ServerAlias webmail.example.com
+
 
 +
<VirtualHost *:443>
 +
    ServerName mail.it113.int
 +
    SSLEngine on
 +
    SSLCertificateFile /etc/apache2/ssl/mail.it113.int.crt
 +
    SSLCertificateKeyFile /etc/apache2/ssl/mail.it113.int.key
 +
    ServerAdmin technik@it113.int
 +
    DocumentRoot /var/www/roundcube/
 
     <Directory /var/www/roundcube/>
 
     <Directory /var/www/roundcube/>
 
         Options +FollowSymlinks
 
         Options +FollowSymlinks
Zeile 42: Zeile 54:
 
         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
+
== Konfiguration aktivieren und Apache neu starten ==
** a2ensite roundcube.conf
+
* a2ensite roundcube.conf
** systemctl restart apache2
+
* systemctl restart apache2
 +
 
 +
= Datenbank einrichten =
 +
== MariaDB starten ==
 +
* mysql -u root -p
 +
 
 +
== Datenbank und Benutzer erstellen ==
 +
* CREATE DATABASE roundcubemail;
 +
* CREATE USER 'roundcube'@'localhost' IDENTIFIED BY '123Start$';
 +
* GRANT ALL PRIVILEGES ON roundcubemail.* TO 'roundcube'@'localhost';
 +
* FLUSH PRIVILEGES;
 +
* EXIT;
 +
 
 +
= Berechtigungen setzen =
 +
* chown -R www-data:www-data /var/www/roundcube/
 +
* chmod -R 750 /var/www/roundcube/
 +
 
  
== Datenbank einrichten ==
+
== Installer aufrufen ==
* MariaDB starten
+
*https://mail.it113.int/installer
** 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 ==
+
== Konfigurationsdateien absichern ==
* Eigentümer und Berechtigungen anpassen
+
* chmod 640 /var/www/roundcube/config/config.inc.php
** chown -R www-data:www-data /var/www/roundcube/
+
* chown root:www-data /var/www/roundcube/config/config.inc.php
** chmod -R 750 /var/www/roundcube/
 
  
== Sicherheitsmaßnahmen ==
+
== Apache-Sicherheitsheader setzen ==
* SSL-Verschlüsselung aktivieren
+
* nano /etc/apache2/conf-available/security.conf
** 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>
 
<pre>
 
Header always set X-Frame-Options DENY
 
Header always set X-Frame-Options DENY
Zeile 83: Zeile 94:
 
Header always set X-Content-Type-Options nosniff
 
Header always set X-Content-Type-Options nosniff
 
</pre>
 
</pre>
** a2enmod headers
+
* a2enmod headers
** systemctl restart apache2
+
* systemctl restart apache2
  
== PHP-Konfiguration für Roundcube ==
+
= Installation abschließen =
<pre>
+
* Die Roundcube-Installation aufrufen: https://webmail.example.com/installer
<?php
+
* Nach Abschluss der Installation das installer-Verzeichnis löschen
// Beispiel für eine PHP-Konfigurationsdatei für Roundcube
+
** rm -rf /var/www/roundcube/installer
$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 ==
 
* Die Roundcube-Installation aufrufen
 
** https://webmail.example.com/installer
 
** 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.
 
Falls es Probleme gibt, kann die offizielle Dokumentation unter https://roundcube.net/help konsultiert werden.

Aktuelle Version vom 11. April 2025, 11:54 Uhr

Roundcube Webmail unter Debian 12 installieren

  • 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 php-imap mariadb-server mariadb-client


Einführung

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.

Voraussetzungen

  • Ein funktionierender Mailserver mit IMAP (z. B. Dovecot) und SMTP (z. B. Postfix)
  • 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 /tmp

Die aktuelle Version von Roundcube herunterladen

Die aktuelle Version ist unter https://github.com/roundcube/roundcubemail/releases verfügbar.

Archiv entpacken und bereinigen

  • tar -xzvf roundcubemail-1.6.*-complete.tar.gz
  • rm roundcubemail-1.6.*-complete.tar.gz

Dateien ins Webserver-Verzeichnis verschieben

  • mv roundcubemail-1.6.* /var/www/roundcube

Apache-Konfiguration erstellen

Virtuelle Host-Datei erstellen

  • vi /etc/apache2/sites-available/roundcube.conf
<VirtualHost *:80>
    ServerName mail.it113.int
    Redirect permanent / https://mail.it113.int/
</VirtualHost>

<VirtualHost *:443>
    ServerName mail.it113.int
    SSLEngine on
    SSLCertificateFile /etc/apache2/ssl/mail.it113.int.crt
    SSLCertificateKeyFile /etc/apache2/ssl/mail.it113.int.key
    ServerAdmin technik@it113.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>

Konfiguration aktivieren und Apache neu starten

  • a2ensite roundcube.conf
  • systemctl restart apache2

Datenbank einrichten

MariaDB starten

  • mysql -u root -p

Datenbank und Benutzer erstellen

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

Berechtigungen setzen

  • chown -R www-data:www-data /var/www/roundcube/
  • chmod -R 750 /var/www/roundcube/


Installer aufrufen

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

  • nano /etc/apache2/conf-available/security.conf
Header always set X-Frame-Options DENY
Header always set X-XSS-Protection "1; mode=block"
Header always set X-Content-Type-Options nosniff
  • a2enmod headers
  • systemctl restart apache2

Installation abschließen

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