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 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 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 oder die entsprechenden Schritte für Ubuntu 22.04. Auch die 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:

sudo apt update
bash

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

sudo apt install apache2
bash

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:

sudo systemctl is-enabled apache2
sudo systemctl status apache2
bash

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 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 öffnen. Installieren Sie zunächst das UFW-Paket mit dem folgenden Befehl:

sudo apt install ufw
bash

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:

sudo ufw allow OpenSSH
sudo ufw enable
bash

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:

sudo ufw allow "WWW Full"
bash

Laden Sie dann UFW neu:

sudo ufw reload
bash

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

sudo ufw status
bash

Managed Nextcloud von IONOS

Für DSGVO-konforme Teamarbeit ganz ohne Administrationsaufwand.

Daten speichern, verwalten und gemeinsam bearbeiten - flexibel um Apps und Online Office erweiterbar. Ideal für KMUs, Agenturen und Selbständige.

DSGVO-konform
SSL-Zertifikat
DE-Rechenzentren

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:

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
bash

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

php --version
php -m
bash

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

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

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:

data.timezone = Europe/Amsterdam
bash

Ändern Sie die Parameter für memory_limit, upload_max_filesize, post-max_size und max_execution_time:

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

Aktiveren Sie nun file_uploads und allow_url_fopen. In beiden Fällen sollte der Wert auf „On“ gesetzt werden:

file_uploads = On
allow_url_fopen = On
bash

Deaktivieren Sie jetzt display_errors und output_buffering und stellen Sie die jeweiligen Werte auf „Off“:

display_errors = Off
output_buffering = Off
bash

Aktivieren Sie PHP OPCache mit diesem Befehl:

zend_extension=opcache
bash

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

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
bash

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

sudo systemctl restart apache2
bash

MariaDB-Server aufsetzen

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

sudo apt install mariadb-server
bash

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

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
bash

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:

sudo mariadb-secure-installation
bash

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:

sudo mariadb -u root -p
bash

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

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

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

SHOW GRANTS FOR nextclouduser@localhost;
bash

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:

sudo apt install curl unzip -y
bash

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

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

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

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

Apache2-Host konfigurieren

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

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

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

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

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

sudo a2ensite nextcloud.conf
sudo apachectl configtest
bash

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

sudo systemctl restart apache2
bash

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:

sudo apt install certbot python3-certbot-apache
bash

Generieren Sie dann ein SSL-Zertifikat. Dafür ersetzen Sie erneut den Platzhalter „beispiel“ durch Ihren tatsächlichen Domainnamen:

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

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.