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
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.
Ü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
Ü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
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 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;
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:
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
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
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
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.
Du kannst nun einige Nextcloud-Anwendungen installieren oder auf Überspringen klicken.
Nachdem der Prozess abgeschlossen ist, siehst du die folgende Seite:
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.