ANLEITUNG

ANLEITUNG für Ihre sichere Cloudlösung

Der Windows-Server

Als ersten Schritt, zu einer sicheren Cloudlösung, installieren Sie den Server.

Nach der Installation des Servers unter Windows stellen Sie bitte sicher, dass die App automatisch mit Windows zusammen gestartet wird. Wie das genau eingestellt wird, hängt von Ihrer Windows-Version ab.

Folgende Einstellungen müssen ebenfalls durchgeführt werden:

  • Der Listen-Port des Servers muss aus dem Internet erreichbar sein: Die Windows Firewall sollte beim ersten Start des Server automatisch nachfragen, ob Sie eingehende Verbindungen zulassen. Bestätigen Sie das.

  • Zusätzlich muss der Router, der Ihr lokales Netz mit dem Internet verbindet, so konfiguriert sein, dass er den Listen-Port an den Server weiterleitet („Port Forwarding“). Dies kann auf 2 Arten geschehen:

    • Sie nutzen unseren „Relais-Service„: Dabei werden alle Pakete zwischen dem Server und den Clients verschlüsselt über unseren Server geleitet. Sie brauchen dann Ihren Router nicht anpassen. Da die Pakete verschlüsselt sind, haben auch wir keinen Einblick in Ihre Daten, unser Relais-Service leitet lediglich die Pakete durch, genau wie allen anderen Server, die Ihre Pakete im Internet transportieren. Diese Funktion steht für die Lizenzen „Frei“ und „Personal Plus“ zur Verfügung.
      Um den Relais-Service zu aktivieren, setzen Sie den Schalter „ActivateRelayService“ in der Server-Konfiguration auf „true“.
      Bitte beachten: Wenn alle Clients den Relais-Service benutzen, wird der DNS-Service nicht benötigt.
    • Sie konfigurieren Ihren Router derart, dass er eingehende Pakete an Ihren Server weiterleitet, siehe unten unter „Server Listen Port„.
  • Die Server-Applikation braucht volle Schreib- und Lese-Rechte für das Verzeichnis zur Verwaltung der internen Daten (dieses wird automatisch unter „%localappdata%“ installiert) sowie die Projektverzeichnisse einschließlich aller Unterverzeichnisse.

  • Nur Windows-Server erlauben einen unbegrenzten parallelen Zugriff von außen. Desktop-Versionen (z.B. Windows 7, 8, 10) beschränken den Zugriff i.d.R. auf 5 gleichzeitige aktive Benutzer.

Die Server-Applikation wird beim Start automatisch zu einem Icon im Tray-Bereich (dort, wo auch die Uhrzeit zu sehen ist), es wird kein eigenständiges Fenster geöffnet. Es gibt ein Pop-Up Menü für das Icon, mit dem Sie die Log-Ausgaben anschauen oder den Server neu starten können (z.B. nach einer Änderung der Konfiguration).

Erreichbarkeit aus dem Internet

Damit der Server von allen Clients aus dem Internet erreichbar ist, braucht es entweder eine feste IP-Adresse oder einen festen Server-Namen. Die meisten Internet-Anschlüsse für den Heimbedarf bieten aber nur dynamische IP-Adressen, die sich spätestens nach 24 Stunden ändern. Der Server wäre also nicht mehr erreichbar. Auch hier haben Sie zwei Möglichkeiten, um diese Klippe zu umschiffen:

  • Sie nutzen unseren DNS-Service. Dadurch hinterlegt Ihr Server periodisch seine aktuelle IP-Adresse in unserer Datenbank. Der Client fragt dann zunächst die IP-Adresse bei unserem Server nach und verbindet sich dann mit der korrekten IP-Adresse. Dieser Dienst wird nicht benötigt, wenn Sie den „Relais-Service (siehe oben) nutzen.
    Um den DNS-Service zu aktivieren, setzen Sie den Schalter „ActivateDNSService“ in der Server-Konfiguration auf „true“.
  • Sie richten bei einem externen Dienstleister eine dynamische Weiterleitung ein. Im Prinzip funktioniert das genauso wie bei unserem DNS-Service, Sie nutzen lediglich einen anderen Dienstleister. Diese erhalten Sie kostenfrei zum Beispiel bei https://www.noip.com/free  oder bei anderen Anbietern. Die meisten Anbieter lassen sich direkt in Ihrem Router, in der Regel unter der Einstellung „DynDNS“, einrichten.

Server Listen-Port

Dieser Abschnitt ist nur zutreffend, wenn Sie unseren Relais-Service nicht nutzen wollen!

Die Server-Applikation wird von allem Clients unter dem sogenannten „Listen-Port“ angesprochen. Dies ist ein Port, der vom Internet aus erreichbar sein muss. Sie müssen daher Ihren Router bzw. die externen Firewalls so einrichten, dass dieser Port in Ihrem Heimnetz auf die Maschine weitergeleitet wird, auf der die Server-Applikation läuft. Server und Client handeln dann beim Verbindungsaufbau einen freien Port aus, unter dem die Kommunikation ablaufen kann.

Der Listen-Port muss ein Port sein, der auf Ihrem Server (dem PC) bisher nicht benutzt wird. Einige Ports sind standardmäßig vergeben, z.B. Port 80 für Webserver. Im Setup des Servers findet sich ein Button, der automatisch nach einem freien Port sucht. Dabei beginnt er bei Port 50.000. Sie können aber auch jeden anderen Port verwenden, von dem Sie sicher sind, dass er nicht verwendet wird.

Der Raspberry Pi-Server

Einfach – schnell und sicher! Das ist der Grundsatz, der uns bei Just a simple cloud antreibt. Daher wollen wir es Ihnen so einfach wie möglich machen, Ihre eigene Cloud zu betreiben und Ihre Daten sicher vor dem Zugriff durch Dritte zu schützen!

Sie haben die Möglichkeit, entweder einen fertig konfigurierten Raspberry Pi bei uns zu erwerben oder sich Ihren eigenen Raspberry Pi zu installieren.

Detaillierte Anleitungen, wie der Raspberry Pi konfiguriert wird, finden Sie im Download-Bereich. Sie können entweder fertig vorbereitete Images mit ein paar Handgriffen auf die Speicherkarte flashen oder unsere Software auf einen Pi selber installieren.

Grundsätzlich gilt für den Raspberry Pi-Server die gleiche Vorgehensweise wie für den Windows-Server. Da ein Raspberry Pi-Server jedoch in der Regel an einem Internet-Router betrieben wird, empfehlen wir die Verwendung des „Relais-Service“. Dieser steht Ihnen in den Lizenzen „Frei“ und „Personal Plus“ zur Verfügung.

Auf dem Raspberry Pi entfallen die Einschränkungen für Schreib-Rechte in den entsprechenden Verzeichnissen. Der Server-Dienst ist bereits so konfiguriert, dass die entsprechenden Rechte vorhanden sind.

Der Windows-Client

Nach der Installation des Clients unter Windows stellen Sie bitte sicher, dass die App automatisch mit Windows zusammen gestartet wird. Wie das genau eingestellt wird, hängt von Ihrer Windows-Version ab. Jeder Client scannt periodisch den Inhalt des Projekt-Verzeichnisses und vergleicht ihn mit dem Server. Änderungen an Dateien werden automatisch zwischen Client und Server aktualisiert.

Die Client-Applikation wird beim Start automatisch zu einem Icon im Tray-Bereich (dort, wo auch die Uhrzeit zu sehen ist), es wird kein eigenständiges Fenster geöffnet. Es gibt ein Pop-Up Menu für das Icon, mit dem Sie die Log-Ausgaben anschauen können, Ihr Benutzer-Passwort ändern oder die Kommunikation mit dem Server testen können („Ping“).

Um den DNS-Service zu aktivieren, tragen Sie in der Client-Konfiguration als „ServerAddress“ folgendes ein: „[MaschinenKennung].just-a-simple-cloud.com“ (ersetzen Sie dabei „[MaschinenKennung]“ durch die Kennung Ihres Servers). Der Wert für „ServerListenPort“ wird nicht verwendet und kann auf „0“ gesetzt werden.

