02 Setup Script - sunweaver/nextcloud-high-performance-backend-setup GitHub Wiki

Installation

Installieren Sie noch folgende Pakete auf dem frisch installierten Debian Server nach: apt install openssh-server unzip wget sudo nano jq

Sie laden die Datei des Installationsskriptes mit „wget“ in ein Verzeichnis auf Ihrem Server herunter und entpacken diese dort: wget -O latest.zip $(wget -q -O - 'https://api.github.com/repos/sunweaver/nextcloud-high-performance-backend-setup/releases/latest' | jq -r '.zipball_url')

Auspacken der Dateien: unzip latest.zip

Danach wechseln Sie in den Ordner: cd sunweaver-nextcloud-high-performance-backend-setup-*

Mit ls -lha sollten Sie ungefähr folgende Ansicht erhalten:

01hpbsetup

Wechseln Sie zum Root User: su root

(Optional) Sie haben nun die Möglichkeit, alle Einstellungen vorher in einer Einstellungsdatei einzutragen. Das spart natürlich Schreibarbeit, falls Sie das Skript erneut ausführen möchten. Lesen Sie dafür Installation mit Einstellungsdatei

Installation

Starten Sie die Installation mit dem Befehl sudo ./setup-nextcloud-hpb.sh

Jetzt öffnet sich das erste Auswahlmenü, in dem Sie wählen können, ob Sie den Talk-Server und Collabora Office installieren wollen oder jeweils nur das eine oder andere. Dies kann in größeren Umgebungen Sinn machen. Wir empfehlen hier erstmal beides auf einem Server zu installieren

02hpbsetup

03hpbsetup

Im folgenden Dialog müssen Sie die Domain des Servers eingeben, auf dem das Script aufgeführt wird. Für diese Domain wird dann später von dem Script ein Let's-Encrypt-Zertifikat erstellt, damit die ganze Kommunikation zwischen Nextcloud und dem Server verschlüsselt abläuft. In unserem Bsp. hier ist das die Domain „nc-workhorse.examle.org“:

04hpbsetup

Hier gibt einem das Script die Möglichkeit, den Speicherort für die jetzt erzeugten Keys selbst nochmal anzupassen. Standardmäßig wird die Datei in dem Skriptverzeichnis als „nextcloud-hpb.secrets“ angelegt.

05hpbsetup

