Nextcloud Installation für Linux Ubuntu 22.04 (Komplettanleitung)

Nextcloud Installation: Eine Anleitung für Server mit Linux Ubuntu 22.04

Eine Komplettanleitung für die Installation einer eigenen Cloud mit Nextcloud (aktuellste Version). In diesem Beitrag installieren wir die neue Version von Nextcloud unter Linux Ubuntu 22.04. Zuerst müssen wir alle für die Installation und den Betrieb notwendigen Abhängigkeiten (PHP, Datenbank und einen Webserver) auf dem Hostsystem installieren und anschließend konfigurieren wir einen Zugriff über das Internet mit einem kostenlosen SSL-Zertifikat.

Das Tutorial wurde noch vor der Veröffentlichung unter unterschiedlichen Bedingungen ausführlich getestet. Es handelt sich bei dieser Installationsanleitung, um einen sehr sauberen Schritt-für-Schritt Aufbau für die meiner Ansicht nach beste Cloud-Lösung für Privatpersonen und kleinere Unternehmen.

Um Nextcloud für Linux Ubuntu 22.04 auf deinem System zu installieren, gibt es einige Schritte, die befolgt werden müssen. Damit dir die Nextcloud-Installation gelingt, benötigst du eine Verbindung zum Internet und eine Möglichkeit, die für den Zugriff über das Internet notwendigen Ports im Router freizuschalten. Die Installation funktioniert selbstverständlich auch auf eine virtuelle Maschine oder als Container z.B. unter einem Hypervisor mit Proxmox-VE oder Hyper-V.

Möchtest du die Nextcloud auf einem VPS oder Dedicated Server mit Linux Ubuntu installieren? 

Dann ist die Implementierung ebenso problemlos möglich. Für zuverlässige VPS- und Cloud-Server-Lösungen mit Hosting in Deutschland kann ich dir meinen Partner und die günstigen Angebote von Keyweb ans Herz legen: Zum Hosting-Anbieter meiner Wahl!*

Inhaltsverzeichnis: Nextcloud Installation und Konfiguration auf Linux Ubuntu 22.04 mit SSL-Zertifikat

Voraussetzungen an die Hardware für die Installation und den Betrieb einer eigenen Nextcloud

Nach der erfolgreichen Installation von Nextcloud erhalten wir die Möglichkeit, viele Plugins und Applikationen über die Weboberfläche nachzuinstallieren. Je nach Skalierung und der aktiv verwendeten Erweiterungen kann schon ziemlich viel Speicher und CPU-Leistung für den Betrieb notwendig werden. 

Deshalb empfehle ich die folgenden Mindestanforderungen an die Hardware:

  • 4 GB Arbeitsspeicher
  • 2,0 GHz Prozessorleistung
  • 100 GB Festplattenspeicher (individuell und abhängig von der Menge an Daten, die später und im Verlauf der Nutzung abgespeichert werden sollen)

Vorbereitungen für die Installation von Nextcloud auf Linux mit Ubuntu 22.04

Linux Ubuntu 22.04 Vorbereitungen für die Nextcloud-Installation

Bevor wir mit der Installation von Nextcloud beginnen können, solltest du einen Server mit Linux Ubuntu 22.04 aufgesetzt und einsatzbereit haben. Aktiviere den SSH-Zugang mit Root-Berechtigungen, damit die Installation über eine SSH-Sitzung ohne Einschränkungen durchgeführt werden kann. Wie das funktioniert, erfährst du in dieser Anleitung: [SSH unter Ubuntu/Debian aktivieren]

Deaktiviere nach der erfolgreichen Installation von Nextcloud den SSH-Zugriff für den Root-Benutzer wieder, da es ein großes Sicherheitsrisiko mit sich bringen würde, einen Server, der über das Internet erreichbar ist, den permanenten Zugriff über die Secure Shell mit Root-Berechtigungen zu gestatten.

Verwende einen beliebigen SSH-Client, um jetzt eine Sitzung mit deinem Server herzustellen. Im nächsten Abschnitt beginnen wir mit dem ersten Schritt der Nextcloud-Installation.

