https://yunohost.org/#/index_de

Einen Server mit YunoHost betreiben

In der letzten Woche habe ich beschrieben, was ein Server überhaupt ist und ob es sinnvoll sein könnte einen eigenen Server zu betreiben. Der Beitrag endete, zugegebenermassen, etwas verstörend für Anfänger mit der Darstellung einer Kommandozeile auf der man dann loslegen kann:

root@meet:~# 

Nun stellt sich natürlich die Frage, was man denn auf dieser Kommandozeile tun muss, um seinen eigenen Server zu konfigurieren.

Betriebssystem

Zunächst müssen wir noch einen Schritt zurück gehen. Bevor du die oben erwähnte Kommandozeile siehst, hast du ein Betriebssystem für deinen neuen Server gewählt und installieren lassen.
In meinem Fall ist das ein Linux Debian System.

Debian GNU/Linux ist meines Erachtens etwas Besonderes in der Betriebssystem-Welt. Es wurde im Jahr 1993 gestartet und ist auch heute noch die einflussreichste und am weitesten verbreitete GNU/Linux Distribution. Auf dem Debian Projekt basieren Linux Distributionen wie Ubuntu oder Linux Mint. Die Wikipedia führt eine recht vollständige Liste der Debian Derivate. Und weil man sich so einen Betriebssystem-Stammbaum schwer vorstellen kann, hier der Ausschnitt einer Debian-Stammbaum-Grafik (aus dem Jahr 2012), die die Zusammenhänge verdeutlicht. Auch wenn der Stammbaum bereits 12 Jahre alt ist, zeigt er doch sehr gut die zeitliche Entwicklung der Debian-Derivate. Der Link zur gesamten Grafik befindet sich unter dem Screenshot.

Von Andreas Lundqvist, Donjan Rodic. Modified by Michaeldsuarez. – http://futurist.se/gldt/2012/10/29/gnulinux-distribution-timeline-12-10/. Modified by Michaeldsuarez with LibreOffice Calc, gnuclad, Inkscape, and Vim., GFDL 1.3, https://commons.wikimedia.org/w/index.php?curid=23412065

Wer also ein sehr stabiles und zuverlässiges Betriebssystem haben will, nimmt Debian. Stabilität und Zuverlässigkeit haben natürlich auch einen Preis. In Debian befinden sich, eigentlich logisch, nur stabile und zuverlässige Softwarepakete. Stabile und zuverlässige Softwarepakete sind allerdings oft, wie soll ich es freundlich sagen, ein wenig „angestaubt“ und „unmodern“. Nicht unbedingt veraltet, aber es sind eben nicht die „Säue, die gerade durchs Dorf getrieben werden“. Debian liefert Sicherheitspatches, aber die Versionen der verwendeten Softwarepakete sind doch eher niedrig. Das ist auch einer der Gründe warum Debian von so vielen Distributionen als Basis genommen wird. Die Derivate bieten dann oft modernere Softwarepakete als Debian an und werden aus diesem Grund gern genommen.

YunoHost

YunoHost ist auch so ein Debian Derivat. Es setzt momentan auf Debian in der Version 10 auf und versucht, die Verwaltung des Servers so einfach wie möglich zu gestalten (https://yunohost.org/de/whatsyunohost).

Dabei konzentriert sich das YunoHost Projekt auf die folgenden Features:

  •  Basierend auf Debian ;
  •  Verwaltung über eine benutzerfreundliche Weboberfläche ;
  •  Bereitstellen von Apps mit nur wenigen Klicks ;
  •  Verwalten Sie Benutzer (basierend auf LDAP) ;
  •  Verwalten Sie Ihre Domainnamen ;
  •  Erstellen und Wiederherstellen von Backups ;
  •  Stellen Sie über das Benutzerportal (NGINX, SSOwat) gleichzeitig eine Verbindung zu allen Apps her ;
  •  Enthält einen vollständigen E-Mail-Stack (Postfix, Dovecot, Rspamd, DKIM) ;
  •  … sowie einen Instant Messaging Server (XMPP) ;
  •  Verwaltet SSL-Zertifikate (basierend auf Let’s Encrypt) ;
  •  … und Sicherheitssysteme (fail2ban, yunohost-firewall) ;

YunoHost ist, verglichen mit anderen Distributionen, ein eher kleines Projekt, existiert aber bereits seit 2012 und findet mehr und mehr Fans. Die Dokumentation des Projekts ist vorbildlich und es ist für Anfänger tatsächlich möglich einen Server zu verwalten.

Das YunoHost Projekt wurde vom gemeinnützigen, französischen Verein Framasoft gestartet und wird heute von verschiedenen Sponsoren unterstützt. Eine schöne Zusammenfassung bietet ein Vortrag von Aleks auf der FOSDEM im Jahr 2019 (FOSDEM2019 – Yunohost with Aleks). Das Video befindet sich übrigens auf dem dezentralen Yunohost-Video-Portal (PeerTube), einer Alternative zu YouTube.

Ja, so ein dezentrales Video-Portal lässt sich ebenfalls per „Klick“ in YunoHost installieren.

ACHTUNG: Auch wenn sich das alles so einfach anhört, gibt es natürlich viele Stellen, an denen man auf Anhieb nicht weiter weiss oder irgendwelche Meldungen auftauchen mit denen man nichts anfangen kann. Bevor man YunoHost als Anfänger auf einem Live-Server in einem Rechenzentrum installiert, sollte man es daher wirklich in Ruhe ausprobieren. Ich meine das ernst, denn gerade im Serverbereich kommt man langfristig nicht weiter, wenn man den Dingen nicht auf den Grund geht. Ein Server ist 24/7 erreichbar – auch für Clients, die gute Absichten haben.
Wer keine Ruhe und Zeit dafür findet, wird nicht glücklich werden. Das gilt übrigens auch für alle anderen Dinge in deinem Leben 🙂 #DieWeisheitDerBinse

YunoHost funktioniert auf diesen fünf Plattformen:

https://yunohost.org/de/install

Bitte nutze die YunoHost Dokumentation und gehe sie Schritt für Schritt für deinen Anwendungsfall durch.

Als ich das erste Mal einen YunoHost eingerichtet habe, war ich sehr positiv überrascht. Die Installation auf der Kommandozeile bestand aus einem einzigen Befehl

root@meet:~#curl https://install.yunohost.org | bash

(Wie gesagt, bitte nicht kopieren und als root irgendwo ausführen. Es ist nur ein Beispiel um die Einfachheit zu symbolisieren. Bitte die Installation nach den Anweisungen der Originaldokumentation machen https://yunohost.org/de/install).

Wenn dann noch eine Domain auf den Server zeigt und ein admin-Konto anstelle des mächtigen root-Kontos während der Installation angelegt wird (das Passwort für die Verwaltung des YunoHosts ist auch das Passwort für das Admin-Konto) ist es tatsächlich möglich, per „Klick“ die gewünschten Apps zu installieren.

Den aktuellen Anwendungskatalog findest du hier: https://yunohost.org/de/apps.

Für jede Anwendung gibt es ein Verzeichnis auf Github und du bist herzlich eingeladen, aktiv an der Entwicklung und Dokumentation mitzuarbeiten.

PeerTube YunoHost App auf Github: https://github.com/YunoHost-Apps/peertube_ynh

YunoHost ausprobieren

Ausprobieren ist wichtig um ein Gefühl für die Dinge zu bekommen. Wer kein eigenes Gerät zur Installation hat, kann sich eine funktionsfähige Demo ansehen.
Die Links und Zugangs-Passworte findest du unter https://yunohost.org/de/try.

YunoHost Verwaltung
YunoHost Anwendungen aus der Sicht einer Benutzer:in

Ein YunoHost kann beliebig viele Benutzer:innen haben. Abhängig von der Grösse der Firma, des Projektes und natürlich der Anzahl und Nutzungsgewohnheiten der installierten Applikationen haben die meisten YunoHost Installationen weniger als 50 Benutzer:innen. Diese Benutzer:innen können dann über ein Single Sign-On (SSO) auf die installierten Anwendungen zugreifen (Screenshot mit den bunten Kacheln). Benutzer:innen können in Gruppen organisiert und diesen Gruppen kann eine Auswahl existierender Anwendungen zugewiesen werden. Unterschiedliche Benutzer:innen können also unterschiedliche Anwendungen in ihrem Anwendungsbereich haben.

Beispiel WordPress Website

Nehmen wir an, es gibt eine WordPress Installation auf unserem YunoHost. Wenn eine Benutzer:in auf die WordPress Kachel klickt, wird per Link auf die WordPress Installation verzweigt und als YunoHost Benutzer:in wird man automatisch in WordPress angemeldet. Diese Funktion ist praktisch, ob in einer Firma, einem Verein oder einem Projekt.

Hinweis: Das SSO wird in YunoHost über das Lightweight Directory Access Protocol (LDAP) organisiert. Manche Apps unterstützen LDAP, bei manchen muss etwas manuell konfiguriert werden, manche unterstützen es leider nicht. Ein Blick in die Doku der App ist hilfreich um das Verhalten der App beim Anmelden und Registrieren zu verstehen.

Die Administrator:in des Yunohost (es gibt genau eine/n) installiert über die Benutzeroberfläche die gewünschten Applikationen und verwaltet Domains und Benutzer. Die Domains können bei beliebigen Domain-Anbietern registriert sein.

Fazit

Du kannst mit YunoHost sehr komfortabel einen Server verwalten und nach und nach die Zusammenhänge zwischen den einzelnen Diensten erlernen.

Mir macht die Arbeit damit wirklich Spass! Wie so oft im Leben, gibt es noch ein aber 🙂

Das Aber bei YunoHost hat wieder mit Debian zu tun, denn YunoHost basiert ja auf dem sicheren und zuverlässigen Debian-System. Alle Anwendungen sind daher selten in der neuesten Version verfügbar. YunoHost selbst basiert momentan auf Debian 10. Im Oktober 2021 ist Debian 11 erschienen, das YunoHost Team arbeitet einem Update. Es existiert bereits eine Alpha-Version aber es wird wohl noch eine gewisse Zeit brauchen, bis Yunohost auf der moderneren Debian Version läuft. Verfolgen lässt sich der Fortschritt im YunoHost-Forum (Alpha-stage testing for YunoHost 11.0 on Debian Bullseye (and migration that will be shipped in Yunohost 4.4.x)).

Hinweis: Ausser mit freien Projekten wie YunoHost kannst du deinen Server natürlich auch mit kommerziellen Produkten wie beispielsweise cPanel verwalten. Wir nutzen cPanel auch zur Verwaltung unserer Shared Hosting und bieten diese Option auch für unsere Root Server an. Nichtsdestotrotz ist YunoHost für angehende Linux-Administratoren eine wirklich interessante Wahl.


tl;dr: „Ich host es mir selbst, Baby“ mit YunoHost


Beitrag veröffentlicht

in

,

von

Schlagwörter:

Kommentare

11 Antworten zu „Einen Server mit YunoHost betreiben“

  1. Avatar von hagengraf

    Seit mehr als 25 Jahren habe ich mit Websites zu tun. Da diese Sites irgendwo gelagert und betrieben werden müssen, befasse ich mich zwangsläufig auch mit der „hohen Kunst“ oder dem “ehrlichen Handwerk“ des Hostings.

    So prinzipiell hat sich bei diesem Thema nicht viel verändert. Gerade in der IT Branche ist das ja eigentlich unglaublich, hört man doch täglich von so vielen Innovationen. In Bezug auf das Hosting von Websites ist es aber tatsächlich so. Um eine Website oder einen Service wie einen Messenger anbieten zu können, brauchte man damals wie heute einen Computer mit schnellem Internet Zugang, ein stabiles Betriebssystem, 24/7 Stromanschluss, ein regelmässiges Backup und wenn möglich, eine feste IP-Adresse und eine Domain wie beispielsweise hagen.cocoate.com.

    Das alles habe ich nun und es befindet sich seit ein paar Tagen in dem Gerät, was da oben abgebildet ist. Die Zeilen, die du gerade liest, werden auch dort gespeichert und wurden von dort gerade an deinen Browser gesendet …

    Je mehr ich darüber nachdenke, desto faszinierender ist das für mich.

    Das kleine Wunder auf dem Bild da oben und hier unten heisst Pine RockPro64. Der Pine RockPro64 ist quasi das Einplatinenrecher-Äquivalent zu einem „Scharfen Döner mit wirklich alles“.

    The ROCKPro64 is the most powerful Single Board Computer released by Pine64. It is powered by a Rockchip RK3399 Hexa-Core (dual ARM Cortex A72 and quad ARM Cortex A53) 64-Bit Processor with a Mali T-860 Quad-Core GPU.

    Nun will ich hier gar keine Technik Buzzwords Orgie veranstalten und weise einfach darauf hin, dass die obige Grafik mit den vielen Pfeilen das Gerät etwa in Originalgrösse anzeigt. Hinter jedem der Pfeile stecken Features, zu denen man jeweils mehrere Bücher verfassen könnte. Die Möglichkeiten, die so eine “universelle Maschine“ bietet, lassen mein Hirn, ob deren schierer Menge, ein wenig aufweichen.

    Ein einziges Beispiel vielleicht, um ein Gefühl für Grösse zu bekommen.

    Man fragt sich ja sicher, wo ist denn bloss die Festplatte, auf der das Betriebssystem und mein Blog gespeichert sind.

    Antwort: Momentan ist da, an dem Pfeil mit der Nummer 14, eine microSD Karte mit 64GB eingesteckt. Diese Karte ist 11,0 mm × 15,0 mm × 0,7 mm gross, oder besser gesagt klein. Solche Karten gibt es seit 2005! Mein Blog der letzten Jahre benötigt momentan etwa 640MB Speicherplatz, es könnte also ohne Probleme noch fast 100 mal grösser werden, ohne das diese kleine Karte voll würde. Und wenn das mal passiert – kein Problem – die microSD Cards gibt es mittlerweile in Grössen bis 2 Terabyte! (=2.000 Gigabyte=2.000.000 Megabyte).

    vergrösserte microSD Card

    Auf der microSD Card befindet sich als Betriebssystem Armbian und als Verwaltungsoftware Yunohost. Ich habe zum Thema eigener Server zwei Artikel im Novatrend Blog geschrieben, die für Anfänger sicher interessant sind.

    Einen eigenen Server betreiben

    Einen Server mit YunoHost betreiben

    Naja, und da ich vor ein paar Wochen einen Glasfaseranschluss bekam, musste ich das einfach mal selbst ausprobieren.

    Der PineRockPro64 ist eine freundliche Leihgabe von Dick Olsson – danke dafür!

    Hier der Mastodon Post: https://fimidi.com/@hagen/107723471298551567

    Hier der Twitter Post:

    Ich hoste mein Blog https://t.co/jRd8YyWS32 übrigens seit ein paar Tagen auf einem unserer Küchenschränke – auf diesem Gerät. Probiert doch bitte mal aus, ob man einigermaßen flüssig darauf zugreifen kann. #neugier #selfhosting #followerpower pic.twitter.com/i91ujVkXT8— hagengraf (@hagengraf) February 1, 2022

    Die Reaktionen auf Toot und Tweet waren sehr ermutigend.

    Zugriff funktioniert aus Europa scheinbar wunderbar.

    Nun ist das erst der Anfang, denn ich brauche noch vernünftige Backups und ein eigenes Gerät. Momentan mache ich die Backups per Hand (passiert ja nicht viel auf meinem Blog).

    Ausserdem soll das Gerät nicht in der Küche bleiben, sondern auf den Dachboden kommen. Dort habe ich zwar noch kein Ethernet Anschluss aber einen Zugang zum Dach. Ich würde das kleine Datacenter nämlich gern mit Solarenergie und Batterien betreiben.

    Fragen:

    Hat jemand von euch Powerline Geräte im Einsatz und funktioniert das gut? Wie lange mag so eine microSD Card im Dauerbetrieb halten?Wie macht man das bloss mit Batterie und Photovoltaik? Hat da jemand Erfahrung oder einen Link?Wäre ein RaspberyPi4 auch ok? (Weil der ist viel billiger)

    Gimmick: Das kleine Yunohost Logo auf der Site ist verschiebbar und wird auf allen hier gehosteten Sites eingeblendet

    Mehr über den Pine RockPro64: https://linux-nerds.org/topic/58/rockpro64-pcie-x4

  2. Avatar von zlop

    Dieser Article wurde erwähnt auf brid.gy

  3. Avatar von zlop

    @hagen Ja, das hatte ich auch mitbekommen, dass du da mit anderen was gebastelt hast. Lese ja meine timeline ordentlich komplett. : )

  4. Avatar von Hagen Graf

    @zlop dein Like hat übrigens geklappt 😀Wird unterm Artikel angezeigt 👍#freumich
    freumich

  5. Avatar von zlop

    @hagen Diese Info/der Like wird ja sicher einmalig in der WordPress Datenbank gespeichert. Wird dann nochmal bei jedem Aufruf des Artikels der Like überprüft ob er am Ursprungsort noch existiert und gegebenenfalls entfernt oder bleibt das statisch für immer im Artikel stehen?

  6. Avatar von Hagen Graf

    @zlop ohlala, frag am besten mal den @pfefferle , der hat das Webmention WordPress Plugin geschrieben und weiss sicher eine Antwort

  7. Avatar von Matthias Pfefferle

    @zlop @hagen der like bleibt so lange in der db solange die andere Seite keinen „delete“ schickt. Es gibt keine regelmäßige Überprüfung.

  8. Avatar von Eric

    ja, mir wurde heute auf mastodon auch dieses yunohost empfohlen. ich habe versucht von hand auf meinen raspberry pi das peertube zu installieren und ich bin grandios gescheitert 🙂

    ich bin überhaupt nicht der sysadmin und von ssh meistens ziemlich überfordert.

    aber yunohost auf dem raspberry pi zu installieren, das habe ich sogar hinbekommen. und nun läuft das ganze sehr sauber und sogar wirklich flüssig.

  9. Avatar von Invidious und Nitter als Frontend für YouTube und Twitter

    Wenn man mit einem Link auf ein Video bei YouTube oder einen Tweet auf Twitter verweist, dann meist, weil man diese Informationen nützlich, interessant, lustig oder auf eine andere Art und Weise wertvoll findet.

    Leider werden alle, die einem solchen Klick folgen, auf den jeweiligen Plattformen zunächst aufgefordert, sich doch bitte bei der jeweiligen Plattform anzumelden, zu registrieren oder die entsprechende App aus dem App-Store zu laden um das Video oder den Tweet dort anzusehen. Ausserdem sammeln YouTube und Twitter beim Aufruf der Inhalte viele private Daten.

    Besonders schade bei dieser Verfahrensweise ist, dass solche Links, auch hier im Blog, in durchaus guter Absicht gesetzt werden, der Aufruf der Inhalte aber immer zu einer gewissen “Aushorchung“ und Verwirrung der Interessierten führt.

    Wie kann man es besser machen?

    Für YouTube und Twitter gibt es verlässliche alternative Frontends, die auch von Plattformen akzeptiert werden. Du kannst sie einfach nutzen oder auch selbst hosten.

    Damit es etwa klarer wird, zeige ich einfach ein paar vorher – nachher Screenshots (auf einem iPad im Browser).

    Beispiel Twitter / Nitter

    Wenn du einem Link zu einem Tweet folgst, so sieht es in deinem Browser etwa so aus …

    Aufruf eines einzelnen Tweets in einem Browser https://twitter.com/hagengraf/status/1105604679679893505

    Wenn du nun den gleichen Inhalt über das Web-Fontend Nitter aufrufst, sieht es aus wie im nächsten Screenshot. Der Tweet und alle Antworten werden angezeigt, es erscheint keine Werbung und Daten werden auch nicht gesammelt.

    Aufruf das Tweets über Nitter: https://nitter.net/hagengraf/status/1105604679679893505

    Beispiel YouTube – Invidous

    Bei Youtube ist dieser Effekt noch erheblich grösser weil normalerweise ein Werbevideo vor dem eigentlichen Video abgespielt wird. Im folgenden Beispiel würde diese vorgeschaltete Werbung eine Minute! laufen. Neben dem Video sind ebenfalls Werbung und Hinweise, dass man sich doch bitte anmelden, registrieren oder auch die App benutzen könnte.

    Aufruf eines Videos in YouTube https://www.youtube.com/watch?v=o-YBDTqX_ZU

    Das gleiche Video über Invidious ist eine echte „Wohltat“.

    Keine Werbungkeine Vorschläge für weitere Videoskeine Sammlung von Daten eine übersichtliche Darstellung des Inhalts

    Video über die Plattform Invidious https://invidious.sethforprivacy.com/watch?v=o-YBDTqX_ZU

    Wie geht das ganz praktisch?

    Nitter und Invidious sind dezentrale Anwendungen. Das heisst, du musst dir eine Instanz aussuchen, wenn du die entsprechenden Links zusammenstellst. Diese Vorgehensweise macht natürlich auch ein wenig Arbeit und du musst der entsprechenden Instanz “vertrauen“. Es wäre beispielsweise gut, wenn sie in fünf Jahren auch noch existiert damit dein Link noch aufgerufen werden kann. Beide Projekte führen deshalb Listen mit Instanzen, die bestimmte Parameter erfüllen.

    Listen der vertrauenwürdigen Instanzen/Server

    Instanzen – InvidiousInstanzen – Nitter

    Die Auswahl den Nutzern überlassen

    Wer selbst Links in Texten anbietet, kann auch auf eine Auswahlseite verweisen. Dort kann man dann indivuell entscheiden auf welcher Instanz man die Inhalt sehen möchte. Das obige Beispiel sieht dann so aus.

    Auswahlsite für ein Video https://redirect.invidious.io/watch?v=o-YBDTqX_ZU

    Konfiguration der Anzeige in Nitter

    Nitter bietet im Frontend eine Konfigurationsseite an auf der du die Anzeige individualisieren kannst.

    Nitter Frontend – Konfigurtionseinstellungen

    Automatische Weiterleitung in Firefox

    Für den eigenen “Surfbedarf“ gibt es beispielsweise für Firefox das Add-On LibRedirect. Es leitet alle Anfragen automatisiert auf alternative Frontends weiter.

    Eigenes Hosting

    Du kannst die Anwendungen natürlich auch selbst betreiben und damit das “Vertrauensproblem“ lösen. Wer Yunohost nutzt, kann beide per “Klick“ installieren (siehe auch unseren Blog Post: Einen Server mit Yunohost betreiben).

    Fazit

    Alternative Web-Frontends sind eine sehr gute Idee um den klassischen “Datensammel-Plattformen“ ein wenig aus dem Weg zu gehen. Ich habe mich in diesem Post auf zwei Alternativen beschränkt, es gibt aber weitaus mehr. Manche Plattformen sind damit einverstanden, manche Plattformen versuchen sich eher abzuschotten. Für Instagram gibt/gab es beispielsweise Bibliogram. Momentan funktioniert es leider nicht, da Instagram die Schnittstelle verändert hat.

    Links

    Invidous: https://invidious.ioNitter: https://github.com/zedeus/nitterDatenschutzfreundliche Web-Frontends für YouTube, Twitter, Instagram, Reddit und Co.

    tldr: Du kannst die Datensammelei und die Werbung auf YouTube und Twitter umgehen

  10. Avatar von GRAV Flat File CMS mit Git Synchronisierung

    Das dateibasierte Content Management System GRAV habe ich im Blog bisher zweimal erwähnt (hier und hier). Das letzte Mal im Jahr 2016.

    Als ich mich mit Yunohost etwas eingehender beschäftigte, ist mir aufgefallen, dass deren Website (yunohost.org) ebenfalls mit dem CMS GRAV erstellt wurde. Besonders gut gefiel mir die Dokumentation mit Suchfunktion und der Möglichkeit über Github Inhalte und Änderungen zu Inhalten vorschlagen zu können.

    Als ich den Artikel über WordPress HTML Archive schrieb, musste ich wieder an GRAV denken. Das System kommt ohne Datenbank aus und baut die einzelnen Seiten daher extrem schnell auf. Es ist etwas wartungsaufwendiger als reine HTML Seiten, da es noch PHP benötigt. Es ist allerdings nicht so wartungsintensiv wie beispielsweise WordPress, liegt also ein wenig „zwischen den Stühlen“.

    Grund genug mal wieder bei GRAV vorbeizuschauen. Mittlerweile ist das System bei der Versionsnummer 1.7. angekommen und bietet ein Menge interessanter Features.

    Installation bei Novatrend

    Bei Novatrend lässt sich GRAV entweder über SFTP, die Kommandozeile oder über unser Installations-Tool Softaculous installieren. In der GRAV Doku sind weitere Methoden beschrieben https://learn.getgrav.org/17/basics/installation. Ich nutze im weiteren Verlauf die Softaculous Installations-Variante. Die Art der Installation ist nur „Geschmacksache“. Das Ergebnis ist immer das gleiche.

    Vor der Installation sollte klar sein, unter welcher Subdomain GRAV installiert werden soll. Ich lege mir im cPanel eine Subdomain an und erstelle ein Let’s Encrypt Zertifikat.

    cPanel -> Unterdomain

    cPanel -> Let’s Encrypt™ SSL

    Im Softaculous Installer lege ich auch den Ort, den Namen des Administrators und Backup-Einstellungen fest.

    cPanel -> Softaculous -> GRAV

    Einstellungen zur Installation

    Wenn ich nun den entsprechenden URL aufrufe sehe ich die GRAV Startseite mit einer Erfolgsmeldung.

    Der Administrationsbereich von GRAV liegt unter /admin. Mit den bei der Installation vergebenen Daten kann ich mich anmelden …

    Anmeldung zum Administrationsbereich

    … und lande im GRAV Dashboard. Das Dashboard erinnert ein wenig an WordPress, ist aber „einfacher“ gestaltet.

    GRAV Dashboard

    Auch wenn es keine Datenbank gibt, so gibt es doch die Möglichkeit das System über das Dashboard im Browser zu administrieren, Accounts anzulegen und Inhalte zu erzeugen. GRAV kommt mit einem Account, zwei Beispielseiten, acht installierten Plugins und einem Theme. In den Einstellungen einzelner Seite gibt es einen Normal und einen Expert Modus.

    Normal-Ansicht einer Seite mit Wysiwyg Editor

    Im Expert Modus erscheint ein sogenannter „Frontmatter“ oder Header Block über dem Editor. Hier kann man Optionen eintragen, die ausführlich in der GRAV Doku beschrieben sind https://learn.getgrav.org/17/content/headers.

    Expert Ansicht einer Seite

    Die Oberfläche ist weitestgehend selbsterklärend. Wenn man mal nicht weiter weiss, hilft garantiert die sehr gute GRAV Doku.

    Git-Anbindung

    Was mich bei der Yunohost.org Website faszinierte, war die Möglichkeit, einzelne Seiten der Dokumentation editieren zu können.

    Die Herausforderung bei solchen „Edit“-Buttons ist ja immer die Authentifizierung. Auf der einen Seite möchte man, dass jeder mitarbeiten kann, auf der anderen Seite hat man schnell ein SPAM Problem, wenn es zu offen gehandhabt wird.

    Die zweite Herausforderung bei jeder Website ist die Versionsverwaltung. Änderungen sollten dokumentiert werden und müssen manchmal auch wieder rückgängig gemacht werden.

    Das GRAV Git Sync Plugin und das GRAV GitHub Plugin lösen dieses Dilemma auf sehr elegante Weise.

    Plugins im GRAV Dashboard

    Nach der Installation und Konfiguration lassen sich die Seiten bei entsprechenden Zugriffsberechtigungen entweder über das GRAV Dashboard und die Terminal Kommandozeile editieren. Das ist gut und komfortabel für die bekannten Teilnehmer:innen am jeweiligen Projekt.

    Darüberhinaus sind die Seiten aber auch offen für Änderungsvorschläge von jedem GitHub Account. Das Charmante an dieser Konstruktion ist, dass die Änderungen in GitHub bereits durch die zu ändernde Person erfolgt ist und „nur“ noch von einer berechtigten Person des Projekts freigegeben werden muss. Das spart unglaublich viel Zeit. Diskussionen über Änderungen sind auf GitHub ebenfalls möglich.

    Ich nehme hier GitHub nur als ein Beispiel, die Verbindung klappt auch mit GitLab oder jedem anderen Git Service mit Webhooks.

    Ein weiterer Vorteil der Git-Anbindung ist eine komplette Versionierung der Website. Jede Änderung, auch die über das GRAV Dashboard lässt sich auf diesem Weg nachvollziehen und natürlich auch rückgängig machen.

    Beispiel GRAV Dokumentation

    In der GRAV Dokumentation wird dieses Feature ebenfalls benutzt.

    Website: https://learn.getgrav.org/17/basics/what-is-gravGithub-Version: https://github.com/getgrav/grav-learn/blob/develop/pages/01.basics/01.what-is-grav/docs.md

    Beispiel Yunohost

    Bei Yunohost wird die Mehrsprachigkeit von GRAV und die Git-Synchronisierung genutzt.

    Webseite: https://yunohost.org/en?q=%2FdocsGithub-Version: https://github.com/yunohost/doc/blob/master/pages/00.home/docs.md

    GitHub Anbindung einrichten

    Die GitHub Anbindung besteht aus zwei GRAV Plugins, die über das Dashboard oder die Kommandozeile installiert werden können.

    Plugin Bereich mit Git Sync und GitHub Plugin

    Das Git-Sync Plugin muss mit deinem GitHub Account verbunden werden. Das geht über deinen Account-Namen und dein Git-Passwort oder ein Token (das Token ist die bessere Wahl, denn es ist einfach widerrufbar). Die Vorgehensweise ist in diesem Blog Post gut beschrieben https://learn.hibbittsdesign.org/learn2withgitsync/git-sync-plugin-config.

    Fazit

    Allein durch die oben beschriebene Funktionalität ist GRAV ein sehr interessantes System für Dokumentationen und Projekt-Websites aller Art. Da GRAV auch Mehrsprachigkeit unterstützt, lassen sich auch Übersetzungen von existierenden Dokumentationen sehr elegant, dezentral und unabhängig von den „offiziell“ in das Projekt involvierten Personen erstellen. Wenn das Projekt interessant genug ist, werden sich Personen finden, die helfen!

    Links

    GRAV Project Website: https://getgrav.orgGRAV Dokumentation: https://learn.getgrav.org/17Beispiel: Mehrsprachige Yunohost Website und Dokumentation mit GRAV https://yunohost.org/de?q=%2Fdocs

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert