Nextcloud auf dem eigenen Webspace installieren

Dieser Artikel beschreibt, wie du dir mühelos mit Nextcloud eine eigene Cloud erstellen kannst. Du benötigst dazu freien Webspace und den Zugang per (S)FTP auf das Dateisystem.

Ein einfacher Weg, Nextcloud auf deinem Webspace zu installieren, geht über den Web-Installer. Er überprüft die Abhängigkeiten, lädt Nextcloud von der offiziellen Server herunter und entpackt das Programmpaket mit den korrekten Berechtigungen sowie dem richtigen Benutzerkonto. Schließlich wirst du zum Nextcloud-Installationsprogramm weitergeleitet.

Klicke dazu hier mit der rechten Maustaste und speichere die Datei auf deinem Computer. Lade dann die Datei setup-nextcloud.php auf deinen Webspace hoch und rufe in deinem Webbrowser /path/to/your/webspace/setup-nextcloud.php auf. Befolge dann die Anweisungen und konfiguriere die Nextcloud. Melde dich bei Ihrer neu erstellten Nextcloud-Instanz an.

Nextcloud unter Windows manuell updaten

Wer seine private Nextcloud betreibt, muss sich natürlich auch um die Updates der Software kümmern. Dieser Artikel zeigt, welche Möglichkeiten es gibt, die eigene Cloud unter Windows manuell zu aktualisieren.

Es gibt mehrere Möglichkeiten, ein Update der eigenen Cloud durchzuführen. Die einfachste Lösung ist der Web-basierte Updater, der direkt in Nextcloud integriert ist. Der Updater kann ebenfalls über die Kommandozeile ausgeführt werden. In Situationen, in den der Updater nicht verwendet werden kann, sollte man ein manuelles Update in Betracht ziehen. Das ist zum Beispiel dann der Fall, wenn der Updater abbricht. Oft liegen die Gründe dafür in Timeouts durch die Datenübertragung der Installationsdateien.

Wenn der Updater abgebrochen ist, stehst du oft vor einer leeren Seite. Schaue hier, um an dieser Stelle weiter zu kommen.

Lade dazu die über den Link, der dir neben dem Updater angeboten wird, die passende Version herunter oder besuche mit deinem Browser die offizielle Nextcloud-Webseite und lade von dort die neueste Version lokal auf deinen Computer. Vorher lohnt es sich, einen Blick auf den Nextcloud Server Changelog zu werfen. Lade dann die heruntergeladene ZIP-Datei via FTP- oder (S)FTP-Client auf deine Webspace in den Ordner /path/to/nextcloud/data/updater-xyz123/downloads hoch. Dabei steht die Zeichenfolge xyz123 für eine zufällige Kombination aus Zahlen.

Starte nun den Updater erneut.

Wenn das Nextcloud-Update stecken bleibt

Dieser Artikel hilft die vielleicht weiter, wenn das Nextcloud-Update stecken bleibt. Das kann der Fall sein, wenn du auf die Seite des Updaters gehst und folgende Zeile siehst:

Step 3 is currently in process. Please reload this page later.

Vorausgesetzt, du hast Zugriff auf die Dateien deiner Installation, prüfe, ob eine Datei unter /path/to/your/nextcloud/data/updater-xyz123/.step vorhanden ist. Dabei steht die Zeichenfolge xyz123 für eine zufällige Kombination aus Zahlen und Zeichen.

Wenn du diese .step-Datei findest, lösche sie und öffnen Sie Ihre Updater-Seite erneut.

Die wichtigsten SSH-Befehle

Hier findest du die wichtigsten SSH-Befehle, welche du zur Nutzung von SSH über Terminal für Ihr Webhosting verwenden kannst. SSH, oder ‚Secure Shell‘, ist ein Protokoll, das man zum Zugriff auf Dateien und Verzeichnisse auf einem entfernten Server verwenden kann.

Dieser Beitrag konzentriert sich auf die Befehle, die du verwenden kannst, daher werde ich nicht im Detail darauf eingehen, wie du SSH für den Zugriff auf deine Webseite verwendest. Siehe dazu meine anderen Beiträge zum Einsatz von SSH unter Windows mit PuTTY oder dem integrierten SSH-Client.

Per SSH verbinden: ssh login@host
Bildschirm aufräumen: clear
Ausloggen: exit

Zum Homeverzeichnis: cd
Zum Wurzelverzeichnis: cd ../
Eine Verzeichnisebene zurück: cd ..
Verzeichnis direkt über deinem aktuellen Verzeichnis: cd etc
In ein bestimmtes Verzeichnis wechseln: cd /var/www/html
Seitwärts in anderes Verzeichnis innerhalb des Ordners direkt über deinem aktuellen Verzeichnis: cd ../etc
Vorherige Verzeichnis: cd -
Verzeichnisinhalt anzeigen (mit allen Dateidetails): ls -all
Aktuelles Verzeichnis und vollständiger Pfad anzeigen: pwd

Datei mit Nano-Editor bearbeiten: nano index.html
Leere Datei anlegen: touch datei.txt
Verzeichnis anlegen: mkdir Ordner
Berechtigungen einer Datei ändern: chmod 464 filename.ext

Datei oder Verzeichnis umbenennen: mv altername.txt neuername.txt
Datei oder Verzeichnis kopieren: cp datei.txt /htdocs/datei.txt
Datei verschieben: mv datei.txt /htdocs/
Datei verschieben und umbenennen: mv altername.txt /htdocs/neuername.txt
Datei löschen: rm datei.txt
Rekursiv löschen inkl. aller Unterverzeichnisse und Dateien: rm -r Dateiname/Ordnername

System nach Dateien und Verzeichnissen durchsuchen: find / -name "index"
Aktuelles Verzeichnis nach Dateien und Verzeichnissen durchsuchen: find . -name "index"

Dateitransfer ist via SSH möglich. Die Befehle werden lokal ausgeführt, während due nicht per SSH verbunden bist.
Upload einer Datei: scp /lokalerpfad/datei.txt login@host: ~/htdocs/datei.txt
Download einer Datei: scp login@host: ~/htdocs/datei.txt /lokalerpfad/datei.txt

Hinweis UFW (Uncomplicated Firewall): Bevor man die Firewall aktiviert sollte man sich bewusst sein, dass in der Standard-Einstellung von UFW alle nicht explizit erlaubten Verbindungen verboten sind. Wenn man mit dem Server nur per SSH verbunden ist, kann dies dazu führen, dass man sich selber aussperrt! Deshalb sollte man in diesem Fall unbedingt zuerst die gewünschten Verbindungen explizit erlauben.

Den Status der UFW überprüfen: sudo ufw status
UFW permanent aktivieren: sudo ufw enable
UFW permanent deaktivieren: sudo ufw disable
Regeln der UFW auf die Standardeinstellungen zurücksetzen: sudo ufw reset
Übersicht über alle aktuellen Applikationsfilter: sudo ufw app list

SSH-Key mit Windows Bordmitteln erstellen

SSH-Keys bieten gegenüber der Anmeldung mit Username und Passwort deutlich mehr Sicherheit. Erzeugt wird das Schlüsselpaar auf dem Client (PC oder Notebook), nicht auf dem Server.

Der private SSH-Key bleibt auf dem eigenen Rechner – und damit geheim. Du sparst dir den Anmeldedialog und sorgst gleichzeitig für eine noch größere Sicherheit. Seit Version 1709 hat Windows 10 einen integrierten SSH-Client und -Server erhalten. Der OpenSSH-Client ist mittlerweile bereits standardmäßig installiert. Ein separates Programm wie PuTTY wird also nicht mehr benötigt.

Das Ganze funktioniert relativ einfach mit dem Befehl ssh direkt aus der Eingabeeinforderung oder der PowerShell. Es können auch SSH-Keys erzeugt werden. Das wollen wir jetzt tun. Starte dazu die Windows PowerShell, und gebe ein:

ssh-keygen -t rsa -b 4096 -C "admin@host.de"

Die Parameter nach dem eigentlichen Befehl sind optional und steuern den Typ des zu erstellenden Schlüssels und die Bitlänge. Der Kommentar ersetzt den vom Utility automatisch generierten Kommentar zusammengesetzt aus Benutzer und Rechnername. Hier hat sich die Angabe der Email-Adresse bewährt, wenn man den Key für verschiedene Dienste nutzt. Nach drücken der Enter-Taste wird ähnlich zu Linux-Systemen der Standard-Pfad und -Dateiname für den Key vorgeschlagen. Diese solltet ihr beibehalten, da Windows bei einer Serveranmeldung standardmäßig hier nachschaut.

Enter passphrase (empty for no passphrase):
Enter same passphrase again:

Jetzt könnt ihr eine Passphrase vergeben. Obwohl dieser Schritt optional ist, dort sollte man unbedingt ein Kennwort vergeben. Das würde sonst dem Szenario gleich kommen, deine EC-Karte ohne PIN zu betreiben!

PS C:\Users\User> ssh-keygen -t rsa -b 4096 -C "admin@host.de"
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\User/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\Users\User/.ssh/id_rsa.
Your public key has been saved in C:\Users\User/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:3GXM/U6L0FHkYiUI+CP0yAcp8l2tk2f9KzEgYuWHjiA admin@host.de
The key's randomart image is:
+---[RSA 4096]----+
|   o. ...        |
|  o    .   + +.**|
|   o      . o oo=|
|  . .      . o . |
|   .          .  |
|E = .o . o . .   |
|.+ *. o o o = . .|
|    . + o+oE. .  |
|   . o.o + .     |
+-----------------+
PS C:\Users\User>

Bevor du mit deinem SSH-Schlüssel eine Verbindung zu einem vorhandenen Server herstellst, musst du den öffentlichen Teil zur Datei ~/.ssh/authorized_keys hinzufügen. Wie das funktioniert habe ich in einem weiteren Beitrag beschrieben.

SSH-Schlüssel auf einem laufenden Vultr-Server ändern

Durch Ändern der SSH-Schlüssel auf einem laufenden Vultr-Server über das Kundenportal wird der Server neu installiert und alle Daten auf dem Server werden gelöscht. Du kannst aber SSH-Schlüssel manuell ändern, ohne den Server neu zu installieren, indem Du dieser Kurzanleitung folgst.

Für diese Anleitung musst du einen SSH-Key im OpenSSH-Format besitzen. Siehe dazu meine Anleitung zum Erstellen eines SSH-Keys mit Windows Bordmitteln oder mit Hilfe des Key Generators PuTTYgen, der mit dem SSH-Client PuTTY installiert wird. Diese Anleitung gilt für Linux- und BSD-Server.

Auf Linux-Clients würde man das vorinstallierte Dienstprogramm ssh-copy-id verwenden, um deinen öffentlichen Schlüssel zum Server hinzuzufügen. Derzeit ist für die Implementierung des OpenSSH-Clients in Windows 10 dieser Befehl nicht verfügbar. Ein einzeiliger PowerShell-Befehl kann jedoch den Befehl ssh-copy-id nachahmen. In dem folgenden Beispiel wird der öffentliche Schlüssel über SSH vom Profil des aktuellen Benutzers in die ~/.ssh/authorized_keys des Root-Benutzers auf Host 192.0.2.123 kopiert:

PS> type $env:USERPROFILE\.ssh\id_rsa.pub | ssh root@192.0.2.123
"cat >> .ssh/authorized_keys"

Als alternative Methode kannst du die Datei ~/.ssh/authorized_keys manuell bearbeiten. Hänge deinen öffentlichen Schlüssel an die Datei an, speichere und schließe. Da es keine gängigen automatischen Methoden zum Löschen eines öffentlichen Schlüssels gibt, ist das Entfernen nur manuell möglich.

Im letzten Schritt müssen wir unserem OpenSSH-Server die Anmeldung per Benutzername und Kennwort abgewöhnen. Hierzu editieren wir folgenden Optionen in unserer OpenSSH-Server Konfiguration:

nano /etc/ssh/sshd_config

Hier die entsprechenden Zeilen ändern:

#       $OpenBSD: sshd_config,v 1.103 2018/04/09 20:41:22 tj Exp $

[ . . . ]
PasswordAuthentication no
PermitRootLogin without-password

Sobald der Neustart des OpenSSH-Servers abgeschlossen ist, wird nur noch die Anmeldung per SSH-Key akzeptiert.

service sshd restart

SSH-Key unter Windows mit PuTTY erstellen

Gegenüber der Anmeldung mit Username und Passwort bieten SSH-Keys deutlich mehr Sicherheit. Du erzeugst das Schlüsselpaar auf deinem PC oder Notebook, also dem Client und nicht auf dem Server. Mittlerweile hat Windows 10 einen integrierten SSH-Client. Wie das funktioniert, liest du hier.

Zum Loslegen benötigst du den SSH-Client PuTTY – ein schlankes und einfaches Terminal-Programm für Windows. Beginnen wir mit PuttY und erzeugen uns zunächst einen SSH-Key für die sog. Public-Key-Authentifizierung. Der private SSH-Key bleibt auf dem eigenen Rechner – und damit geheim. Du sparst dir den Anmeldedialog und sorgst gleichzeitig für eine noch größere Sicherheit.

Öffne nicht PuTTY, sondern das mit installierte PuTTYgen. 2048-Bit-Schlüssel sind ziemlich sicher, und 4096-Bit-Schlüssel sind sehr sicher. Um hier einen Schlüssel zu erstellen, sind folgende Parameter notwendig: RSA und eine Bitlänge von 4096. Klicke danach auf ‚Generate‚:

PuTTY legt jetzt den Schlüssel an. Bewegen Sie für den Zufallsgenerator die Maus über die Fläche unterhalb des Balkens, bis die Erstellung abgeschlossen ist:

Der SSH-Schlüssel ist jetzt angelegt und wird angezeigt. Gib einen Schlüsselkommentar ein, um den Schlüssel später leichter identifizieren zu können. Der private Schlüssel muss vor unbefugter Verwendung geschützt werden. Es wird empfohlen, eine Passphrase (Key passphrase) einzugeben, um den SSH-Schlüssel zu schützen.

Klicke auf ‚Save Public Key‚ und bewahren ihn sicher auf. Es ist nicht möglich, diese Datei wiederherzustellen, wenn sie verloren geht. Diese Datei ist Ihr öffentliches/privates Schlüsselpaar im PuTTY-Format. Wenn du einen einen anderen SSH-Client als PuTTY verwendest, kannst du unter Conversions > Export OpenSSH key im im OpenSSH-Format speichern.

Munin Monitoring Tool auf Ubuntu 21.04 installieren

Munin ist eine Anwendung zur System-, Netzwerk- und Infrastrukturüberwachung, die Informationen in Form von Grafiken im Webbrowser darstellt. Da sie als Client-Server-Architektur aufgebaut ist, kann sie so konfiguriert werden, dass ein Munin-Master eine beliebige Anzahl von Client-Rechnern (Munin nodes) überwachen kann.

Wir wollen uns aber auf einen einzelnen Server konzentrieren, denn oft will man wissen, wie der gemietete Server ausgelastet ist. Die folgenden Schritte müssen mit root-Rechten durchgeführt werden. Stelle sicher, dass das System auf dem neuesten Stand ist, bevor du mit der Installation von Munin beginnst:

apt-get update
apt-get upgrade

Nun müssen ein paar Abhängigkeiten installiert werden. Apache wird verwendet, um die Munin-Seiten anzuzeigen, das apache fcgid-Modul wird für die Zoom-Funktion des Munin-Diagramms benötigt:

apt-get -y install apache2 libcgi-fast-perl libapache2-mod-fcgid

Aktiviere das fcgid-Modul im Apache:

a2enmod fcgid

Um Munin unter Ubuntu 21.04 zu installieren, führe die folgenden Befehle aus:

apt-get -y install munin