Nextcloud auf Linux Ubuntu 22.04 installieren: Das Hostsystem aktualisieren und ein LAMP-Stack implementieren (Schritt 1.)

Bei der kostenlosen Cloudlösung „Nextcloud“ handelt es sich um eine Webanwendung, mit der wir Dateien in einer Cloud verwalten und bereitstellen können. Aus technischer Sicht basiert Nextcloud auf PHP-Code und benötigt für den Betrieb eine relationale Datenbank, wie beispielsweise MariaDB oder PostgreSQL. Damit die Webanwendung über den Browser ausgegeben werden kann, müssen wir PHP und einige zusätzliche Module, sowie einen Webserver installieren. Das kann zum Beispiel Apache oder Nginx übernehmen.

Diese Software-Konsultation wird unter Systemadministratoren als LAMP-Stack bezeichnet. Dieser muss vollständig auf dem Linux-Hostsystem implementiert werden, noch bevor wir die Nextcloud herunterladen und implementieren können. Bevor du mit der Installation beginnst, sollte das System und die Paketquellen auf mögliche Aktualisierungen überprüft werden.

System-Aktualisieren: Bringe die Paketquellen mit dem folgenden Befehl auf den neusten Stand:

sudo apt update && apt upgrade -y

Hinweis: Berücksichtige, dass die Installation unter Linux Ubuntu 22.04 den sudo-Prompt benötigt, um mit Berechtigungen ausgeführt werden zu können: sudo <Befehl>. Auf Debian basierten Hostsysteme können die Befehle direkt ausgeführt werden. Möchtest du für die Zeit der Installation auf den sudo-Prompt verzichten, kannst du den folgenden Befehl ausführen.

Möchtest du für die Nextcloud-Installation unter Linux Ubuntu auf den sudo-Prompt verzichten, kannst du den folgenden Befehl ausführen:

sudo su root

Zunächst installieren wir den Webserver Apache, PHP und die für Nextcloud erforderlichen Module gemeinsam mit der MariaDB auf deinem Ubuntu-Hostsystem. Führe die Befehle der angegebenen Reihenfolge nach auf deinem Terminal aus.

Apache Webserver installieren:

apt install apache2

PHP 8.1 installieren:

apt install software-properties-common

add-apt-repository ppa:ondrej/php

apt update -y

Datenbank (MariaDB) und weitere PHP-Module installieren:

apt install php8.1 libapache2-mod-php8.1 php8.1-zip php-dompdf php8.1-xml php8.1-mbstring php8.1-gd php8.1-curl php8.1-imagick libmagickcore-6.q16-6-extra php8.1-intl php8.1-bcmath php8.1-gmp php8.1-cli php8.1-mysql php8.1-zip php8.1-gd php8.1-mbstring php8.1-curl php-pear php8.1-apcu redis-server php8.1-redis php8.1-xml mariadb-server

Die notwendigen Ports in der Ubuntu Firewall (UFW) öffnen und Anpassungen an der PHP-Konfigurationsdatei vornehmen (Schritt 2.)

Sobald der Vorgang abgeschlossen ist und die Basis des LAMP-Stacks unter Ubuntu 22.04 steht, müssen die Web-Ports in der Ubuntu Firewall (UFW) geöffnet werden, da die Weboberfläche von Nextcloud ansonsten nicht über den Browser aufgerufen werden kann. Wir erlauben die üblichen Ports 80 und 443.

Ubuntu Firewall Ports für den Webserver öffnen:

ufw allow 80

ufw allow 443

Ein Neustart der Firewall ist nicht notwendig. Nachdem die benötigten Ports erfolgreich konfiguriert wurden, verwenden wir den Nano-Editor, um ein paar Anpassungen an der PHP-Konfiguration (php.ini) vorzunehmen. Das ist wichtig, damit die Nextcloud nach der Installation über genügend Leistung verfügt. Standardgemäß sind einige Werte für eine Webanwendung etwas zu knapp bemessen. Also helfen wir in diesem Schritt nach und ändern ein paar Einträge für unsere Cloud.

