Die In­stal­la­ti­on von Nextcloud unter Debian ist grund­sätz­lich in wenigen Schritten möglich. Dabei wird nicht nur die ei­gent­li­che Cloud-Lösung auf­ge­setzt, sondern diese auch durch ver­schie­de­ne Si­cher­heits­me­cha­nis­men geschützt.

Nextcloud für Debian

Nextcloud ist eine emp­feh­lens­wer­te und vor allem freie Cloud-Computing-Lösung, die Ihnen für private und kom­mer­zi­el­le Zwecke glei­cher­ma­ßen viele Mög­lich­kei­ten bietet. Zu den vielen Vorteilen der Software gehören die starken Si­cher­heits­fea­tures für Da­ten­schutz, wie SSL/TLS-Ver­schlüs­se­lung, Zwei-Faktor-Au­then­ti­fi­zie­rung und DSGVO-Kon­for­mi­tät, sowie die Wahl zwischen lokalen privaten Servern oder aus­ge­la­ger­ten Host-Servern. Wie viele Al­ter­na­ti­ven zu Nextcloud un­ter­stützt die Fork von OwnCloud alle gängigen Be­triebs­sys­te­me und bietet eine einfache In­te­gra­ti­on zahl­rei­cher Dienste.

Im Folgenden erklären wir Ihnen Schritt für Schritt, wie Sie Nextcloud unter Debian 12 ein­rich­ten. Dafür in­stal­lie­ren Sie einen Apache2-Webserver, einen MariaDB-Server und PHP 8.2. Zur Ab­si­che­rung zeigen wir Ihnen, wie Sie eine Un­com­pli­ca­ted Firewall (UFW) und die not­wen­di­gen SSL/TLS-Zer­ti­fi­ka­te ein­stel­len.

Tipp

Möchten Sie Nextcloud unter Ubuntu in­stal­lie­ren, finden Sie in unserem Digital Guide die passenden An­lei­tun­gen für die Nextcloud-Ein­rich­tung unter Ubuntu 20.04 oder die ent­spre­chen­den Schritte für Ubuntu 22.04. Auch die Nextcloud-In­stal­la­ti­on mit Docker stellen wir Ihnen hier vor.

Welche Vor­aus­set­zun­gen müssen erfüllt sein?

Für die In­stal­la­ti­on von Nextcloud unter Debian 12 müssen nur wenige Vor­aus­set­zun­gen erfüllt sein. Sie benötigen einen Server, auf dem Debian 12 bereits in­stal­liert ist. Dazu sind min­des­tens 4 Gigabyte RAM und zwei CPUs notwendig. Außerdem ist es wichtig, dass Sie über einen Non-Root-User-Zugang mit Ad­mi­nis­tra­tor­rech­ten verfügen und einen Do­main­na­men ein­rich­ten, der auf die IP-Adresse des Servers verweisen kann.

Apache2-Webserver in­stal­lie­ren

Zuerst in­stal­lie­ren Sie einen Apache2-Webserver. Dafür ak­tua­li­sie­ren Sie den Debian-Pa­ke­t­in­dex, um die neueste Version her­un­ter­la­den zu können. Nutzen Sie hierfür den Befehl apt update:

sudo apt update
bash

Im Anschluss führen Sie die In­stal­la­ti­on des neuesten Pakets von Apache2 mit dem folgenden Befehl aus:

sudo apt install apache2
bash

Be­stä­ti­gen Sie die In­stal­la­ti­on mit der Taste [y] und drücken Sie im Anschluss [Enter], um die In­stal­la­ti­on ein­zu­lei­ten.

Über­prü­fen Sie nach der In­stal­la­ti­on 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 au­to­ma­tisch gestartet wird, wenn Sie das System hoch­fah­ren. Der Status „active“ zeigt Ihnen an, dass Apache2 ein­satz­be­reit ist.

Firewall ein­rich­ten

Mit der passenden Firewall schützen Sie Ihr System und Ihre Daten. Emp­feh­lens­wert ist die Un­com­pli­ca­ted Firewall (UFW), die Sie als Standard ein­rich­ten können. Dazu sollten Sie Ports für OpenSSH, HTTP sowie HTTPS öffnen. In­stal­lie­ren Sie zunächst das UFW-Paket mit dem folgenden Befehl:

sudo apt install ufw
bash

Be­stä­ti­gen Sie wieder mit [y] und schließen Sie die In­stal­la­ti­on mit [Enter] ab. Im Anschluss ak­ti­vie­ren Sie OpenSSH und UFW mit diesen Commands:

sudo ufw allow OpenSSH
sudo ufw enable
bash

Um UFW zu starten, be­stä­ti­gen 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 ak­ti­vier­ten Regeln ein­zu­se­hen, rufen Sie den Status von UFW ab. Hier sollte WWW Full aktiviert sein.