Hier können Sie Ihre E-Mail-Adresse sowie einen Mailserver eingeben, damit der Server Ihnen auch Statusinformationen zusenden kann. Bitte geben Sie folgende Daten ein, damit auf dem Server der passende Smarthost in msmtp konfiguriert werden kann:

  • E-Mail-Adresse (für Let's Encrypt)

Smarthost Daten Mailserver:

  • Passwort
  • Benutzername
  • Mailserver
  • Port

Hier geben Sie jetzt die E-Mail-Adresse ein, an die das System dann die Nachrichten schickt. Diese E-Mail-Adresse wird auch bei Let's Encrypt hinterlegt.

06hpbsetup

Hier geben Sie jetzt das Passwort von dem SMTP Account ein, über die das System die E-Mails versenden soll.

07hpbsetup

Hier geben Sie jetzt den Usernamen (z.B. [email protected]) von dem SMTP Account ein, über die das System die E-Mails versenden soll.

08hpbsetup

Hier geben Sie jetzt den SMTP-Mailserver, über den die Mails versendet werden sollen.

09hpbsetup

Hier geben Sie jetzt den Port (Standard ist 587) für SMTP-Mailserver ein. Sie können mit dem Skript nur SMTP Server konfigurieren, die TLS Verschlüsselung erlauben.

10hpbsetup

Im folgenden Dialog bestätigen Sie bitte das Let's Encrypt-Zertifikat. Dies ist nötig, damit Ihre Nextcloud-Instanz und der Server verschlüsselt kommunizieren können:

11hpbsetup

Im folgenden Dialog können Sie den SSH-Zugang deaktivieren. Standardmäßig würden wir empfehlen, ihn nicht zu deaktivieren. Wenn man aber den Server noch besser absichern will, kann man den SSH-Zugriff hier einfach abschalten:

12hpbsetup

Hier kann man je nach Debianversion auswählen, ob das Paket installiert wird oder dass alles aus den Quellen erstellt/gebaut wird. Für Debianversionen unter 13 (Trixie) empfehlen, wir aus den Paketquellen zu bauen.

13hpbsetup

Jetzt läuft das Skript durch, konfiguriert und installiert alles automatisch. Sie erhalten, wenn alles durchgelaufen ist, eine Zusammenfassung mit allen Daten.

14hpbsetup

Installation mit Einstellungsdatei

Bearbeiten Sie die settings.sh-Datei mit:

nano settings.sh

Es sind alle Einstellungsmöglichkeiten hier und in der Datei (aber auf Englisch) erklärt.

Beenden Sie via STRG+X den Nano-Editor. Beachten Sie die Anweisungen am unteren Bildschirmrand.

Starten Sie die Installation mit dem Befehl

sudo ./setup-nextcloud-hpb.sh settings.sh

Ausgabe

Als Ausgabe bekommen Sie alle Keys und URLs, die Sie für die Nextcloud-Erweiterung brauchen. Hier sehen Sie eine Beispiel-Ausgabe, die auch in der Datei „nextcloud-hpb.secrets“ in dem Install-Ordner abgespeichert wurde. Diese Daten tragen Sie in Ihrer Nextcloud unter Einstellungen im Talk- und Nextcloud Office-Modul ein. Kopieren Sie sich die Ausgabe des Skripts, da Sie die Daten jetzt in die Nextcloud eingeben müssen!

15hpbsetup

Die Keys und URLs tragen Sie bitte in die Nextcloud ein. Die passende Anleitung finden Sie hier

Einstellungen in der Einstellungsdatei erklärt

  • DRY_RUN: Wenn true, dann wird nichts wirklich am System geändert.
  • UNATTENDED_INSTALL: Wenn true, dann werden so viele Fragen wie möglich ausgelassen. Es kann aber sein, dass (vor allem beim ersten Start)
  • NEXTCLOUD_SERVER_FQDNS: Die Domain des Nextcloud-Servers. Es können hier mehrere angegeben werden, die durch Kommata getrennt werden.
  • SERVER_FQDN: Die Domain des High-Performance-Backend-Servers.
  • SSL_*: Bitte nicht verändern. Es sei denn, Sie wissen, was Sie tun (sonst Sourcecode angucken).
  • DHPARAM_PATH: Bitte nicht verändern. Es sei denn, Sie wissen, was Sie tun (sonst Sourcecode angucken).
  • SHOULD_INSTALL_*: Regelt, ob dieses Paket installiert werden soll (gilt, nur wenn UNATTENDED_INSTALL=true).
  • SIGNALING_BUILD_FROM_SOURCES: Soll Signaling (und seine Abhängigkeiten) direkt von den Quellen gebaut werden? (Anstelle von Installation von öffentlichen Debian Repositories).
  • LOGFILE_PATH: Speichert den kompletten Text, der vom Skript ausgegeben wird. Das ist sehr nützlich für die Entwickler, falls Sie einen Bugreport erstellen möchten.
  • TMP_DIR_PATH: In diesem Ordner werden für das Skript wichtige Dateien zwischengelagert.
  • SECRETS_FILE_PATH: Dateiname, wo die Ausgabe gespeichert werden sollen.
  • SMTP E-Mail Einstellungen:
    • Bitte hier die mitgelieferten Daten des E-Mail-Providers eintragen!
    • EMAIL_USER_ADDRESS: Adresse
    • EMAIL_USER_PASSWORD: Password
    • EMAIL_USER_USERNAME: Benutzername (Meistens auch E-Mail-Adresse)
    • EMAIL_SERVER_HOST: Domain des Mailserver
    • #EMAIL_SERVER_PORT: Meistens 25 oder 587
  • #DISABLE_SSH_SERVER: Soll der SSH-Server (openssh-server) ausgeschaltet werden?
  • DNS_RESOLVER: Eigener DNS-Auflöserserver.

Dienste und Logdateien

Dienste Status abfragen: sytemctl status nginx systemctl status nextcloud-spreed-signaling.service systemctl status janus.service systemctl status nats-server.service systemctl status coturn.service

Logdatein ansehen: journalctl -u nginx -f tail -f /var/log/nginx/access.log tail -f /var/log/nginx/error.log

journalctl -u nextcloud-spreed-signaling -f journalctl -u janus -f journalctl -u nats-server -f journalctl -u coturn.service -f

Erweitertes Logs:

Dazu folgendes Installieren: apt install rsyslog logrotate

less /var/log/syslog + STRG+F Zum Beenden: STRG+C + q