Öffne die PHP-ini Datei mit dem Nano-Editor:

nano /etc/php/8.1/apache2/php.ini

Suche die folgenden Zeilen und ändere die Werte wie angegeben. Verwende die Suchfunktion (STRG + W) oder navigiere mit den Pfeiltasten, um in die entsprechenden Zeilen zu gelangen.

date.timezone = Europe/Berlin

memory_limit = 1024M

upload_max_filesize = 25G

post_max_size = 25G

max_execution_time = 300

Optional können für eine noch bessere Performance die folgenden Zeilen konfiguriert werden:

opcache.enable=1

opcache.memory_consumption=128

opcache.interned_strings_buffer=8

opcache.max_accelerated_files=10000

opcache.revalidate_freq=1

opcache.save_comments=1

Sobald die Werte erfolgreich von dir angepasst worden sind, kannst du die Änderungen speichern (STRG + S) und die Datei wieder verlassen (STRG + X).

MariaDB: Einen Datenbank-Benutzer anlegen und eine Datenbank für Nextcloud erstellen (Schritt 3.)

In diesem Abschnitt beginnen wir mit der Installation und Konfiguration der Datenbank für unsere Nextcloud. Wir verwenden in diesem Tutorial die beliebte MariaDB. Dank eines Skripts für die Installation ist das heut zutage keine große Sache mehr. Der nächste Befehl startet den Installationsprozess.

Installations-Skript für die Konfiguration der MariaDB ausführen:

mysql_secure_installation

Direkt nachdem der Befehl ausgeführt wurde, muss ein Root-Passwort für die Datenbank vergeben werden. Entscheide dich nun für ein sicheres Passwort und fahre mit der Konfiguration fort. Der Installationsassistent möchte abschließend einige Fragen von uns beantwortet bekommen.

Wir entfernen den Default-Benutzer, die vordefinierten Test-Datenbanken und verbieten den Remote-Zugang von außerhalb auf die Datenbank. Das ist sicherheitsrelevant, da der Server später über das Internet erreichbar sein wird. Für den professionellen Einsatz empfehle ich sogar, die Datenbank auf einen anderen Server zu installieren, der selbst keine Möglichkeit hat, mit dem Internet zu kommunizieren (Thema Hacking und Systemhärtung).

Beantworte die Konfigurationsfragen, wie angegeben:

Remove anonymous users [Y/n]

Disallow root login remotely [Y/n]

Remove test database and access to it [Y/n]

Reload privilege tables now [Y/n]

Im nächsten Schritt erstellen wir eine Datenbank für die Nextcloud und legen einen Benutzer an, der die Berechtigungen erhält, Änderungen an der Datenbank vorzunehmen. Nextcloud ist auf einen Datenbank-Zugriff angewiesen. Notiere dir deinen gewählten Benutzernamen und das Passwort, da wir es später noch einmal für die Nextcloud-Installation und -Einrichtung über die Weboberfläche benötigen.

Betrete die MariaDB-Konsole mit dem folgenden Befehl:

mysql -u root -p

Lege nun einen neuen Benutzer für die Datenbank an:

CREATE USER 'ncadmin'@'localhost' identified by 'PASSWORT';

Erstelle eine neue Datenbank:

CREATE DATABASE nextcloud;

Räume dem Benutzer nun alle Privilegien und Berechtigungen für die Datenbank ein:

GRANT ALL PRIVILEGES ON nextcloud.* TO 'ncadmin'@'localhost';

Nun müssen die Berechtigungen aktualisiert werden, damit die Änderungen direkt wirksam werden:

FLUSH PRIVILEGES;

Die MariaDB-Konsole kann jetzt geschlossen werden. Alle SQL-Konfigurationen sind an diesem Punkt erfolgreich abgeschlossen.

Verlasse den Datenbank-Modus:

quit;

Die aktuellste Version von Nextcloud auf deinem Linux Ubuntu-Server herunterladen und installieren (Schritt 4.)

Software-Download - Archiv entpacken und in das www-Verzeichnis verschieben

Jetzt wo alle Vorbereitungen erledigt sind, können wir die neuste Version von Nextcloud herunterladen und in das Verzeichnis unseres Apache-Webservers verschieben, damit die Cloud über den Browser aufgerufen werden kann. Installiere zunächst die beiden notwendigen Pakete.

Pakete auf deinem Host-System installieren (wget und unzip):

apt install wget unzip

Lade jetzt die aktuellste Version von Nextcloud herunter:

cd /tmp && wget https://download.nextcloud.com/server/releases/latest.zip

Entpacke das Archiv und verschiebe die Datei in das www-Verzeichnis vom Apache-Webserver:

unzip latest.zip
mv nextcloud/ /var/www/html/

Damit die Webseite deiner eigenen Nextcloud vom Webserver ausgegeben werden kann, benötigt der Web-Benutzer (www-data) die entsprechenden Berechtigungen. Das erledigen wir mit den folgenden Befehlen.

Eigentümer des Verzeichnisses festlegen:

chown -R www-data:www-data /var/www/html/nextcloud

Berechtigungen erteilen:

chmod -R 755 /var/www/html/nextcloud

Jetzt müssen wir noch eine VirtualHost-Konfigurationsdatei für die Nextcloud anlegen. Die Datei beinhaltet einige wichtige Informationen für den Webserver.

Lege zunächst eine Virtual Host-Datei für die Nextcloud an und öffne diese direkt mit dem Nano-Editor:

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

Kopiere die folgende Konfiguration und passe sie deiner Umgebung an:

<VirtualHost *:80>
    ServerAdmin admin@example.com
    DocumentRoot /var/www/html/nextcloud
    ServerName example.com
    ErrorLog /var/log/apache2/nextcloud-error.log
    CustomLog /var/log/apache2/nextcloud-access.log combined

    <Directory /var/www/html/nextcloud/>
   Options +FollowSymlinks
   AllowOverride All
       Require all granted
    SetEnv HOME /var/www/html/nextcloud
    SetEnv HTTP_HOME /var/www/html/nextcloud
    <IfModule mod_dav.c>
       Dav off
       </IfModule>
   </Directory>
</VirtualHost>

Hinweis: Da der Servername und die E-Mail-Adresse vom Server-Admin individuell von Nutzer zu Nutzer abweichen, müssen diese beiden Werte manuell von dir angepasst werden. Die restlichen Einträge sind bereits auf die Installation in dieser Anleitung angepasst worden.

Speichere die Änderungen ab (STRG + S) und schließe den Editor wieder (STRG + X). Nun müssen wir noch einige Apache-Module auf unserem Ubuntu-Host installieren. Das gelingt dir mit dem folgenden Befehl.

Module für Apache installieren:

a2enmod rewrite dir mime env headers

Deaktiviere die Apache-Default-Landingpage:

a2dissite 000-default.conf

Aktiviere die Cloud-Webseite:

a2ensite nextcloud.conf

Um die Module und die Nextcloud-Konfiguration zu aktivieren, muss der Webserver jetzt neu gestartet werden:

systemctl restart apache2

Die Grundinstallation auf deinem Ubuntu-Hostsystem ist vorerst abgeschlossen. Der nächste Abschnitt begleitet dich durch die Erstkonfiguration über die Weboberfläche von Nextcloud. Begebe dich zu einem Client im selben lokalen Netzwerk und verwende für die Einrichtung einen beliebigen Browser, um das Webinterface über die URL-Leiste aufzurufen.

Die Weboberfläche von Nextcloud für die Einrichtung aufrufen (Schritt 5.)

Rufe deine Nextcloud über die lokale IP-Adresse deines Ubuntu-Servers auf oder verwende alternativ den eingepflegten Domänen-Namen.

IP-Adresse oder Domain in die URL-Leiste vom Web-Browser eingeben (Beispiel-IP):

http://192.168.178.179
Nextcloud Installation für Linux Ubuntu 22.04