Wenn Sie den Relay-Service nutzen wollen, setzen Sie in der Konfiguration den Wert „ActivateRelayService“ auf „true“ und tragen bei „RelayServiceIdentifier“ die Maschinen-Kennung Ihres Servers ein.

Diese Beschreibung bezieht sich ausschließlich auf den Windows-Client. Für die mobilen Clients siehe: Google Play-Store / Apple App-Store.

Konfiguration der Windows-Apps

Server und Client werden vollständig über eine XML Konfigurations-Datei parametriert. Diese Dateien werden während des Setups bereits erzeugt und entsprechend konfiguriert. In den XML-Dateien sind Kommentare vorhanden, die Ihnen die Bedeutung der einzelnen Parameter erklären.

Die XML-Dateien sind unterteilt in einen „Allgemeinen“ und einen „Projekt“ Abschnitt. Der „Allgemeine“ Teil muss in jeder Konfiguration vorhanden sein. Der „Projekt“ Teil wird jeweils einzeln für jedes Projekt benötigt. Bitte beachten Sie, dass die Parameter indiziert sind. Wenn Sie Abschnitte hinzufügen, erhöhen Sie den Index des neuen Abschnittes entsprechend.

Eine typische Server Konfigurations-Datei sieht wie folgt aus (die Kommentare sind hier zur besseren Lesbarkeit entfernt):

Die Android App

Das Betriebssystem Android verwaltet die Lebenszyklen aller Apps im Hintergrund. Falls die Ressourcen von Android (z.B. der Speicher) knapp werden, entscheidet das Betriebssystem, welche Apps beendet werden. Eine App hat darauf zunächst keinen Einfluss. Auch die „Just a simple cloud“-App wird daher bei Bedarf durch das Betriebssystem beendet. Damit die Synchronisation im Hintergrund weiterlaufen kann, muss die „Just a simple cloud“-App auf die sogenannten „Whitelist“ gesetzt werden. Apps auf dieser Liste dürfen auch bei begrenzten Ressourcen weiterlaufen. Dazu wird die Berechtigung „REQUEST_IGNORE_BATTERY_OPTIMIZATIONS“ benötigt, die beim ersten Start der App automatisch beantragt wird. „Just a simple cloud“ versucht dann selbstständig, sich auf die Whitelist einzutragen. Da jedoch jeder Hersteller von Smartphones das Betriebssystem anpasst, gibt es dafür kein absolut verlässliches Verfahren. Prüfen Sie daher nach der Installation, ob „Just a simple cloud“ wirklich auf der Whitelist eingetragen ist.

Rufen Sie die Einstellungen von Anroid auf und navigieren Sie dann zu der „Akku-Optimierung“. Dort muss „Just a simple cloud“ als „nicht optimiert“ eingetragen sein!

Wozu werden die Berechtigungen benötigt?

Jede Android-App beantragt beim Betriebssystem unterschiedliche Berechtigungen, um auf kritische Funktionen zugreifen zu können. Grundsätzlich sollten diese Berechtigungen so restriktiv wie möglich gehalten werden. So darf beispielsweise „Just a simple cloud“ nicht auf Ihre Kontakte zugreifen. Die folgenden Berechtigungen werden für eine korrekte Funktion der App benötigt:

  • INTERNET: Zugriff über das Internet auf den Projekt-Server

  • RECEIVE_BOOT_COMPLETED: automatischer Start der App im Hintergrund, wenn das Handy neu gestartet wurde

  • READ_PHONE_STATE: Prüfung, ob eine hinreichend schnelle Internet-Verbindung besteht

  • WRITE_EXTERNAL_STORAGE: Zugriff auf Speicher, um das Projektverzeichnis dort abzulegen

  • READ_EXTERNAL_STORAGE: Zugriff auf Speicher, um von dort das Projektverzeichnis zu lesen

  • REQUEST_IGNORE_BATTERY_OPTIMIZATIONS: De-Aktivierung des Power-Management, damit die App auch im Standby Synchronisationen durchführen kann (siehe oben)