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.
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
bashIm Anschluss führen Sie die Installation des neuesten Pakets von Apache2 mit dem folgenden Befehl aus:
sudo apt install apache2
bashBestä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
bashUnter 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
bashBestä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
bashUm 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"
bashLaden Sie dann UFW neu:
sudo ufw reload
bashUm die aktivierten Regeln einzusehen, rufen Sie den Status von UFW ab. Hier sollte WWW Full aktiviert sein.
sudo ufw status
bash- Vollständige Datensouveränität in deutschen Rechenzentren
- Managed Service ohne Administrationsaufwand
- File-Sharing, Dokumentenbearbeitung & Kommunikation
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
bashBestä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
bashJetzt 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
bashAktiveren 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
bashDeaktivieren Sie jetzt display_errors und output_buffering und stellen Sie die jeweiligen Werte auf „Off“:
display_errors = Off
output_buffering = Off
bashAktivieren Sie PHP OPCache mit diesem Befehl:
zend_extension=opcache
bashFü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
bashSpeichern Sie die Datei abschließend und beenden Sie den Nano-Editor. Starten Sie jetzt den Apache2-Dienst neu:
sudo systemctl restart apache2
bashMariaDB-Server aufsetzen
Als Datenbank verwendet Nextcloud einen MariaDB-Server. Sie installieren und überprüfen ihn mit diesen Befehlen:
sudo apt install mariadb-server
bashBestätigen Sie mit [y] und [Enter]. Nach der erfolgreichen Installation geben Sie dies ein:
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
bashLä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
bashDie 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
bashNutzen 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;
bashErsetzen 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;
bashAktuelle 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
bashWechseln 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
bashEntpacken 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
bashApache2-Host konfigurieren
Jetzt konfigurieren Sie einen virtuellen Apache2-Host. Dafür verwenden Sie diesen Nano-Befehl:
sudo nano /etc/apache2/sites-available/nextcloud.conf
bashPassen 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>
bashSpeichern 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
bashWenn Sie die Ausgabe „Syntax OK“ erhalten, starten Sie Apache2 neu und wenden die Konfiguration des Hosts darauf an:
sudo systemctl restart apache2
bashAbsicherung 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
bashGenerieren 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
bashAbschluss 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.