Nachdem ersten Aufruf auf die Weboberfläche von Nextcloud über den Browser muss ein Administrationskonto angelegt und die Zugangsdaten für die Datenbank eingepflegt werden. Du hast das Passwort für die Datenbank im dritten Schritt der Datenbank-Installation vergeben. 

Datenbank-Benutzer:

Datenbank-Passwort:

Datenbank-Name:

Datenbank-Host:

ncadmin

PASSWORT (von dir vergeben!)

nextcloud

localhost

Nextcloud installieren die neuste Version auf einen Server mit Linux Ubuntu

Pflege die Zugangsdaten in die vorgesehenen Spalten ein und erstelle ein neues Admin-Konto für die Nextcloud. Hast du alle Daten korrekt eingetragen? Dann kannst du mit der abschließenden Konfiguration deiner Nextcloud-Installation beginnen, indem du die blaue Schaltfläche „Installieren“ mit einem Mausklick bestätigst. 

Nach einem kurzen Augenblick wirst du in das Webinterface für die Verwaltung von Dateien, Applikationen und Benutzer weitergeleitet. Die Installation und Ersteinrichtung von Nextcloud ist jetzt abgeschlossen. Herzlichen Glückwunsch.

Die Nextcloud mit einem SSL-Zertifikat verschlüsseln (Optional)

Certbot und Lets Encrypt Zertifikat für den verschlüsselten HTTPS-Datenverkehr

Deine Nextcloud ist jetzt einsatzbereit. Falls du die Ports (80/443) in deinem Router für das Host-System innerhalb der NAT-Konfigurationen freigeben möchtest, um auch von außerhalb deines lokalen Netzwerks auf die Cloud zugreifen zu können, würde ich dir diesen Schritt aus Sicherheitsgründen unbedingt empfehlen. 

Mit Certbot kann ein kostenloses Zertifikat mit der Secure Sockets Layer (SSL)-Technologie auf deinem Hostsystem mit Linux Ubuntu 22.04 installiert werden. Das Open-Source-Tool unterstützt uns bei der Anforderung von Let’s Encrypt- Zertifikaten, damit unsere Nextcloud über das HTTPS-Protokoll verschlüsselt wird. Führe die Befehle der Reihenfolge nach aus, um HTTPS für deinen Webserver zu implementieren.

Installiere und aktualisiere das Softwareverteilungssystem „Snap“ auf deinem Server:

sudo snap install core && sudo snap refresh core

Deinstalliere das Ubuntu Certbot-Paket, um mögliche Konflikte zu vermeiden:

sudo apt remove certbot

Installiere Certbot mit Snap:

sudo snap install --classic certbot

Beziehe nun ein kostenloses Let`s Encrypt- Zertifikat mit Certbot:

sudo certbot --apache

Die Software Certbot führt dich durch einen Installationsassistenten. Jetzt müssen noch einige Informationen für die Beziehung eines gültigen Let`s Encrypt- Zertifikats eingegeben werden. Gebe die folgenden Informationen bei Aufforderung in das Terminal ein:

  1. Eine gültige E-Mail-Adresse für den Inhaber der Domain
  2. Akzeptiere die Nutzungsbedingungen (Y)
  3. Beantworte die Frage, ob die von dir eingegebene Mail-Adresse mit der Electronic Frontier Foundation (Non-Profit) geteilt werden darf (Y/N)
  4. Gebe den zu registrierenden Namen deiner Domäne ein oder wähle alternativ einen aus der angezeigten Liste. (Beispiel: cloud.meinewebseite.de)

SSL-Zertifikat automatisch erneuern und aktualisieren:

Hinweis: Das generierte SSL-Zertifikat hat eine Gültigkeit von 90-Tagen. Danach läuft das Let`s Encrypt-Zertifikat aus und deine Nextcloud wird nicht mehr über HTTPS-verschlüsselt. Deshalb muss kurz vor dem Auslauf des Gültigkeitszeitraumes ein neues Zertifikat bezogen werden. Certbot bringt hier eine Option für die automatische Erneuerung mit.

sudo certbot renew --dry-run

Im Zusammenhang mit diesem Tutorial kann ich dir noch den folgenden Artikel empfehlen: So kann deine Cloud zukünftig aktualisiert werden.

Hat dir dieser Beitrag weitergeholfen?

Über dein Follow auf den sozialen Medien würde ich mich sehr freuen. So erfährst du als erstes von neuen Beiträgen auf meinem Blog und unterstützt mich bei meinem Wachstum. Falls du an einem Schritt dieser Anleitung nicht weiterkommst, verwende die Kommentarfunktion und ich werde dir so bald wie möglich mit Rat und Tat zur Seite stehen. Vielen Dank für deinen Besuch.

Installation einer Nextcloud auf einem Ubuntu-Server mit Schritt-für-Schritt Anleitungen

4 Kommentare on “Nextcloud Installation für Linux Ubuntu 22.04 (Komplettanleitung)

    1. Hallo Andreas,

      Die Meldung, die dir vom Terminal ausgegeben wird weist darauf hin, dass Snap nicht auf deinem Hostsystem installiert ist. Folglich kann das System nichts mit dem Befehl anfangen. Für gewöhnlich befindet sich Snap bereits von Beginn an auf Linux Ubuntu 22.04. Vielleicht verwendest du eine andere Distribution oder hast du das Paket während der Installation abgewählt? Die Lösung ist, das Snap-Paket manuell auf deinem Host zu installieren, und dann die Befehle erneut auszuführen, damit deine Nextcloud ein gültiges SSL-Zertifikat erhält.

      Snap kannst du mit dem folgenden Befehl auf dein System installieren: sudo apt-get install snapd -y

      Alternativ kannst du auch einen anderen Weg für die Implementierung eines SSL-Zertifikats auf deiner Nextcloud 25 mit Certbot wählen: Hier habe ich eine Anleitung ohne Snap veröffentlicht.

      Vielen Dank für dein Kommentar. Es freut mich sehr, dir behilflich sein zu können!

  1. Hallo Alexander,

    danke für die tolle Anleitung … ich bin zufällig über Deine Seite gestolpert und da die Anleitung zu Nextcloud noch sehr frisch ist, habe ich sie gleich mal ausprobiert. Im Ersten Durchgang konnte ich die Installation von Nextcloud über das Webinterface nicht abschließen. Es ist beim betätigen des Installieren Buttons einfach nichts passiert. Die Felder wurden geleert und fertig …. dann nochmal alles von vorne und bei dem Punkt:
    ‚Lege nun einen neuen Benutzer für die Datenbank an:‘ ist mir erst beim zweiten mal lesen aufgefallen, dass dort PASSWORT steht. Hier sollte ja ein eigenes Passwort eingetragen werden. Beim ersten mal dachte ich, dass der Befehl aussagt, das Root Passwort zu verwenden 🙂
    Mit SQL bin ich da auch nicht wirklich fit, dass ich es interpretieren konnte.
    Ansonsten alles top und die alternative Anleitung für das Let’s Encrypt Zertifikat hat auch super geklappt.

    Bei mir läuft das in einem Proxmox Container, der Proxmox Server ist jetzt speicherplatztechnisch nicht soo dicke ausgestattet. Kann ich die Nextcloud Daten auch auf meinem NAS speichern?

    Als nächstes schaue ich mir noch Deine anderen Anleitungen an und da kann mich sicher das ein oder andere inspirieren 😉

    Viele Grüße und einen guten Start ins neue Jahr

    1. Hallo Eric,

      schön, dass dir dieser Beitrag geholfen hat. Zu deiner Frage: Ja, es ist möglich die Cloud-Daten von deiner Nextcloud auf deinem NAS-Server zu speichern. Dafür kannst du z.B. die Erweiterung „Externe Speicherdienste“ aktivieren. Anschließend befindet sich ein neuer Bereich „External Storages“ in der Weboberfläche. Hier kannst du SMB/CIFS, SFTP und viele weitere Netzprotokolle hinzufügen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert