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:
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
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“:
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.
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.
Hier geben Sie jetzt das Passwort von dem SMTP Account ein, über die das System die E-Mails versenden soll.
Hier geben Sie jetzt den Usernamen (z.B. [email protected]) von dem SMTP Account ein, über die das System die E-Mails versenden soll.
Hier geben Sie jetzt den SMTP-Mailserver, über den die Mails versendet werden sollen.
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.
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:
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:
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.
Jetzt läuft das Skript durch, konfiguriert und installiert alles automatisch. Sie erhalten, wenn alles durchgelaufen ist, eine Zusammenfassung mit allen Daten.
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!
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
: Wenntrue
, dann wird nichts wirklich am System geändert.UNATTENDED_INSTALL
: Wenntrue
, 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 wennUNATTENDED_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
: AdresseEMAIL_USER_PASSWORD
: PasswordEMAIL_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