sudo ufw status
bash
Managed Nextcloud by IONOS Cloud
Team­ar­beit in der eigenen Cloud
  • Voll­stän­di­ge Da­ten­sou­ve­rä­ni­tät in deutschen Re­chen­zen­tren
  • Managed Service ohne Ad­mi­nis­tra­ti­ons­auf­wand
  • File-Sharing, Do­ku­men­ten­be­ar­bei­tung & Kom­mu­ni­ka­ti­on

PHP 8.2 ak­ti­vie­ren

Für die best­mög­li­che Per­for­mance und maximale Kom­pa­ti­bi­li­tät empfiehlt Nextcloud selbst PHP 8.2. Dies ist stan­dard­mä­ßig in Debian 12 enthalten, sodass Sie die not­wen­di­gen Pakete nur noch in­stal­lie­ren müssen. Dies ist der ent­spre­chen­de 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

Be­stä­ti­gen Sie mit [y] und [Enter]. An­schlie­ßend über­prü­fen Sie die PHP-Version und ak­ti­vie­ren die Er­wei­te­run­gen:

php --version
php -m
bash

Öffnen Sie nun mit dem Nano-Editor die Kon­fi­gu­ra­ti­ons­da­tei von PHP:

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

Jetzt nehmen Sie einige Än­de­run­gen vor und passen die Kon­fi­gu­ra­ti­on an Ihre Er­for­der­nis­se an. Je nachdem, wie Sie Nextcloud mit Debian 12 nutzen möchten, können andere Werte emp­feh­lens­wert sein. In diesem Fall verändern Sie die Ein­stel­lun­gen nach Ihren Vor­stel­lun­gen. Die je­wei­li­gen 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

De­ak­ti­vie­ren Sie jetzt display_errors und output_buffering und stellen Sie die je­wei­li­gen Werte auf „Off“:

display_errors = Off
output_buffering = Off
bash

Ak­ti­vie­ren Sie PHP OPCache mit diesem Befehl:

zend_extension=opcache
bash

Fügen Sie die Kon­fi­gu­ra­ti­on 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 ab­schlie­ß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 in­stal­lie­ren und über­prü­fen ihn mit diesen Befehlen:

sudo apt install mariadb-server
bash

Be­stä­ti­gen Sie mit [y] und [Enter]. Nach der er­folg­rei­chen In­stal­la­ti­on geben Sie dies ein:

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
bash

Läuft der Server ord­nungs­ge­mäß, 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 Ein­stel­lun­gen 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 da­zu­ge­hö­ren Nutzer. Um sich auf dem MariaDB-Server an­zu­mel­den, 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 da­zu­ge­hö­ri­ge 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. Ab­schlie­ßend über­prü­fen Sie, ob „next­clou­du­ser“ Zugriff auf die Datenbank „nextcloud_db“ hat:

SHOW GRANTS FOR nextclouduser@localhost;
bash

Aktuelle Quell­codes down­loa­den

Down­loa­den Sie jetzt die aktuellen Quell­codes, 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 Ver­zeich­nis /var/www und down­loa­den 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 Ei­gen­tü­mer des Ver­zeich­nis­ses unter www-data:

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

Apache2-Host kon­fi­gu­rie­ren

Jetzt kon­fi­gu­rie­ren Sie einen vir­tu­el­len Apache2-Host. Dafür verwenden Sie diesen Nano-Befehl:

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

Passen Sie den Do­main­na­men und die beiden Parameter ErrorLog und CustomLog an. Dabei ersetzen Sie den Platz­hal­ter „beispiel“ mit Ihrem Do­main­na­men.

<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 Än­de­run­gen und beenden Sie den Editor. Ak­ti­vie­ren Sie danach die Kon­fi­gu­ra­ti­on mit dem folgenden Befehl und über­prü­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 Kon­fi­gu­ra­ti­on des Hosts darauf an:

sudo systemctl restart apache2
bash

Ab­si­che­rung mit SSL/TLS

Ohne weitere Ein­stel­lun­gen nutzen Sie Nextcloud auf Debian 12 nun über ein un­ge­si­cher­tes 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

Ge­ne­rie­ren Sie dann ein SSL-Zer­ti­fi­kat. Dafür ersetzen Sie erneut den Platz­hal­ter „beispiel“ durch Ihren tat­säch­li­chen Do­main­na­men:

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

Abschluss der In­stal­la­ti­on von Nextcloud unter Debian 12

Nun schließen Sie die In­stal­la­ti­on von Nextcloud auf Debian 12 ab. Dafür öffnen Sie Ihren Web­brow­ser und rufen den Do­main­na­men Ihrer Nextcloud-In­stal­la­ti­on auf. Geben Sie einen Be­nut­zer­na­men und Ihr Passwort ein, um einen Ad­mi­nis­tra­tor zu erstellen. Fügen Sie dann den Namen Ihrer Datenbank, den Nut­zer­na­men und das Passwort ein und klicken Sie auf „Install“. Im Anschluss können Sie wahlweise einige kom­pa­ti­ble Apps down­loa­den oder diesen Punkt vorerst über­sprin­gen. Nun werden Sie zu Ihrem Dashboard wei­ter­ge­lei­tet und können Nextcloud für Ihre Daten verwenden.

Zum Hauptmenü