Mit ArkOS Daten in die eigene Cloud schieben

Aus LinuxUser 05/2014

Mit ArkOS Daten in die eigene Cloud schieben

© santje09, 123RF

Volle Kontrolle

Wer seine Daten in der eigenen Cloud hostet, hat jederzeit Zugriff darauf – und trotzdem die volle Kontrolle. ArkOS hilft dabei.

Viele Menschen wollen oder müssen heute Daten jederzeit bereitstellen und oft zusätzlich unterschiedliche Quellen synchron halten. Die in den letzten Jahren überall aus dem Boden sprießenden Cloud-Dienste erscheinen ideal für diesen Zweck. Jedoch geben Sie damit die Daten aus der Hand, was angesichts der nicht enden wollenden Enthüllungen über die Praktiken internationaler Geheimdienste nicht ratsam erscheint. Wenn die NSA, wie kürzlich enthüllt, bereits gefälschte Facebook-Server ins Netz stellt, um ihre Tools zur Spionage zu verbreiten, kommt die Plattform Citizenweb [1] des Entwicklers Jacob Cook genau zur rechten Zeit. Und damit rückt auch das seit etwas über einem Jahr entwickelte ArkOS [2] als privates Cloud-Server-Projekt auf dem Raspberry Pi ins Rampenlicht.

ArkOS ermöglicht als freie Software, Daten unter eigener Kontrolle auf einer minimalen und sehr mobilen Plattform ständig und überall bereitzuhaben. Die Grundlage bildet ein Image von Arch Linux für die ARM-Plattform [3], also die Architektur des Raspberry Pi. Als Open-Source-Projekt will ArkOS Anwendern ermöglichen, ohne viel Lernaufwand und Linux-Vorbildung Server-Dienste abgesichert in Eigenregie anzubieten. Das dürfen Webseiten, Blogs, Online-Speicher (mittels Owncloud) oder ein Mailserver sein.

Der Entwickler hat die Distribution aus besonders schlanken Linux-Werkzeugen für den Server-Bereich zusammengestellt, um den Begrenzungen des Raspberry Pi Rechnung zu tragen. ArkOS verfügt über ein eigenes Repository, über das es Aktualisierungen etwas behutsamer vornimmt, als das gemeinhin bei Arch Linux der Fall ist. Dies geschieht mit dem Anspruch, das Administrieren so leicht wie möglich zu gestalten. Der Ruf von Arch Linux, nur etwas für erfahrene Anwender zu sein, trifft hier also nur sehr bedingt zu, und sollte Sie nicht davon abhalten, das System zu testen. Erfahrenen Linuxern steht trotzdem das gesamte Arsenal an Werkzeugen und Befehlen zur Verfügung, das ein Linux-System zu bieten hat.

ArkOS untersteht der GPL [4], der Quellcode liegt auf GitHub bereit. Dort findet sich auch der Bugtracker zum Melden von Fehlern [5]. Das modular aufgebaute System besteht aus der Distribution selbst und dem in der Programmiersprache Python erstellten Web-Frontend Genesis, das seine Funktionalität über Plugins erhält. Genesis vereint unter einer Oberfläche die Administration des Systems sowie das Verwalten der Inhalte. Es steht auch für weitere Distributionen neben denen von ArkOS bereit.

Der Entwickler bezeichnet den derzeitigen Stand des ArkOS-Projekts noch als Alpha, eine erste Beta-Version soll in den nächsten zwei Monaten erscheinen. Im Zug der Tests für diesen Artikel war es uns möglich, gemeinsam mit dem sehr aktiven Entwickler bereits einige Fehler zu beheben.

Die Installation

Es gibt zwei Wege, ArkOS auf den Raspberry Pi zu bekommen: Der Installer überträgt die Daten, grafisch geführt, bootfähig auf eine SD-Karte (siehe Kasten “SD-Kompatibilität”), liegt derzeit aber nur für Linux und Mac OS X vor. Möchten Sie das System von Windows aus einrichten, bleibt nur die manuelle Installation; ein passender Installer ist jedoch bereits in Arbeit.

SD-Kompatibilität

Falls Sie planen, für ArkOS (oder andere RasPi-Projekte) eigens eine neue SD-Karte anzuschaffen, ist es sinnvoll, die Kompatibilitätsliste im Raspberry-Center [6] zu konsultieren: Gerade bei den heute gängigen schnellen Karten für Kameras gibt es viele, die die Zusammenarbeit mit dem RasPi verweigern. Erfahrungsgemäß machen Karten der Klassen 4 und 6 am wenigsten Probleme und kommen zudem günstiger als solche der Klasse 10.

