Roundcube Installation: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
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