# Nextcloud unter Debian 12 installieren

Die Installation von Nextcloud unter Debian ist grundsätzlich in wenigen Schritten möglich. Dabei wird nicht nur die eigentliche Cloud-Lösung aufgesetzt, sondern diese auch durch verschiedene Sicherheitsmechanismen geschützt.

## Nextcloud für Debian

[Nextcloud](https://www.ionos.at/digitalguide/server/tools/was-ist-nextcloud/) ist eine empfehlenswerte und vor allem **freie Cloud-Computing-Lösung**, die Ihnen für private und kommerzielle Zwecke gleichermaßen viele Möglichkeiten bietet. Zu den vielen Vorteilen der Software gehören die starken Sicherheitsfeatures für Datenschutz, wie SSL/TLS-Verschlüsselung, Zwei-Faktor-Authentifizierung und DSGVO-Konformität, sowie die Wahl zwischen lokalen privaten Servern oder ausgelagerten Host-Servern. Wie viele [Alternativen zu Nextcloud](https://www.ionos.at/digitalguide/server/tools/nextcloud-alternativen/) unterstützt die Fork von OwnCloud alle gängigen Betriebssysteme und bietet eine einfache Integration zahlreicher Dienste.

Im Folgenden erklären wir Ihnen Schritt für Schritt, wie Sie Nextcloud unter Debian 12 einrichten. Dafür installieren Sie einen **Apache2-Webserver**, einen **MariaDB-Server** und **PHP 8.2**. Zur Absicherung zeigen wir Ihnen, wie Sie eine **Uncomplicated Firewall (UFW)** und die notwendigen **SSL/TLS-Zertifikate** einstellen.

Tipp Möchten Sie Nextcloud unter Ubuntu installieren, finden Sie in unserem Digital Guide die passenden Anleitungen für die [Nextcloud-Einrichtung unter Ubuntu 20.04](https://www.ionos.at/digitalguide/server/konfiguration/nextcloud-unter-ubuntu-2004-installieren/) oder die entsprechenden [Schritte für Ubuntu 22.04](https://www.ionos.at/digitalguide/server/konfiguration/nextcloud-ubuntu-2204/). Auch die [Nextcloud-Installation mit Docker](https://www.ionos.at/digitalguide/server/konfiguration/nextcloud-installation-mit-docker/) stellen wir Ihnen hier vor.

## Welche Voraussetzungen müssen erfüllt sein?

Für die Installation von Nextcloud unter Debian 12 müssen nur wenige Voraussetzungen erfüllt sein. Sie benötigen einen Server, auf dem Debian 12 bereits installiert ist. Dazu sind mindestens **4 Gigabyte RAM** und **zwei CPUs** notwendig. Außerdem ist es wichtig, dass Sie über einen **Non-Root-User-Zugang mit Administratorrechten** verfügen und einen Domainnamen einrichten, der auf die IP-Adresse des Servers verweisen kann.

## Apache2-Webserver installieren

Zuerst installieren Sie einen Apache2-Webserver. Dafür aktualisieren Sie den Debian-Paketindex, um die neueste Version herunterladen zu können. Nutzen Sie hierfür den Befehl apt update:

```bash
sudo apt update
```

Im Anschluss führen Sie die Installation des neuesten Pakets von Apache2 mit dem folgenden Befehl aus:

```bash
sudo apt install apache2
```

Bestätigen Sie die Installation mit der Taste \[y\] und drücken Sie im Anschluss \[Enter\], um die Installation einzuleiten.

Überprüfen Sie nach der Installation den Status des Dienstes mit den folgenden systemctl-Commands:

```bash
sudo systemctl is-enabled apache2
sudo systemctl status apache2
```

Unter dem ersten Befehl sollte Ihnen angezeigt werden, dass der Dienst automatisch gestartet wird, wenn Sie das System hochfahren. Der Status „active“ zeigt Ihnen an, dass Apache2 einsatzbereit ist.

## Firewall einrichten

Mit der passenden [Firewall](https://www.ionos.at/digitalguide/server/sicherheit/was-ist-eine-firewall/) schützen Sie Ihr System und Ihre Daten. Empfehlenswert ist die Uncomplicated Firewall (UFW), die Sie als Standard einrichten können. Dazu sollten Sie Ports für OpenSSH, HTTP sowie [HTTPS](https://www.ionos.at/digitalguide/hosting/hosting-technik/was-ist-https/) öffnen. Installieren Sie zunächst das UFW-Paket mit dem folgenden Befehl:

```bash
sudo apt install ufw
```

Bestätigen Sie wieder mit \[y\] und schließen Sie die Installation mit \[Enter\] ab. Im Anschluss aktivieren Sie OpenSSH und UFW mit diesen Commands:

```bash
sudo ufw allow OpenSSH
sudo ufw enable
```

Um UFW zu starten, bestätigen Sie mit \[y\]. Nun erscheint die Ausgabe „Firewall is active and enabled on system startup“. Danach fügen sie den HTTP- und den HTTPS-Port hinzu, die vom Webserver genutzt werden sollen. Dafür führen Sie diesen Befehl aus:

```bash
sudo ufw allow "WWW Full"
```

Laden Sie dann UFW neu:

```bash
sudo ufw reload
```

Um die aktivierten Regeln einzusehen, rufen Sie den Status von UFW ab. Hier sollte WWW Full aktiviert sein.

```bash
sudo ufw status
```

## PHP 8.2 aktivieren

Für die bestmögliche Performance und maximale Kompatibilität empfiehlt Nextcloud selbst PHP 8.2. Dies ist standardmäßig in Debian 12 enthalten, sodass Sie die notwendigen Pakete nur noch installieren müssen. Dies ist der entsprechende Befehl:

```bash
sudo apt install -y php php-curl php-cli php-mysql php-gd php-common php-xml php-json php-intl php-pear php-imagick php-dev php-common php-mbstring php-zip php-soap php-bz2 php-bcmath php-gmp php-apcu libmagickcore-dev
```

Bestätigen Sie mit \[y\] und \[Enter\]. Anschließend überprüfen Sie die PHP-Version und aktivieren die Erweiterungen:

```bash
php --version
php -m
```

Öffnen Sie nun mit dem Nano-Editor die Konfigurationsdatei von PHP:

```bash
sudo nano /etc/php/8.2/apache2/php.ini
```

Jetzt nehmen Sie einige Änderungen vor und passen die Konfiguration an Ihre Erfordernisse an. Je nachdem, wie Sie Nextcloud mit Debian 12 nutzen möchten, können andere Werte empfehlenswert sein. In diesem Fall verändern Sie die Einstellungen nach Ihren Vorstellungen. Die jeweiligen Befehle sehen aus wie folgt.

Stellen Sie im ersten Schritt die Zeitzone ein:

```bash
data.timezone = Europe/Amsterdam
```

Ändern Sie die Parameter für memory\_limit, upload\_max\_filesize, post-max\_size und max\_execution\_time:

```bash
memory_limit = 512M
upload_max_filesize = 500M
post_max_size = 600M
max_execution_time = 300
```

Aktiveren Sie nun file\_uploads und allow\_url\_fopen. In beiden Fällen sollte der Wert auf „On“ gesetzt werden:

```bash
file_uploads = On
allow_url_fopen = On
```

Deaktivieren Sie jetzt display\_errors und output\_buffering und stellen Sie die jeweiligen Werte auf „Off“:

```bash
display_errors = Off
output_buffering = Off
```

Aktivieren Sie PHP OPCache mit diesem Befehl:

```bash
zend_extension=opcache
```

Fügen Sie die Konfiguration im Abschnitt opcache ein, die von Nextcloud für Debian 12 empfohlen wird. Diese sieht so aus:

```bash
opcache.enable = 1
opcache.interned_strings_buffer = 8
opcache.max_accelerated_files = 10000
opcache.memory_consumption = 128
opcache.save_comments = 1
opcache.revalidate_freq = 1
```

Speichern Sie die Datei abschließend und beenden Sie den Nano-Editor. Starten Sie jetzt den Apache2-Dienst neu:

```bash
sudo systemctl restart apache2
```

## MariaDB-Server aufsetzen

Als Datenbank verwendet Nextcloud einen MariaDB-Server. Sie installieren und überprüfen ihn mit diesen Befehlen:

```bash
sudo apt install mariadb-server
```

Bestätigen Sie mit \[y\] und \[Enter\]. Nach der erfolgreichen Installation geben Sie dies ein:

```bash
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
```

Läuft der Server ordnungsgemäß, sichern Sie das System ab. Nutzen Sie den folgenden Befehl, um ein Root-Passwort zu erstellen, anonyme Nutzer zu entfernen und die Test-Datenbank zu löschen:

```bash
sudo mariadb-secure-installation
```

Die Einstellungen nehmen Sie vor, indem Sie \[y\] zum Zustimmen und \[n\] zum Ablehnen drücken.

## Datenbank und Nutzer erstellen

Im Anschluss erstellen Sie eine neue Datenbank und den dazugehören Nutzer. Um sich auf dem MariaDB-Server anzumelden, verwenden Sie diesen Command und geben Ihr Root-Passwort ein:

```bash
sudo mariadb -u root -p
```

Nutzen Sie die folgenden Befehle, um eine neue Datenbank, einen User und das dazugehörige Passwort zu erstellen:

```bash
CREATE DATABASE nextcloud_db;
CREATE USER nextclouduser@localhost IDENTIFIED BY 'IhrPasswort';
GRANT ALL PRIVILEGES ON nextcloud_db.* TO nextclouduser@localhost;
FLUSH PRIVILEGES;
```

Ersetzen Sie dabei `'IhrPasswort'` durch ein eigenes, starkes Passwort. Abschließend überprüfen Sie, ob „nextclouduser“ Zugriff auf die Datenbank „nextcloud\_db“ hat:

```bash
SHOW GRANTS FOR nextclouduser@localhost;
```

## Aktuelle Quellcodes downloaden

Downloaden Sie jetzt die aktuellen Quellcodes, um Nextcloud unter Debian 12 optimal nutzen zu können. Wählen Sie zunächst diesen Befehl:

```bash
sudo apt install curl unzip -y
```

Wechseln Sie dann in das Verzeichnis /var/www und downloaden Sie den neuesten Quellcode:

```bash
cd /var/www/
curl -o nextcloud.zip https://download.nextcloud.com/server/releases/latest.zip
```

Entpacken Sie die Datei und ändern Sie dann die Eigentümer des Verzeichnisses unter www-data:

```bash
unzip nextcloud.zip
sudo chown -R www-data:www-data nextcloud
```

## Apache2-Host konfigurieren

Jetzt konfigurieren Sie einen virtuellen Apache2-Host. Dafür verwenden Sie diesen Nano-Befehl:

```bash
sudo nano /etc/apache2/sites-available/nextcloud.conf
```

Passen Sie den Domainnamen und die beiden Parameter ErrorLog und CustomLog an. Dabei ersetzen Sie den Platzhalter „beispiel“ mit Ihrem Domainnamen.

```bash
<VirtualHost *:80>
    ServerName nextcloud.beispiel.io
    DocumentRoot /var/www/nextcloud/
    # log files
    ErrorLog /var/log/apache2/files.beispiel.io-error.log
    CustomLog /var/log/apache2/files.beispiel.io-access.log combined
    <Directory /var/www/nextcloud/>
        Options +FollowSymlinks
        AllowOverride All
        <IfModule mod_dav.c>
            Dav off
        </IfModule>
        SetEnv HOME /var/www/nextcloud
        SetEnv HTTP_HOME /var/www/nextcloud
    </Directory>
</VirtualHost>
```

Speichern Sie die Änderungen und beenden Sie den Editor. Aktivieren Sie danach die Konfiguration mit dem folgenden Befehl und überprüfen Sie sie:

```bash
sudo a2ensite nextcloud.conf
sudo apachectl configtest
```

Wenn Sie die Ausgabe „Syntax OK“ erhalten, starten Sie Apache2 neu und wenden die Konfiguration des Hosts darauf an:

```bash
sudo systemctl restart apache2
```

## Absicherung mit SSL/TLS

Ohne weitere Einstellungen nutzen Sie Nextcloud auf Debian 12 nun über ein ungesichertes HTTP-Protokoll. Zum Schutz Ihrer Daten richten Sie daher am besten HTTPS ein. Wählen Sie dafür diesen Befehl:

```bash
sudo apt install certbot python3-certbot-apache
```

Generieren Sie dann ein [SSL-Zertifikat](https://www.ionos.at/digitalguide/websites/webseiten-erstellen/ssl-zertifikat/). Dafür ersetzen Sie erneut den Platzhalter „beispiel“ durch Ihren tatsächlichen Domainnamen:

```bash
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email user@beispiel.io -d nextcloud.beispiel.io
```

## Abschluss der Installation von Nextcloud unter Debian 12

Nun schließen Sie die Installation von Nextcloud auf Debian 12 ab. Dafür öffnen Sie Ihren Webbrowser und rufen den Domainnamen Ihrer Nextcloud-Installation auf. Geben Sie einen **Benutzernamen und Ihr Passwort** ein, um einen Administrator zu erstellen. Fügen Sie dann den Namen Ihrer Datenbank, den Nutzernamen und das Passwort ein und klicken Sie auf „Install“. Im Anschluss können Sie wahlweise einige kompatible Apps downloaden oder diesen Punkt vorerst überspringen. Nun werden Sie zu Ihrem Dashboard weitergeleitet und können Nextcloud für Ihre Daten verwenden.


This is a markdown version of: [https://www.ionos.at/digitalguide/server/konfiguration/nextcloud-debian-12/](https://www.ionos.at/digitalguide/server/konfiguration/nextcloud-debian-12/) for AI/LLM consumption.