Im ersten Schritt zur grafisch geführten Installation laden Sie den Installer von der Projektseite [7] herunter. Als Nächstes verbinden Sie eine mindestens 8 GByte fassende SD-Karte über einen passenden Reader mit dem Rechner. Dann starten Sie den Installer, der sich im Applikationsmenü der jeweiligen grafischen Oberfläche finden sollte. Alternativ entpacken Sie das Image und starten den Installer mittels ./Installer.py aus dem Ordner mit den entpackten Dateien.

Im weiteren Verlauf fragt die Software ab, welcher Spiegelserver geografisch am nächsten liegt und auf welches Gerät Sie ArkOS installieren möchten. Der Installer bietet alle im Rechner befindlichen Medien wie Festplatten, USB-Sticks und SD-Karten zur Auswahl an. Den korrekten Speicherort, in diesem Fall die SD-Karte, ermitteln Sie am einfachsten über die Größenangabe. Bei der Angabe es Installationsziels ist größte Sorgfalt geboten, denn der Installer verwendet intern das Tool dd, welches das angegebene Medium ohne Rückfrage überschreibt.

Nach dem Bestätigen bezieht der Installer etwa 280 MByte vom Server und installiert das ArkOS auf der angegebenen SD-Card. Nach wenigen Minuten, je nach Rechner und Anbindung ans Netz, meldet der Installer, dass ArkOS installiert ist. Das ist der Moment, um die Karte aus dem Rechner zu entfernen und in den Raspberry Pi einzusetzen.

Manuelle Installation

Die manuelle Installation unter Linux fällt nur unwesentlich aufwendiger aus: In diesem Fall laden Sie das komprimierte Image herunter und entpacken es. Dann verbinden Sie ebenfalls eine SD-Karte mit dem Rechner. In einer Konsole ermitteln Sie mittels fdisk -l mit Root-Rechten den korrekten Bezeichner der SD-Karte. Haben Sie diesen zweifelsfrei festgestellt, kommt wieder das Tool dd zum Einsatz, um das Image manuell auf die SD-Karte zu schreiben. Dazu dient der folgende Befehl, den Sie als normaler Benutzer ausführen:

$ dd if=/home/raspi/arkos-rpi-20140205.img of=/dev/sdc bs=1M

In diesem Fall entspricht /dev/sdc der Ausgabe von fdisk -l für den Bezeichner der SD-Karte. Dabei schreibt dd immer direkt auf das Device und nicht in eine Partition. Bei Bedarf passen Sie den Befehl sowohl in Bezug auf den Speicherort des ISO-Images als auch dessen Namen an. Kurze Zeit nach dem Absetzen des Befehls erscheint wieder ein Prompt, und das Image liegt startbereit auf der SD-Karte.

Diese stecken Sie nun in den Raspberry Pi, der bereits per Ethernet-Kabel mit dem heimischen Netz verbunden sein sollte. Sobald Sie den Minirechner mit der Stromversorgung verbinden, startet das Image, und etwa eine Minute später steht das Web-Interface von ArkOS bereit.

Mac OS X und Windows

Unter Mac OS X ermitteln Sie den Bezeichner der SD-Karte durch Eingabe von diskutil list in einem Terminal. Um die Karte aus dem System auszuhängen, kommt das Kommando diskutil unmountDisk Bezeichner zum Einsatz. Auch OS X kennt das Tool dd, sodass Sie ähnlich wie unter Linux folgenden Befehl nutzen:

$ dd if=/Pfad/zu/arkos-rpi-20140205.img of=/dev/Bezeichner bs=1M

Um unter Windows die Inbetriebnahme möglichst unkompliziert zu halten, empfiehlt es sich, auf ein Programm wie Win32DiskImager [8] zurückzugreifen. In diesem wählen Sie die vorher entpackte ISO-Datei und die SD-Karte aus und schreiben dann das Image auf die Karte. Das weitere Vorgehen unterscheidet sich nicht von jenem unter Linux oder Mac OS X. Zum Administration per Konsole verwenden Sie unter Windows das Programm Putty.

Systemd-Befehle

Falls Sie sich direkt auf dem RasPi anmelden, um ArkOS zu administrieren, gilt es zu beachten, dass das System auf den neuen Init-Mechanismus Systemd setzt. Er unterscheidet sich in Bezug auf den Befehlssatz vom bisher Gewohnten. Um Befehle an einen Dienst abzusetzen, lautet das Schema wie folgt:

# systemctl Operation Dienst

