Redundancy 2 - leichtgewichtiges Cloud Computing auf dem Raspberry Pi

  • Hallo zusammen,


    ich möchte euch an dieser Stelle das Projekt "Redundancy" vorstellen:


    Was ist Redundancy*?


    Redundancy ist eine freie Software zur Erstellung eines Cloud-Computing Servers nach dem KISS - Prinzip ("keep it simple and stable"). Dabei konzentriert sich das Projekt wirklich nur auf den Kern eines Cloud-Computing Programms und bringt im Standardumfang keine Features mit, die damit nichts zutun haben. Das Programm lässt sich einfach mittels einer zentralen Konfigurationsdatei administrieren. Ein weiteres Ziel ist es, eine einfache Möglichkeit zu bieten, z. B. auf Kleinstrechnern wie dem Raspberry Pi eine solche Funktionalität anbieten zu können. Natürlich könnte man bereits bekannte Systeme nutzen, jedoch läuft man dabei Gefahr, viele Features dabei zu haben, die man in der Praxis selten oder nie wirklich benötigt. Resultat: Es läd' Jahre.


    Redundancy wird daher im Standard - Umfang auch keinen eigenen Newsreader, Medienabspieler1, Mikrowellenherd etc. besitzen. Es ist jedoch möglich, dass diese über Plug - Ins nachgereicht werden können (der Mikrowellenherd bleibt jedoch Utopie).


    Beim Projekt selbst handelt es sich um ein Projekt frei nach dem Motto "Just for Fun", ich entwickle es einfach aus dem Spaß an der Programmierung und weil ich dieses Themengebiet recht interessant finde.


    Welche Features bring Redundancy schon mit?


    Redundancy ist mittlerweile fast soweit, dass es getestet werden kann. Es bringt derzeit die von einem solchem Programm erwarteten Features mit, wie Dateien hochladen, Verzeichnisse, Verschieben/Kopieren/Umbenennen/Löschen. Auch bietet Redundancy folgende Features:

    • Dateien und Ordner für andere Benutzer freigeben**
    • Verzeichnisse als *.zip - Datei herunterladen**
    • Alle Benutzerdaten als *.zip - Datei herunterladen**
    • Erstellen von Snapshots, falls man eine Instanz z. B. umziehen möchte (oder zur Sicherheit zum Wiederherstellen)
    • Wartungsmodus
    • Jeder User kann ein unterschiedliches Kontingent besitzen
    • Es gibt unterschiedliche Berechtigungsstufen (User, Admin, Gast)
    • Passwortmanagement (Passwort vergessen - Funktion, Neues Passwort setzen)
    • Mehrdesign - Support


    Welche Features sind geplant?


    • Administrationskonsole mit 1.9.9 implementiert.
    • Installer mit 1.9.10 implementiert.
    • Vorschläge? Her damit!
    • Allgemeine Verbesserung des Benutzerinterfaces mit 1.9.10 hat Redundancy ein "responsive Webdesign", welches sich dank Bootstrap an die jeweilige Displaygröße anpasst.
    • Allgemeine Verbesserung des Dateisystems
    • API (ist bereits in Arbeit)
    • Plugin - System (ist bereits in Arbeit)


    Genutzte Programmiersprache(n) bzw. Technologien:

    • PHP
    • JavaScript
    • MySQL(i)


    Wo kann ich mir ein Bild von der Sache machen?


    Ich hätte an dieser Stelle natürlich einige nichts aussagenede Screenshots einbetten können. Ich habe stattdessen unter der unten genannten Adresse eine Demoinstanz eingerichtet. Diese könnt Ihr mit den unten genannten Benutzerdaten testen.


    Redundancy kann momentan schon getestet werden. Unter https://redundancy.pfweb.eu/Demo/ befindet sich die neuste Demoinstanz.


    Die Benutzerdaten (User/PW) lauten


    testuser
    vbptest2013


    Der Zugang ist schreibgeschützt. Bemerkung: Es sind noch nicht alle Weiterleitungen in dem ReadOnly - Modus integriert.


    Wo kann ich helfen?


    Tester gesucht!


    Ich suche des Weiteren Betatester für die demnächst anstehenden Tests des Dateisystems und des gesamten Projekts. Wenn du dich für einen Betatest interessierst, musst du folgende Bedindungen erfüllen:

    • GitHub - Account (für das Berichten der Bugs und Vorschläge)
    • Etwas Zeit.
    • Bei Interesse einfach hier melden :)


    Außerdem suchen wir Übersetzer!


    Da es sich um ein unendgeltliches Open Source - Projekt handelt, werden die Tester in den Programmcredits genannt (wenn gewünscht, sofern das Projekt über dieses Stadium überhaupt hinaus kommt).
    Wenn du Interesse haben solltest, bitte einfach hier melden. Für diejenigen, die keinen eigenen Server haben, habe ich Testaccounts eingerichtet.


    Es sind noch 2 von 10 Testaccounts verfügbar.



    Für Experimentierfreudige besteht die Möglichkeit, sich selbst einen Redundancy - Server einzurichten. Die Dateien befinden sich im GitHub - Repository. Ich werde demnächst die Installationsanleitung aktualisieren, da diese 2 Commits zurück liegt. Bemerkung: Redundancy's Grundfunktionalitäten (Dateimanagement, Ordnerverwaltung etc.) sind derzeit schon vollständig integriert. Es müssen lediglich noch weitere Tests, vor allem für das Datesystem durchgeführt werden. Des Weiteren werden noch zusätzliche Extras in das Programm nachgereicht.


    Was setzt Redundancy für die Installation voraus?


    Redundancy setzt folgendes voraus:


    - HTTP - Webserver (sollte mit allen funktionieren)
    - PHP 5.3 oder höher
    - PHP GD + PHP Zip Module sind empfohlen
    - MySQL(i) oder MariaDB


    Ich habe auf meinem Model B Raspberry (256 MB) zum Testen eine Redundancy - Instanz am laufen. Und es läuft einwandfrei :).


    :geek:Aber Achtung: Redundancy's "Dateisystem" ist bei weitem noch nicht fertig. Die Möglichkeit besteht, dass Daten noch mitunter durch bestimmte Konstellationen verloren gehen könnten.


    Redundancy beziehen


    Redundancy lässt sich direkt aus dem GitHub - Repository beziehen. Die Adresse lautet


    https://github.com/squarerootfury/redundancy


    Im Wiki sind alle wichtigen Dinge zur Installation etc. aufgeführt


    https://github.com/squarerootfury/redundancy/wiki/_pages



    Unter welcher Lizenz steht Redundancy?


    Redundancy steht derzeit unter der GNU GPL v3.


    :danke_ATDE: Ich freue mich über jegliche konstruktive Kritik oder auch ein Sternchen auf GitHub ;).


    Wenn dir Redundancy gefällt kannst du ja auch den Thread bewerten ;).


    _____________________________________________________________________________


    Fußnoten


    * Der Name "Redundancy" resultierte daraus, dass das Projekt ursprünglich als eine Art Redundanzspeicher für meine Schulpräsentationen diente. Ich habe den Namen vorerst beibehalten, auch wenn er, wenn man ihn korrekt übersetzt, möglicherweise missverstanden werden kann. Wer einen Vorschlag für einen Namen hat, kann ihn gerne äußern. Danke. Auch das Design befindet sich noch im Aufbau. Aber auch Vorschläge hierzu sind gern gesehen.
    ** PHP - Zip - Erweiterung notwendig.
    1: Redundancy hat inzwischen einen Medienabspieler erhalten, jedoch funktioniert dieser clientseitig (HTML5) und nicht serverseitig.

  • der zugang funzt nicht auf der demo seite

  • So,


    das Problem ist wieder behoben.


    Es lag daran, dass sich jemand mehrfach mit falschen fehlerbehaftetem Password angemeldet hat (sry hatte leider ein " " zu viel am Ende des Passworts), wodurch Redundancy den Account nach dem 5. Fehlversuch gesperrt hat. Account ist wieder entsperrt.


    Gruß
    Fury

  • Als Erstes musst du die Registrierung aktivieren. Das geht, indem du
    "Enable_register = 0;" in "Enable_register = 1;" änderst. Dann kannst du dir deinen Benutzeraccount anlegen.


    (Wenn du deinen Acount erstellt hast, solltest du die Registrierung wieder deaktivieren ;))


    Anschließend musst du in deiner Datebank in der Tabelle Users deine Rolle von "1" auf "0" setzen (ohne ""). Dort kannst du auch dein Kontingent (in Megabyte!) setzen, falls nötig.


    Leider ist das derzeit noch recht umständlich. Ich arbeite derzeit aber an Konfigurationsdialogen, mit dem diese Tätigkeiten einfacher gehandelt werden können. Diese kommen vorraussichtlich mit der nächsten Version.


    Gruß
    Fury

  • Sieht gut aus, macht einen guten Eindruck und ist definitiv interessant.
    Wenn das ganze lauffähig ist würde ich es definitiv einsetzen bin mit Owncloud nicht so zufrieden und Redundancy sieht gut aus.

  • :danke_ATDE: für das Lob!


    Nur mal so zum Überblick:


    Redundancy ist gerade im Nightly (Alpha) Status. Ich denke, dass ich Ende dieser Woche Redundancy 1.9.9 freigeben werde. Mit der darauf folgenden Version, 1.9.10-beta1 werden wahrscheinlich keine neuen Features mehr integriert (Vorschläge aber immernoch gern gesehen :)). Wie der Name schon erahnen lässt, wird Redundancy mit der Version 1.9.10 das Betastadium erreichen und ich werde mich dann primär um Dinge wie
    - Fehlerbeseitigung
    - Sicherheit
    - Datenintegrität
    kümmern. Wenn alles so läuft wie geplant, wird voraussichtlich im November mit Redundancy 1.9.11-beta2 eine "nutzbare" Version von Redundancy erscheinen. Danach werden mehrere Beta - Versionen folgen, bis Redundancy 2 final erscheinen wird. Wann das sein wird, kann ich noch nicht sagen, da Redundancy ja nur ein Freizeitprojekt ist.


    Gruß
    Fury

  • Hallo Fury,


    ein tolles Projekt. Ich würde mich als Tester, ab Anfang Oktober beteiligen, da ich momentan an meiner Bachelorarbeit sitz und wenig Zeit habe. Wenn dine Software noch im Cluster-Betrieb funktioniert, dann wäre das eine vollwertige Cloud. Ich kann mich nur wiederholen, ein echt tolles Projekt, was du da hast Respekt.:thumbs1::bravo2:

  • Sieht auf jeden Fall sehr interessant aus.


    Ich habe momentan jedoch sehr wenig Zeit um es zu testen, aber interessantes Projekt.


    Ich hatte nur Probleme die Demoseite mit dem Browser Midoro zu öffnen, mit dem Firefox ging es ohne Probleme ;) Nur als kleine Bemerkung.


    Ansonsten sehr gut.


    Gruß,
    Nesc

  • Hallo zusammen,


    der_Waelder:


    Danke für dein Lob, ich habe dir mal einen Testaccount "reserviert". Melde dich einfach wieder wenn du zeit fürs Testen hast. Wie meinst du das denn mit dem clustern? Soll Redundancy lediglich die Daten auf mehrere Server verteilen können oder sollen die Daten "gespiegelt" gespeichert werden, wie auf einem Raid?


    nesc:


    Midori ist so ne Sache. Generell soll der ja Javascript unterstützen (auf das Redundancy inzwischen verbreitet setzt), aber in der Praxis sieht das anders aus. Vielleicht werde ich hierfür einen Fallback - Mode integrieren. Aber auf jeden Fall Danke für den Hinweis.


    Gruß
    Fury

  • Bisher hatte ich auch bisher eher selten Probleme mit Midori, komischerweise ;)


    Es würde ja zu nächst genügen, wenn in einem solchen Fall einfach eine Meldung geschrieben wird.


    Genaues Problem war: ich konnte die Demo Seite gar nicht erst öffnen, da kam einfach der Inhalt der php (?) Datei als Text an sich auf den Bildschirm.
    Ich kann gerne aus Kompatibilitätsgründen morgen mal ein paar Einstellungen und Versionen durchgehen ;)


    Gruß,
    Nesc

  • Könntest du mir mal nen Screenshot zeigen?


    Edit: Konnte den Fehler replizieren. Was ähnliches Tritt auch mit dem IE auf.
    Edit 2: Es scheint wohl eine Mischung aus Serverproblem und möglichem Bug zu sein. Ich bin aber auf jeden Fall an einer Problemlösung.
    Edit 3: Midori läuft soweit wieder. Grund: Es war ein Absatz am Beginn des Dokuments. IE frisst weiter Kleber, der geht noch nicht.
    Edit 4:Sowohl der Bug bei Internet Explorer als auch der bei Midori wurden behoben. :D Kleinere Schönheitskorrekturen folgen aber noch.




    Gruß
    Fury