Die Hauptkonfigurationsdatei munin.conf und andere Dateien, die für die Funktion von Munin erforderlich sind, befinden sich im Verzeichnis /etc/munin und seinen Unterverzeichnissen. In diesem Schritt werden wir die Hauptkonfigurationsdatei für den Munin-Master und seine Apache-Konfiguration apache24.conf ändern. Öffne dazu die Hauptkonfigurationsdatei:

cd /etc/munin
sudo nano munin.conf

Suche nach den folgenden Zeilen und kommentiere sie aus – entfernen dazu das ihnen vorangestellte # Zeichen. In dbdir werden alle rrd-Dateien gespeichert, die die eigentlichen Überwachungsinformationen enthalten; in htmldir werden die Bilder und Site-Dateien gespeichert; in logdir werden die Protokolle verwaltet; in rundir werden die Statusdateien gespeichert und in tmpldir werden die HTML-Vorlagen gespeichert. Ändere das htmldir von /var/cache/munin/www in dein Webverzeichnis – hier /var/www/munin. Suchen schließlich nach dem ersten Host-Baum [localhost.localdomain]. Dies ist der Name, der in der Munin-Web-Oberfläche angezeigt wird. Ändere den Namen in einen Namen, der den Munin-Master eindeutig identifiziert, z. B. den Hostnamen des Servers:

# Example configuration file for Munin, generated by 'make build'

# The next three variables specifies where the location of the RRD
# databases, the HTML output, logs and the lock/pid files.  They all
# must be writable by the user running munin-cron.  They are all
# defaulted to the values you see here.
#
dbdir   /var/lib/munin
htmldir /var/www/munin
logdir  /var/log/munin
rundir  /var/run/munin

# Where to look for the HTML templates
#
tmpldir /etc/munin/templates

# Where to look for the static www files
#
#staticdir /etc/munin/static

# temporary cgi files are here. note that it has to be writable by
# the cgi user (usually nobody or httpd).
#
# cgitmpdir /var/lib/munin/cgi-tmp

# (Exactly one) directory to include all files from.
includedir /etc/munin/munin-conf.d

[. . .]

# a simple host tree
['DeinServerName']
    address 127.0.0.1
    use_node_name yes

[. . .]

Das ist alles für die Konfigurationsdatei, also speichere und schließe sie. Da das htmldir nicht existiert, müssen wir es erstellen und mit chown versehen, damit es dem Systembenutzer munin gehört:

sudo mkdir /var/www/munin
sudo chown munin:munin /var/www/munin

Im Verzeichnis /etc/munin ändern wir auch die Apache-Konfigurationsdatei apache24.conf von Munin. Sie ist sym-linked mit /etc/apache2/conf-enabled/munin.conf, die wiederum mit /etc/apache2/conf-available/munin.conf verknüpft ist. Um sie zu ändern, öffne sie mit nano:

sudo nano apache24.conf

Ändere in der Datei die Pfade so, dass sie den htmldir widerspiegeln, den du in der munin.conf angegeben und zuvor erstellt hast. Kommentiere in den beiden Verzeichnis-Abschnitten die Zeilen aus und füge zwei neue ein, so dass die Datei basierend auf dem hier verwendeten Verzeichnispfad wie folgt lautet:

# Munin configuration for apache2
#
# Apache can serve munin's files that are either statically generated
# (in a cron job) or generated on demand (via cgi).
# The relevant munin settings are "html_strategy" and "graph_strategy".
# The related apache settings can be adjusted at the end of this file.
#
# See /usr/share/doc/munin/README.Debian for details.


# ***** COMMON SETTINGS FOR ALL STRATEGIES *****

ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph
Alias /munin/static/ /var/www/munin/static/

<Directory /var/www/munin>
#   Require local
    Options None

    Require all granted
    Options FollowSymLinks SymLinksIfOwnerMatch

</Directory>

<Directory /usr/lib/munin/cgi>
#   Require local

   Require all granted
   Options FollowSymLinks SymLinksIfOwnerMatch

    <IfModule mod_fcgid.c>
        SetHandler fcgid-script
    </IfModule>
    <IfModule !mod_fcgid.c>
        SetHandler cgi-script
    </IfModule>
</Directory>


# ***** SETTINGS FOR CGI/CRON STRATEGIES *****

# pick _one_ of the following lines depending on your "html_strategy"
# html_strategy: cron (default)
Alias /munin /var/www/munin
# html_strategy: cgi (requires the apache module "cgid" or "fcgid")
#ScriptAlias /munin /usr/lib/munin/cgi/munin-cgi-html

Speichere und schließe die Datei. Starte dann Apache und Munin neu:

sudo service apache2 restart
sudo service munin-node restart

Jetzt kannst du auf die Weboberfläche von Munin zugreifen, indem du /munin an die IP-Adresse des Servers oder die auf dem Server gehostete Domain anhängst:

Tipp-Animation mit Types.js

Typed.js ist eine JavaScript Bibliothek, die selbsttätig tippt. Gebe eine beliebige Zeichenfolge ein und siehe zu, wie sie mit der von dir festgelegten Geschwindigkeit eingegeben wird, die getippten Zeichen mit einer anderen Geschwindigkeit gelöscht und weitere Worte geschrieben werden.

Ich verwende die gehostete CDN-Version (Content Delivery Network) der JavaScript Bibliothek:

<script src="https://cdn.jsdelivr.net/npm/typed.js@2.0.12"></script>

Füge folgenden Code vor den </body>-Tag deiner Seite ein:

<script src="https://cdn.jsdelivr.net/npm/typed.js@2.0.12"></script>

    <script>
    	var typed4 = new Typed('.typed-text', {
        strings: ['WordPress.', 'Sandboxxx.de.', 'Let\'s do it.'],
        typeSpeed: 125,
        backSpeed: 85,
        backDelay: 1800,
        startDelay: 1200,
        loop: true,
        showCursor: false,
        cursorChar: '|',
        attr: null,
      });
    </script> 

Das Skript wendet die Animation auf die hier genannte CSS-Klasse ‚.typed-text‘ an. Den Namen kannst du frei wählen, sollte natürlich hier, in deinem HTML und Stylesheet übereinstimmen. Wenn du statt einer Klasse lieber eine ID vergeben möchtest, muss hier die Syntax ‚#typed-text‘ lauten.

Unter ’strings‘ erfasst du die Zeichenfolgen, die erscheinen sollen. ‚Speed‘ und ‚delay‘ steuern das Zeitverhalten der Animation in Millisekunden: kleine Werte für schnell, hohe Werte für langsam. Den Cursor schalten wir an dieser Stelle aus – diesen fügen wir per CSS ein:

<style>
/* add custom cursor */
.typed-text::after {
   content: "|";
   display: inline;
   animation: blink 1s infinite;
}

/* custom cursor animation */
@keyframes blink {
   0% {
      opacity: 1;
      }
   50% {
      opacity: 0;
      }
   100% {
      opacity: 1;
      }
   }
</style>

Diese style-Attribute ergänzen dein Stylesheet um den Cursor und dessen Animation.

Weiter Details und Optionen – z. B. für eine zufällige Wiedergabe der Zeichenfolgen etc. -findet ihr auf der Entwicklerseite von Matt Boldt.

Nützliche OCC-Befehle

OCC ist die Befehlszeilenschnittstelle von Nextcloud. Ach ohne SSH-Zugriff auf den euren Server lassen sich OCC-Befehle über das normale Webinterface ausführen, wenn die die App OCC in eurer Nextcloud aktiviert.

Diese App solltet ihr aber auf die Benutzergruppe der Administratoren beschränken. Mit der Konsole lassen sich einige Arbeiten bequem erledigen:

Extern, z. B. via FTP zugeladene Dateien der Datenbank bekannt machen:

occ files:scan --all

Wenn du nur die Dateien von einem bestimmten Nutzer scannen möchtest, gehe wie folgt vor:

occ files:scan BENUTZERNAME

Wichtig ist hier die korrekte Schreibweise des Nutzernamens. Verwende ihn exakt so, wie er in der Benutzerverwaltung im Administrator Account in der Spalte „Benutzername“ abzulesen ist.

Posts navigation

1 2
Scroll to top