Als Operationen kommen im Wesentlichen start, stop, enable, disable und status zum Einsatz, deren Funktion sich leicht aus dem Namen erschließt. Als nützlich erweist sich auch der Befehl journalctl -b, mit dem Sie das komplette Journal des letzten Boot-Vorgangs unter die Lupe nehmen. Weitere Informationen zu Systemd finden Sie im Systemd-Wiki [9].

Web-Interface Genesis

Nach dem Start des Mini-PCs steht das Genesis-Frontend im Browser eines Rechners im gleichen Netzwerk über die URL http://RasPi-IP:8000 bereit. Die IP-Adresse finden Sie heraus, indem Sie erneut den Installer starten und den Menüpunkt zum Scannen des Netzwerks verwenden. Dieser bietet auch die Möglichkeit, den RasPi oder das Web-Frontend neu zu starten.

Alternativ geben Sie statt der IP-Adresse den Namen des RasPi an. Die Abfrage von Benutzername und Passwort erwartet bei der ersten Anmeldung zwei Mal die Eingabe von admin. Daraufhin erscheint die Oberfläche Genesis, über die Sie interaktiv einen neuen Nutzer und ein neues Passwort anlegen (Abbildung 1).

Abbildung 1: Der erste Kontakt mit der Weboberfläche.

Abbildung 1: Der erste Kontakt mit der Weboberfläche.

Genesis-Module

Bei Genesis handelt es sich um ein modulares, in Python geschriebenes Framework, das mit Plugins interagiert. Diese Codeschnipsel installieren und konfigurieren gemäß Ihrer Angaben Anwendungen. Die unter der Bezeichnung Webapps zusammengefasste Funktion erlaubt das Herunterladen, Installieren und Konfigurieren von Anwendungen wie WordPress, Jekyll, Nginx, MariaDB und Owncloud innerhalb von ArkOS mit nur einem Mausklick.

Das funktioniert anhand vorgefertigter Rezepte, die das Plugin abarbeitet. So legt es etwa die nötigen Datenbanken an, konfiguriert einen Webserver oder nimmt die passenden Einstellungen am Netzwerk vor. Am Ende erhalten Sie einen Link, unter dem Sie die Anwendung individuell zu Ende konfigurieren. Zuvor sollten Sie aber in der nach dem Start eingeblendeten Maske einige grundlegende Einstellungen vornehmen, die Dinge wie Hostnamen und Zeitzonen betreffen (Abbildung 2).

Abbildung 2: Die generellen Einstellungen von ArkOS.

Abbildung 2: Die generellen Einstellungen von ArkOS.

Ändern Sie hier den voreingestellten Hostnamen arkos ab, kommt die neue Bezeichnung beim erneuten Einwählen in das Web-Frontend zum Einsatz. In der gleichen Maske geben Sie gegebenenfalls den noch nicht belegten Teil der SD-Karte für ArkOS frei. Weitere generelle Einstellungen finden sich unter dem ersten der drei Icons oben rechts. Hier nehmen Sie unter anderem grundlegende Einstellungen zum Secure Sockets Layer (SSL) vor (der eigentlich Transport Layer Security (TLS) heißt [10]). Er ermöglicht es, sich per HTTPS mit Genesis zu verbinden.

Dazu benötigen Sie ein Zertifikat oder einen entsprechenden Schlüssel. Diese Einstellung ist sehr zu empfehlen, wenn Sie ArkOS außerhalb des heimischen LAN betreiben oder unterwegs an ein ungesichertes WLAN hängen. Der Menüpunkt erlaubt auch das Erstellen und Handhaben eigener oder von Dritten erworbener Zertifikate. Das Häkchen bei Authorisation sollten Sie nur abklicken, wenn Sie zu Testzwecken kurzfristig einem anonymen Benutzer Zugang zu Genesis gewähren möchten. Ansonsten lassen Sie aus Gründen der Sicherheit tunlichst diesen Haken immer gesetzt.

Unter dem gleichen Menüpunkt finden Sie die Parameter für den Zugang zum Netzwerk, eine Möglichkeit zum Nachinstallieren weiterer Applikationen sowie den Punkt Recovery, unter dem Sie System-Backups anlegen und wieder einspielen. Das mittlere Symbol oben rechts dient der Verwaltung der Nutzer, das rechte Icon ermöglicht eine Aktualisierung oder den Neustart des Systems.

Die unter Genesis verfügbaren Module teilen sich auf der linken Seite von oben nach unten betrachtet in die Kategorien System Monitor, Servers und System ein. Nach der Installation befinden sich unter den einzelnen Modulen kaum Inhalte. Wegen der begrenzten Systemressourcen empfiehlt es sich, auch nur das zu installieren, was Sie wirklich brauchen.

Jetzt ist es an der Zeit, benötigte Plugins [11] und Widgets zu installieren (Abbildung 3). Unter Plugins versteht Genesis die Applikationen und Werkzeuge. Widgets dienen dagegen dazu, Daten zu CPU, Speicher und anderen Systemressourcen anzuzeigen. Spätestens nach diesem Schritt sollten Sie den Rechner neu starten, um alle Änderungen zu initialisieren.

Abbildung 3: Maske zum Installieren der Plugins.

Abbildung 3: Maske zum Installieren der Plugins.

Administration

Unter dem Punkt System Monitor versammeln sich Widgets zum Überwachen der Hard- und Software. Dazu zählen unter anderem Monitore für CPU, Festplatten, Hauptspeicher, die Systemlast, das Netzwerk und Alarme (Abbildung 4). Diese installieren Sie über die Schaltfläche Add Widgets oben in der Toolbar des System Monitor. Über die ebenfalls am oberen Rand angesiedelte Funktion Alerts definieren Sie Grenzwerte für die zuvor installierten Widgets. Bei deren Überschreiten schlagen die Kontrollmonitore Alarm.

Abbildung 4: Der <code srcset=

System-Monitor gibt Aufschluss über den Zustand des Systems, zeigt auf Wunsch aber auch News an.” width=”209″ height=”300″ /> Abbildung 4: Der System-Monitor gibt Aufschluss über den Zustand des Systems, zeigt auf Wunsch aber auch News an.

In der Rubrik Servers steht neben Shares (Win) für das Teilen von Dateien mit Windows (Abbildung 5) noch der Menüpunkt Websites bereit. Haben Sie bei der Installation zusätzlicher Applikationen beispielsweise WordPress, Owncloud oder Jekyll [12] installiert, so können Sie diese hier konfigurieren. Ein Klick auf Websites und dann Add Websites erlaubt die Auswahl und Konfiguration (Abbildung 6).

Abbildung 5: Einrichten von Samba-Benutzern und passenden Shares.

Abbildung 5: Einrichten von Samba-Benutzern und passenden Shares.

Abbildung 6: Selbst die Konfiguration von komplexen Programmen wie Owncloud erledigen Sie über Genesis.

Abbildung 6: Selbst die Konfiguration von komplexen Programmen wie Owncloud erledigen Sie über Genesis.

Wichtige Werkzeuge

Die Abteilung Tools fasst eine Auswahl an unerlässlichen Helfern zusammen. Dabei dient Execute zum schnellen Ausführen einzelner Befehle. Bei umfangreicheren Aufgaben erweist sich aber das Terminal als die bessere Wahl.

Der File Manager dient als rudimentärer Dateimanager (Abbildung 7). Er zeigt den Dateibaum an und erlaubt das Ausschneiden, Kopieren, Verschieben und Löschen von Files. Zusätzlich besteht die Möglichkeit, die Rechte der Dateien zu bearbeiten. Bei Bedarf arbeiten Sie mit mehreren Tabs, um verschiedene Inhalten gleichzeitig im Blick zu behalten.

Abbildung 7: Simpel, aber ausreichend: Der Genesis-Dateimanager eignet sich für einfache Operationen.

Abbildung 7: Simpel, aber ausreichend: Der Genesis-Dateimanager eignet sich für einfache Operationen.

Am unteren Rand befindet sich ein Clipboard mit den ausgeschnittenen oder kopierten Inhalten. Der Editor Notepad eignet sich zum Bearbeiten von einfachen Textdateien. Er erlaubt das Arbeiten in Tabs und kennt eine Bookmark-Option, die den Zugriff auf Dateien vereinfacht, die Sie regelmäßig in die Hand nehmen.

Für Fortgeschrittene

Der unterste Eintrag in der Seitenleiste, Advanced, erlaubt die Installation von Apps, die etwas mehr Hintergrundwissen erfordern. Hier besteht zum Teil die Gefahr, bei unsachgemäßer Handhabung das System zu destabilisieren oder gar zu beschädigen.

Über Filesystems bearbeiten Sie das Dateisystem. Das Plugin dient dem Erstellen und Editieren von Einhängepunkten (“Mountpoints”) und schreibt direkt in die Datei /etc/fstab. Firewall Tables fungiert als grafisches Frontend für Iptables [13]. Das Plugin erlaubt das Konfigurieren der Ketten und Regeln der im Kernel implementierten Firewall. Das setzt aber gute grundlegende Kenntnisse über Iptables voraus, da Sie sich sonst leicht aus dem System aussperren.

Das Plugin Packages lässt das Nachinstallieren von Paketen aus dem ArkOS-Repository zu. Es arbeitet als Frontend für den unter Arch verwendeten Paketmanager Pacman (Abbildung 8).

Abbildung 8: Über das Plugin <code srcset=

Packages aktualisieren Sie bei Bedarf sogar das komplette System auf dem Raspberry Pi.” width=”300″ height=”213″ /> Abbildung 8: Über das Plugin Packages aktualisieren Sie bei Bedarf sogar das komplette System auf dem Raspberry Pi.

Die Applikation System Users erlaubt das Bearbeiten aller auf dem System vorhandenen Benutzerkonten samt deren Passwörtern, einschließlich des Accounts root. Anders als das Plugin Users beherrscht es das Setzen von User- und Gruppen-IDs, das Erstellen von und Zuweisen zu Gruppen sowie die Definition einer Standard-Shell pro Benutzer.

Mit dem Task Monitor beobachten Sie den aktuellen Zustand aller Prozesse inklusive Prozess-ID, verursachter CPU-Last und belegtem Arbeitsspeicher. Sie beenden hier bei Bedarf einzelne Tasks per Kill-Befehl oder über andere Interrupts.

Reichen die Möglichkeiten der webbasierten Oberfläche nicht aus, bleibt als Ausweg noch das Terminal. Dieses Tool ist als VT-100-Terminal-Emulator [14] ausgelegt, der sich wie ein normales Linux-Terminal verhält. Sie können mehrere Instanzen gleichzeitig öffnen.

Ausblick

Zum Redaktionsschluss dürfte Genesis 0.5.1 bereits erschienen sein und Version 0.6 kurz vor dem Release stehen, wie uns der Entwickler Mitte März bescheinigte. Er verspricht für das Release 0.5.1 neue Funktionen, die Genesis vor allem in Bezug auf Sicherheit verbessern. Die Rubrik Server erhält dann Module, welche das Einrichten und Konfigurieren eines Mailservers mittels Postfix und Dovecot (als Beta-Funktion) ermöglichen.

In die Liste der Webapps reihen sich voraussichtlich die Blog-Engine Ghost [15], der Chat-Server XMPP [16] sowie Radicale [17] zum Verwalten von Kalendern und Kontakten neu ein. Das Modul für das Dateisystem erhält ebenfalls eine Generalüberholung und erlaubt dann unter anderem das automatische Erstellen von verschlüsselten Containern wie Truecrypt.

Mit Version 0.6, die voraussichtlich Mitte des Jahres folgt, geht Genesis in die Beta-Phase über. Neben einer verbesserten Hilfe und einer optischen Auffrischung der Weboberfläche kommen unter anderem das Social Network Diaspora [18] sowie der Anonymisierer Tor [19] hinzu.

Für die dann folgenden Versionen plant der Entwickler unter anderem die Integration von Plugins für Tent [20] und Pump.io [21]. Außerdem steht für die Plattform in absehbarer Zeit ein Update des Befehlssatzes von ARMv6 auf ARMv7 an. Dann unterstützt Genesis neben dem Raspberry Pi auch das Cubieboard, das Beagleboard und viele andere Einplatinen-Computer.

Fazit

ArkOS weiß sowohl von der Idee als auch von der Umsetzung her zu gefallen. Das aktive Projekt erreicht voraussichtlich noch in diesem Jahr die stabile Version 1.0. Neben den vorhandenen und noch kommenden Erweiterungen lässt sich das System auch durch eigene (Python-)Plugins individuell zu erweitern. Nachdem der Entwickler gerade erfolgreich eine Crowdfunding-Kampagne mit über 50?000 US-Dollar abgeschlossen hat, widmet er sich nun ein Jahr lang ausschließlich dem ArkOS-Projekt [22]. Dabei freut er sich über Anregungen, um ArkOS weiter auszubauen und zu verbessern.

Der Raspberry Pi zeigte in unseren Tests keine Probleme in Bezug auf die Last: Sowohl ein installiertes Owncloud als auch WordPress liefen innerhalb von ArkOS ausreichend flott. Der derzeitige Projektstand genügt vollauf für Probeläufe innerhalb des eigenen Netzwerks und erlaubt bereits jetzt eine fundierte Entscheidung darüber, ob ArkOS zukünftig das Mittel der Wahl für die Datenhaltung in Eigenregie ist. 

Der Autor

Ferdinand Thommes lebt und arbeitet als Linux-Entwickler, freier Autor und Stadtführer in Berlin.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDF
LinuxUser 05/2014 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben