Nextcloud auf einem Ubuntu 24.04 Server installieren

Nextcloud ist eine Open-Source-Software für öffentliche und private Dateispeicher. Sie ermöglicht es dir, selbst gehostete Dienste wie Dropbox, Google Drive oder Mega.nz zu erstellen. Ursprünglich wurde sie vom ursprünglichen Owncloud-Entwickler Frank Karlitschek entwickelt. Im Jahr 2016 hat er das Owncloud-Projekt geforkt und ein neues Projekt mit dem Namen „Nextcloud“ gegründet.

Das Nextcloud-Projekt wächst rasant und entwickelt sich zu mehr als einer Filehosting-Software. Es ist eher eine Plattform für die Synchronisierung von Dateien und die Zusammenarbeit von Inhalten. Dank zahlreicher Plugins ist Nextcloud zu einer leistungsstarken Software für die Zusammenarbeit geworden. Du kannst Plugins für Projektmanagement, Videokonferenzen, gemeinsame Bearbeitung, Notizen, E-Mail-Client usw. installieren.

In diesem Lernprogramm lernst du, wie du Nextcloud auf einem Ubuntu 24.04 Server installierst. Du installierst Nextcloud mit dem LAMP-Stack und sicherst anschließend Netxcloud mit HTTPS über Certbot und Letsencrypt.

Voraussetzungen

Bevor du beginnst, solltest du sicherstellen, dass du Folgendes hast:

  • Einen Ubuntu 24.04 Server
  • Einen Nicht-Root-Benutzer mit Administrator-Rechten
  • Einen Domainnamen, der auf die IP-Adresse des Servers zeigt
  • Eine UFW (Uncomplicated Firewall) ist eingerichtet und läuft.

Installieren der Abhängigkeiten

In diesem Abschnitt installierst du die Paketabhängigkeiten für Nextcloud. Du wirst Nextcloud mit dem LAMP-Stack betreiben und curl verwenden, um den Nextcloud-Quellcode herunterzuladen, und dann Certbot und Letsencrypt verwenden, um Nextcloud mit HTTPS zu sichern.

Bevor du beginnst, führe den folgenden Befehl aus, um deinen Ubuntu-Paketindex zu aktualisieren

sudo apt update

Repo aktualisieren

Jetzt installierst du die Nextcloud-Abhängigkeiten mit dem folgenden apt install-Befehl. Dadurch werden der LAMP-Stack (Linux, Apache, MySQL/MariaDB und PHP), curl, unzip, ImageMagick und certbot installiert.

sudo apt install apache2 mariadb-server 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 php-redis php-memcached curl unzip imagemagick certbot python3-certbot-apache

Gib Y ein, um die Installation zu bestätigen.

deps installieren

Überprüfe nach der Installation den Status des Apache-Webservers mit dem unten stehenden Befehl. Du wirst sehen, dass der Apache-Webserver läuft und aktiviert ist.

sudo systemctl is-enabled apache2
sudo systemctl status apache2

test apache2

Überprüfe nun den Status des MariaDB-Servers mit dem folgenden Befehl. Du solltest eine ähnliche Ausgabe erhalten, wie die, dass MariaDB läuft.

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

test mariadb

Führe abschließend den folgenden Befehl aus, um die PHP-Version deines Systems zu überprüfen. Du wirst sehen, dass PHP 8.3 installiert ist.

php -v

php-Test

PHP konfigurieren

Nachdem du die Abhängigkeiten installiert hast, musst du PHP konfigurieren, indem du die Datei php.ini bearbeitest. Du kannst die PHP-Konfiguration nach Bedarf anpassen, z. B. an die maximale Speichergröße und die maximale Uploadgröße.

Öffne die Datei /etc/php/8.3/apache2/php.ini mit dem nano-Editor.

sudo nano /etc/php/8.3/apache2/php.ini

Ändere die Standardkonfiguration wie folgt und achte darauf, dass du memory_limit an deinen maximalen Speicherplatz und date.timezone an deinen Serverstandort und deine Zeitzone anpasst.

date.timezone = Europe/Amsterdam
memory_limit = 512M
upload_max_filesize = 500M
post_max_size = 600M
max_execution_time = 300
file_uploads = On
allow_url_fopen = On
display_errors = Off
output_buffering = Off

Wenn du fertig bist, speichere die Datei und beende sie.

Führe nun den folgenden systemctl-Befehl aus, um den Apache-Webserver neu zu starten und deine neue PHP-Konfiguration anzuwenden.

sudo systemctl restart apache2

MariaDB-Server konfigurieren

Nachdem du nun PHP konfiguriert hast, konfigurierst du den MariaDB-Server und legst eine neue Datenbank und einen neuen Benutzer für Nextcloud an. Du sicherst MariaDB mit dem Dienstprogramm mariadb-secure-installation und erstellst dann eine neue Datenbank und einen neuen Benutzer mit dem mariadb-Client.

Um den MariaDB-Server zu sichern, führst du den folgenden Befehl mariadb-secure-installation aus.

sudo mariadb-secure-installation

Während des Prozesses wirst du nach den folgenden MariaDB-Serverkonfigurationen gefragt:

  • Drücke ENTER, wenn du nach dem MariaDB Root-Passwort gefragt wirst.
  • Gib n ein, wenn du nach der Authentifizierungsmethode unix_socket gefragt wirst.
  • Gib Y ein, um ein neues Passwort für den MariaDB-Root-Benutzer einzurichten. Gib dann das neue Passwort ein und wiederhole es.
  • Gib Y ein, um den anonymen Standardbenutzer von MariaDB zu entfernen.
  • Gib dann erneut Y ein, um die Fernanmeldung für den MariaDB Root-Benutzer zu deaktivieren.
  • Gib Y ein, um den standardmäßigen Datenbanktest aus MariaDB zu entfernen.
  • Gib schließlich erneut Y ein, um die Tabellenberechtigungen neu zu laden und die Änderungen zu übernehmen.

Als Nächstes führst du den Befehl mariadb client aus, um dich am MariaDB-Server anzumelden. Gib dein Root-Passwort ein, wenn du dazu aufgefordert wirst.

sudo mariadb -u root -p

Führe die folgenden Abfragen aus, um eine neue Datenbank nextclouddb, einen Benutzer nextcloud@localhost und das Passwort passw0rd zu erstellen. Du kannst die Datenbankdetails mit deinen Angaben anpassen.

CREATE DATABASE nextclouddb;
CREATE USER nextcloud@localhost IDENTIFIED BY 'passw0rd';
GRANT ALL PRIVILEGES ON nextclouddb.* to nextcloud@localhost;
FLUSH PRIVILEGES;

Datenbank und Benutzer anlegen

Führe nun die folgende Abfrage aus, um sicherzustellen, dass der Benutzer nextcloud@localhost auf die Datenbank nextclouddb zugreifen kann.

SHOW GRANTS FOR nextcloud@localhost;

Du wirst eine Ausgabe wie die folgende sehen:

Benutzerprivilegien anzeigen

Tippe quit ein, um den MariaDB-Server zu verlassen.

Öffnen von HTTP- und HTTPS-Ports

In diesem Abschnitt öffnest du die HTTP- und HTTPS-Ports, um den Zugriff auf die Nextcloud zu ermöglichen. Du musst also sicherstellen, dass UFW auf deinem Ubuntu-Server konfiguriert und aktiviert ist.

Um sowohl HTTP- als auch HTTPS-Ports auf Ubuntu zu öffnen, führe den folgenden ufw-Befehl aus. Mit dem Profil Apache Full lässt du Verbindungen zu den HTTP- und HTTPS-Ports zu.

sudo ufw allow 'Apache Full'
sudo ufw reload

Überprüfe nun die Listenregeln auf UFW mit dem unten stehenden Befehl. Vergewissere dich, dass das Apache Full-Profil auf deinem Ubuntu-Server aktiviert ist.

sudo ufw status

ufw-Einrichtung

Herunterladen von Nextcloud

Nachdem du PHP, MariaDB und UFW konfiguriert hast, lädst du den Nextcloud-Quellcode herunter und richtest das Dokumentenstammverzeichnis für die Nextcloud-Installation ein.

Gehe in das Verzeichnis /var/www und lade den Nextcloud-Quellcode mit dem unten stehenden curl-Befehl herunter.

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

Nach dem Download führe den Befehl unzip aus, um Nextcloud zu entpacken. Dadurch wird das Stammverzeichnis von Netxcloud auf /var/www/nextcloud gesetzt.

sudo unzip nextcloud.zip

Führe nun den unten stehenden Befehl aus, um den Eigentümer des Verzeichnisses /var/www/nextcloud auf den Benutzer www-data zu ändern.

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

nextcloud herunterladen

Einrichten des virtuellen Apache-Hosts für Nextcloud

Nachdem du Nextcloud heruntergeladen hast, erstellst du einen neuen virtuellen Apache-Host für Nextcloud. Anschließend erstellst du SSL-Zertifikate und sicherst Nextcloud mit HTTPS.

Erstelle eine neue Apache Virtual Host Konfiguration /etc/apache2/sites-available/nextcloud.conf mit dem folgenden nano Editor.

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

Füge die unten stehende Konfiguration ein und achte darauf, dass du den Domainnamen nextcloud.howtoforge.local änderst.

<VirtualHost *:80>
 ServerName nextcloud.howtoforge.local
 DocumentRoot /var/www/nextcloud/

# log files
ErrorLog /var/log/apache2/nextclouds.howtoforge.local-error.log
CustomLog /var/log/apache2/nextcloud.howtoforge.local-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>

Wenn du fertig bist, speichere die Datei und beende den Editor.

Führe nun den folgenden Befehl aus, um die virtuelle Hostdatei nextcloud.conf zu aktivieren und deine Apache-Syntax zu überprüfen. Wenn du die richtige Apache-Syntax hast, bekommst du die Ausgabe Syntax is OK.

sudo a2ensite nextcloud.conf
sudo apachectl configtest

Als Nächstes führst du den Befehl systemctl aus, um den Apache-Webserver neu zu starten und deine Änderungen zu übernehmen.

sudo systemctl restart apache2

Apache einrichten

Sobald Apache neu gestartet ist, führst du den Befehl certbot aus, um SSL-Zertifikate zu erzeugen und deine Nextcloud-Installation mit HTTPS zu sichern. Achte darauf, dass du den Domainnamen und die E-Mail-Adresse mit deinen Daten änderst.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email user@howtoforge.local -d nextcloud.howtoforge.local

Installation von Nextcloud

Öffne deinen Webbrowser und besuche https://nexcloud.howtoforge.local/. Wenn deine Konfiguration erfolgreich war, siehst du die Nextcloud-Installationsseite.

Auf der Nextcloud-Installationsseite musst du Folgendes konfigurieren:

  • Gib deinen Admin-Benutzer und dein Passwort für Nextcloud ein
  • Wähle den Speicherpfad als Standardverzeichnis
  • Gib die Details der Nextcloud-Datenbank ein, die du erstellt hast
  • Klicke auf Installieren, um die Installation zu starten.

nextcloud installieren

Du kannst nun einige Nextcloud-Anwendungen installieren oder auf Überspringen klicken.

Installation von Apps überspringen

Nachdem der Prozess abgeschlossen ist, siehst du die folgende Seite:

nextcloud Dashboard

Fazit

Herzlichen Glückwunsch! Du hast die Nextcloud-Installation auf dem Ubuntu 24.04 Server abgeschlossen. Nextcloud läuft mit dem LAMP-Stack und ist mit HTTPS über Certbot und Letsencrypt gesichert. Du kannst jetzt neue Benutzer anlegen und Dateien auf deine Nextcloud hochladen oder neue Caching-Methoden hinzufügen, um die Leistung zu verbessern.

Das könnte dich auch interessieren …