Nextcloud 21 - High Performance Backend für Dateien bei mehreren NC Instanzen

Einleitung

Mit dem Erscheinen von Nextcloud 21, wurde auch das High Performance Backend für Dateien eingeführt. In meinem ersten Tutorial darüber bin ich darauf eingegangen, wie es für eine Domain eingerichtet wird. Da es aber auch den Fall geben könnte, dass mehrere Nextcloud Instanzen auf einem Server betrieben werden, muss für jede weitere Nextcloud Instanz eine weiterer systemmd Unit erstellt werden.


Vorraussetzungen:
- bestehende Nextcloud 21 Instanz mit Redis => Nextcloud unter Plesk installieren
- Nginx als Webserver (Proxymodus)
- SSH Zugriff auf den Server
- Client Push App für jede weitere NC Instanz installiert => Nextcloud 21 - High Performance Backend für Dateien

Client Push auf Serverebene konfigurieren

Location Block hinzufügen

Melden Sie sich im Plesk Interface auf Ihrem Server an und navigieren Sie hier zu der Domain, welche die Nextcloud Instanz beherbergt. Unter Einstellungen für Apache & nginx fügen Sie folgende Code Zeilen hinzu:


nginx
location /push/ {
    proxy_pass http://localhost:7867/;    # proxy_pass http://localhost:7868/; ... proxy_pass http://localhost:7869/; usw.
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "Upgrade";
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

Haben Sie bereits mein erstes Tutorial erfolgreich für eine Domain angewendet, ist der Port 7867 bereits belegt. Damit weitere Instanzen Client Push nutzen können, muss also ein anderer Port genutzt werden. Ein Beispiel hierfür ist dem Codeblock oben zu entnehmen.


Übernehmen Sie diese Einstellungen, der Webserver wird automatisch neugestartet.

Notify Push Setup

Wechseln Sie zum Plesk Interface und navigieren Sie hier zur config.php der Nextcloud und ergänzen Sie Folgendes:

Code
  'trusted_proxies' => 
  array (
    0 => '127.0.0.1',
    1 => '::1',
    2 => 'SERVER IP',
  ),

Wichtig: trusted_proxies darf nur einmal definiert werden! Überprüfen Sie also Ihre komplette Konfiguration in der config.php

Systemmd Unit erstellen

Für jede weitere Nextcloud Instanz muss eine neue systemmd Unit erstellt werden. Damit es übersichtlicher wird, hängen wir den Domainnamen einfach am Ende an:

Bash
nano /etc/systemd/system/notify_push_domainname.service

In dieser Datei fügen wir folgendes hinzu:

Der Port muss exakt derselbe sein, wie im Location Block!

Aktivieren der systemmd Unit

systemmd Unit aktivieren mit folgendem Befehl

Bash
systemctl enable --now notify_push_domainname

Anschließend Notify_Push setup starten

Bash
sudo -u ***Systembenutzer*** /opt/plesk/php/7.4/bin/php /var/www/vhosts/domain.tld/httpdocs/occ notify_push:setup https://cloud.example.com/push

Es ist wichtig den FQDN der Nextcloud Instanz mit dem Zusatz /push anzugeben.


Der Push Dienst kann mit folgendem Befehl geprüft werden, welchen Status er hat:

Code
service notify_push_domainname status

Über den Autor

Mark ist IT-Spezialist im Fachbereich der IT-Administratoren. Derzeit bereitet er sich auf den IT-Professional vor. Neben Beruf und Familie, erstellt er, als ein teil seines Hobbys, gerne Anleitungen und versucht diese anderen näherzubringen. Systemintegration, Administration sowie Gaming sind Marks Leidenschaft und Hobby.

Foxly Team