Roundcube Installation: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 11: Zeile 11:
 
* *cd /tmp*
 
* *cd /tmp*
 
* '''Die aktuelle Version von Roundcube herunterladen'''
 
* '''Die aktuelle Version von Roundcube herunterladen'''
  * Die aktuelle Version ist unter https://github.com/roundcube/roundcubemail/releases verfügbar
+
** 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*
+
** *wget https://github.com/roundcube/roundcubemail/releases/download/1.6.0/roundcubemail-1.6.0-complete.tar.gz*
 
* '''Archiv entpacken'''
 
* '''Archiv entpacken'''
  * *tar xvf roundcubemail-1.6.0-complete.tar.gz*
+
** *tar xvf roundcubemail-1.6.0-complete.tar.gz*
 
* '''Archiv löschen'''
 
* '''Archiv löschen'''
  * *rm roundcubemail-1.6.0-complete.tar.gz*
+
** *rm roundcubemail-1.6.0-complete.tar.gz*
 
* '''Dateien ins Webserver-Verzeichnis verschieben'''
 
* '''Dateien ins Webserver-Verzeichnis verschieben'''
  * *mv roundcubemail-1.6.0 /var/www/*
+
** *mv roundcubemail-1.6.0 /var/www/*
 
* '''Verzeichnis umbenennen'''
 
* '''Verzeichnis umbenennen'''
  * *mv /var/www/roundcubemail-1.6.0 /var/www/roundcube*
+
** *mv /var/www/roundcubemail-1.6.0 /var/www/roundcube*
  
 
== Apache-Konfiguration erstellen ==
 
== Apache-Konfiguration erstellen ==
 
* '''Virtuelle Host-Datei erstellen'''
 
* '''Virtuelle Host-Datei erstellen'''
  * *nano /etc/apache2/sites-available/roundcube.conf*
+
** *nano /etc/apache2/sites-available/roundcube.conf*
  
 
<pre>
 
<pre>
Zeile 48: Zeile 48:
  
 
* '''Seite aktivieren und Apache neu starten'''
 
* '''Seite aktivieren und Apache neu starten'''
  * *a2ensite roundcube.conf*
+
** *a2ensite roundcube.conf*
  * *systemctl restart apache2*
+
** *systemctl restart apache2*
  
 
== Datenbank einrichten ==
 
== Datenbank einrichten ==
 
* '''MariaDB starten'''
 
* '''MariaDB starten'''
  * *mysql -u root -p*
+
** *mysql -u root -p*
 
* '''Datenbank und Benutzer erstellen'''
 
* '''Datenbank und Benutzer erstellen'''
  * *CREATE DATABASE roundcube;*
+
** *CREATE DATABASE roundcube;*
  * *CREATE USER 'roundcubeuser'@'localhost' IDENTIFIED BY 'sicherespasswort';*
+
** *CREATE USER 'roundcubeuser'@'localhost' IDENTIFIED BY 'sicherespasswort';*
  * *GRANT ALL PRIVILEGES ON roundcube.* TO 'roundcubeuser'@'localhost';*
+
** *GRANT ALL PRIVILEGES ON roundcube.* TO 'roundcubeuser'@'localhost';*
  * *FLUSH PRIVILEGES;*
+
** *FLUSH PRIVILEGES;*
  * *EXIT;*
+
** *EXIT;*
  
 
== Berechtigungen setzen ==
 
== Berechtigungen setzen ==
 
* '''Eigentümer und Berechtigungen anpassen'''
 
* '''Eigentümer und Berechtigungen anpassen'''
  * *chown -R www-data:www-data /var/www/roundcube/*
+
** *chown -R www-data:www-data /var/www/roundcube/*
  * *chmod -R 750 /var/www/roundcube/*
+
** *chmod -R 750 /var/www/roundcube/*
  
 
== Sicherheitsmaßnahmen ==
 
== Sicherheitsmaßnahmen ==
 
* '''SSL-Verschlüsselung aktivieren'''
 
* '''SSL-Verschlüsselung aktivieren'''
  * Let's Encrypt-Zertifikat einrichten:
+
** Let's Encrypt-Zertifikat einrichten:
  * *apt install certbot python3-certbot-apache*
+
** *apt install certbot python3-certbot-apache*
  * *certbot --apache -d webmail.example.com*
+
** *certbot --apache -d webmail.example.com*
 
* '''Das installer-Verzeichnis nach der Installation entfernen'''
 
* '''Das installer-Verzeichnis nach der Installation entfernen'''
  * *rm -rf /var/www/roundcube/installer*
+
** *rm -rf /var/www/roundcube/installer*
 
* '''Konfigurationsdateien absichern'''
 
* '''Konfigurationsdateien absichern'''
  * *chmod 640 /var/www/roundcube/config/config.inc.php*
+
** *chmod 640 /var/www/roundcube/config/config.inc.php*
  * *chown root:www-data /var/www/roundcube/config/config.inc.php*
+
** *chown root:www-data /var/www/roundcube/config/config.inc.php*
 
* '''Apache-Sicherheitsheader setzen'''
 
* '''Apache-Sicherheitsheader setzen'''
  * Datei /etc/apache2/conf-available/security.conf anpassen:
+
** 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 83:
 
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*
  
 
== Installation abschließen ==
 
== Installation abschließen ==
 
* '''Die Roundcube-Installation aufrufen'''
 
* '''Die Roundcube-Installation aufrufen'''
  * *https://webmail.example.com/installer*
+
** *https://webmail.example.com/installer*
  * Nach Abschluss der Installation '''das installer-Verzeichnis löschen''':
+
** Nach Abschluss der Installation '''das installer-Verzeichnis löschen''':
    * *rm -rf /var/www/roundcube/installer*
+
*** *rm -rf /var/www/roundcube/installer*
 
 
Falls es Probleme gibt, kann die offizielle Dokumentation unter https://roundcube.net/help konsultiert werden.
 

Version vom 16. März 2025, 15:19 Uhr

Roundcube Webmail unter Debian 12 installieren

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

Apache-Konfiguration erstellen

  • Virtuelle Host-Datei erstellen
    • *nano /etc/apache2/sites-available/roundcube.conf*
<VirtualHost *:80>
     ServerAdmin webmaster@example.com
     DocumentRoot /var/www/roundcube/
     ServerName webmail.example.com
     ServerAlias webmail.example.com
     <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}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
  • Seite 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 roundcube;*
    • *CREATE USER 'roundcubeuser'@'localhost' IDENTIFIED BY 'sicherespasswort';*
    • *GRANT ALL PRIVILEGES ON roundcube.* TO 'roundcubeuser'@'localhost';*
    • *FLUSH PRIVILEGES;*
    • *EXIT;*

Berechtigungen setzen

  • Eigentümer und Berechtigungen anpassen
    • *chown -R www-data:www-data /var/www/roundcube/*
    • *chmod -R 750 /var/www/roundcube/*

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