- Werbung -

AUGE-Mitglieder erhalten neben E-Mailadressen mit Webmailkonto und PGP-Verschlüsselung auch eine auge.de Subdomain und Webspace. Die la.plume-Installation auf einer solchen Subdomain ist hier erläutert.

Das Inhaltsverwaltungssystem - CMS (Content-Management-System)

Der la.plume-Entwickler beschreibt sein freies Mini-CMS mit: "Ein kleines, Open Source "flat file system" - um schnell, einfache Präsenzen zu realisieren: la.plume"

Hier mag sich der ein oder andere auch gleich die Frage stellen: "Was ist ein Flat File System?"
Sebastian Schürmanns hat sich der Frage bereits angenommen - mit seinem Beitrag "20 Flat-File-Systeme im Test". Der Artikel ist gut geschrieben - und obwohl er wunderbar provokativ proklamiert: "Damit niemand mehr etwas über Flat-File-CMS erzählen muss, habe ich einfach mal alles darüber aufgeschrieben." - 'erzähle' ich mal etwas über la.plume - das was mir bei der Installation auf der AUGE Subdomain campus.auge.de auffiel.

Aus einer technologischen Epoche kommend, in der man HTML und JavaScript noch händisch zum Layout und der Navigation um die eigentlichen Inhalte einer Webpräsenz 'verwurschtelte', oder besser gleich auf Skripte verzichtete und CSS - Cascading Style Sheets - allmählich von etablierten Browsern unterstützt wurde, war ich von la.plume's Simplizität angenehm überrascht - zumal ich auch WordPress- und Drupal-Installationen pflege.

Das Standard-Template, eines von zweien, verwendet zwei Layout-Varianten. Eins für herkömmliche Bildschirmgrößen und eines für die kleineren Formate wie man sie auf Smartphones vorfindet. Der eigentliche Inhalt bleibt der selbe. Die Positionierung der Elemente, wie die Navigation oder Textbeiträge, passen sich bei Mobilgeräten an das kleinere Format an. Und das hat Patrick Taylor, der das Leichtgewicht an CMS seit 2008 kontinuierlich weiterentwickelt, sehr schön realisiert. Die Navigation ist intuitiv, ansprechend, bei beiden Layouts.

Die Trennung von Inhalt, Layout und Navigation ist bei la.plume - aufgrund des Flat-File-System-Ansatzes, der eben auch auf eine Datenbank verzichtet, radikal. Es speichert die Texte der erstellten Seiten separat in '.txt' Dateien ab - die eigentliche Seite, die auf '.php' endet, inkludiert den Roh-Text beim Aufruf der jeweiligen Seite - sozusagen 'on-the-fly'.

Keine Datenbank - keine SQL-Injection-Attacken. Durch den Verzicht auf eine Datenbank wird ein Sicherheitsrisiko ausgeschlossen: eingeschleuste Befehle beim Übermitteln von Daten aus einer bzw. in eine Datenbank. Der Wikipedia-Artikel zu der Thematik ist leicht verständlich, weshalb ich hier nicht weiter darauf eingehe.

Das komplette CMS hat als .zip komprimierte Datei gerade mal 107kb.

Lädt man sich die gepackte Datei herunter und entpackt sie, sollte man zu allererst die Datei 'readme.txt' lesen. Dort steht, la.plume wurde von Patrick Taylor geschrieben, er hat die Rechte an der Software und die Software selbst darf nicht gegen eine Gebühr an andere abgegeben werden. Sie darf also nur verschenkt werden. Sie ist unter der Open Software License v. 3.0 veröffentlicht.

Genaugenommen könnte man nun darüber sinnieren, ob eine kostenpflichtige Internetverbindung, über die man die Software herunterlädt, als entgeltliches 'Distributieren' gilt - und der Internet-Zugangsprovider gegen den Willen des Autors handelt - das tun wir aber an dieser Stelle nicht.

In der 'readme'-Datei steht weiterhin, la.plume sei für die Nutzung per Apache Webserver programmiert, '.htaccess'-Dateien werden verwendet und der Webserver muss PHP-fähig (PHP 5.2.0+) sein. In .htaccess-Dateien - wie die Bezeichnung bereits vermuten lässt - werden Regeln für das jeweilige Verzeichnis, in dem sich die Datei befindet, aufgestellt. Beispielsweise kann man das Abrufen des Inhaltsverzeichnis eines Ordners unterbinden - oder einen Ordner per Passwort schützen, indem man die entsprechende Regel in der Textdatei notiert.

Nachdem ich die Dateien entpackt und auf den auge.de-Server transferiert habe, rufen ich per Browser den Ordner 'admin' auf, und werde gleich weitergeleitet - zur Seite '/admin/install.php'. Dort werde ich aufgefordert, ein Passwort einzugeben - "salted and hashed". Was um Gotteswillen bedeutet salted and hashed?

Zwei Kurze statt ein Langes - sozusagen

Aus dem Passwort und der hinzugefügten Zeichenfolge, dem 'Salt', wird ein Prüfwert errechnet, der im CMS gespeichert wird. Gegen diesen Wert wird bei der Anmeldung für den Adminbereich das angegebene Passwort geprüft: Entspricht der Prüfwert des eingegebenen 'salted' Passwort, dem im CMS hinterlegten Prüfwert, erhält man Zugang zur Adminoberfläche. Mit dem gehashten Passwort wird also nicht das tatsächliche Passwort auf dem Server gespeichert. Selbst wenn alle Dateien - inklusive der 'passwort.php'-Datei - in die Hände eines Unbefugten fallen würden, wäre mit den Daten kein Zugang zum Adminbereich, der Schreibrechte hat, möglich. Den bräuchte er vielleicht auch nicht mehr, er hat ja alles - bis auf das eigentliche Passwort und Schreibrechte.

laplume Bild 1 - readme.txtlaplume Bild 2 - install.phplaplume Bild 1 - Salt und Hashlaplume Bild 1 - install cms

Erst der Austausch eines 'gehashten und gesalzenen' Passworts durch den Hash/das Salt eines bekannten Passworts würde den Zugriff auf den Adminbereich möglich machen. Sobald die Daten übermittelt wurden, bekomme ich eine Seite mit "Success! Proceed to setup" angezeigt.

Merke: Ist das Passwort vergessen, einfach ein neues generieren, in die Datei '/admin/password.php' eintragen und per FTP auf den Server transferieren.

Im weiteren Verlauf wird eine Information zur Konfiguration des Apache-Webserver angezeigt: "Note: Apache Web Server with the mod_rewrite module enabled was not detected. la.plume Micro CMS runs best on web hosting packages with the mod_rewrite module enabled but you can proceed anyway."

Der Apache-Webserver ist modular aufgebaut, er lädt beim Start des Serverprogramms Funktionalität per Modul. Das Modul 'rewrite' beispielsweise würde es ermöglichen, die Endungen der Dateien - in unserem Fall '.php' - im Adressenfeld des Browsers 'auszublenden'. Präziser formuliert: die interne Adresse wird umgeschrieben. Die Adresse 'http://campus.auge.de/wifi-Joystick.php' würde als 'http://campus.auge.de/wifi-Joystick' dargestellt. Das Modul ist nicht aktiviert, was uns aber hier auch nicht weiter beschäftigen soll.

Die Spracheinstellung 'Deutsch' bezieht sich auf das Frontend - Fehlermeldungen beispielsweise werden dem Besucher auf Deutsch angezeigt, die Benutzeroberfläche des Administrators ist in Englisch.

Einen Teil des Erscheinungsbildes der einzelnen Seiten konfiguriert man in deren erster Zeile: Mit einer Raute '#' wird der Text der Überschrift ausgeblendet, das Prozentzeichen '%' lässt die Seite im Navigationsmenü als Link erscheinen, die Tilde '~' schützt eine Seite per Passwort und der Zirkumflex '^' stellt die Seite im breiten Format/Layout dar, das Pluszeichen '+' aktiviert die Möglichkeit Kommentare zu hinterlassen - für die jeweilige Seite.

Keine Benutzerverwaltung - es kann nur einen geben: "Schicke mir die Daten, ich pflege sie ein."

Inhalte erstellt der Administrator - es gibt keine Benutzerverwaltung. Wozu auch, es schreibt ja sonst keiner etwas - würde unser AUGE-Redakteur vielleicht denken.

laplume Bild 5 - Success!laplume Bild 6 - Passwortlaplume Bild 7 - Einstellungenlaplume Bild 8 - Es funktioniert!

Das Backup

la.plume kommt mit einer einfachen Backupmethode daher. Unter dem Menüeintrag 'Backup' lässt sich der Dateiordner 'Bilder' auf dem Server komprimieren, und als .zip gepackte Datei herunterladen. Die zweite Option lässt den Nutzer die Textdateien komprimieren, herunterladen und archivieren.

Eine sinnvolle Beschränkung ist die Möglichkeit, drei Links am Ende jeder Seite erscheinen zu lassen oder unterhalb der Navigation etwas hinzuzufügen.

Fazit: Dieses kleine und durchdacht realisierte CMS ist eine gute Wahl - für den Einstieg ins Online-Publizieren, aber auch für den angehenden Webentwickler - um auf la.plume aufzubauen. Für den Transfer der Daten auf den AUGE-Server empfehle ich FileZilla.

Links

20 Flat-File-Systeme im Test
FileZilla
la.plume