Kategorien
Content Management Systeme Shared Hosting

Konfigurations-Management am Beispiel Drupal

Wer eine Website über längere Zeit betreibt, muss an dieser Website oft Änderungen und Erweiterungen vornehmen. Das gilt insbesondere für Content Management Systeme wie WordPress, Drupal und Joomla.

Die Zielgruppen dieser Systeme sind durchaus unterschiedlich. Einerseits werden sie gern von Anwendern genutzt, die die individuelle Konfiguration der Website über die Benutzeroberfläche im Browser vornehmen und nur im Notfall selbst programmieren wollen.

Andererseits werden diese Systeme auch von Web-Agenturen als Basis für Kunden-Projekte genutzt. In diesem Fall werden, neben den Konfigurationsänderungen, oft individuell programmierte Features für die Kunden der Agentur erstellt die nach dem Launch der Website supported werden müssen.

In den meisten Fällen einigt man sich zwischen Agentur und Kunde auf eine Umgebung mit einer produktiven Live-Site und mindestens einer oder auch mehreren Test-, Staging- und Entwicklungs-Websites. Auch für die kleinste Website bietet es Vorteile wenn nicht „live“ konfiguriert wird. Die Änderungen können „in Ruhe“ in einer Test-Umgebung gemacht werden und bei Gefallen in die Live-Site übertragen werden. Die „Übertragung“ ist allerdings gar nicht so einfach zu realisieren, weil die Änderungen oft viele „Kleinigkeiten“ umfassen und im schlimmsten Fall auf der Live-Site manuell nachvollzogen werden müssen. Je mehr Personen an der Entwicklung der Website arbeiten, umso wichtiger sind klare Vereinbarungen, wer an welcher Stelle und zu welcher Zeit etwas ändern darf.

Programmcode für zusätzliche Plugins, Erweiterungen, Module, Themes und Templates lässt sich gut in Versionskontrollsystemen wie Git verwalten, wie aber geht man mit Konfigurationseinstellungen um? Ich denke da an die Positionierung von Blöcken, Menüpunkte, Einstellungen in Themes, der Name der Website, die Datumsformate und vieles andere mehr.

Konfigurationen werden in LAMP-basierten Systemen gern in der Datenbank verwaltet und sind daher nicht mit gängigen Mitteln wie Git versionierbar.

In diesem Blog-Post zeige ich den Ansatz, den Drupal bei der Verwaltung von Konfigurationen verfolgt.

Kategorien
Shared Hosting Webdesign

Nach der Domain kommt die Website. Es ist total einfach!

Im Blog-Post über die Registrierung und Verwaltung von Domain-Namen habe ich unter anderem beschrieben, wie Domains mit Dateiverzeichnissen verknüpft werden. Wenn du eine Domain registriert hast und sie auf ein Verzeichnis zeigen lässt, dann ist dieses Verzeichnis zunächst ja vermutlich leer. Aber in diesem Verzeichnis wird später mal deine Website liegen.

Jede Website besteht aus mindestens einer, wahrscheinlich aber sehr vielen Dateien, die untereinander verlinkt sind. Die Text-Dateien (.htm, .js, .css, .txt) enthalten HTML, CSS, JavaScript und anderen Code. Sie können mit einem Text-Editor bearbeitet werden. Ausser den Text-Dateien gibt es auch andere Dateitypen, die binäre Informationen enthalten, wie beispielsweise Fotos und Grafiken (jpg, png, gif), Musik (mp3, ogg) oder Videos (.mp4). Die Binärdateien werden auf Websites mittels HTML oder JavaScript Anweisungen angesprochen und können im Browser dargestellt werden.

Um eine Website zu erstellen, musst du prinzipiell also „nur“ alle diese Dateien erstellen und in das Verzeichnis, auf das deine Domain zeigt, kopieren. Dieses Verzeichnis nennt man übrigens Document Root – die Wurzel aller Dokumente :). Nur dort darf ein öffentlicher Zugriff auf deine Dateien stattfinden. Bei vielen Hosting-Anbietern heisst das Verzeichnis daher auch public_html oder web. Alle Dateien, die ausserhalb dieses Verzeichnisses abgelegt werden, sind unerreichbar für deine Besucher.

Dieses einfache Prinzip gilt für ALLE Websites seit etwa 25 Jahren, natürlich auch für die Websites von google.com und facebook.com.

Aus dieser doch eher einfachen Vorgehensweise hat sich mittlerweile eine Multi-Milliarden-Industrie entwickelt. Online-Handel und Plattformen verändern seit Jahren die Welt und alle Firmen, Vereine, Stiftungen und Privatleute stehen irgendwann vor der Frage:

Wie erstellte ich mir denn nun eine Website in diesem leeren Verzeichnis?

Kategorien
Server Shared Hosting Webdesign

Frühjahrsputz?

Wenn Ende März der Frühling in der Luft liegt, die Vögel zwitschern und die Sonne durch die (ungeputzten) Fenster scheint, dann tanzen auch oft Staubflusen über dem Sofa und es wird einem dramatisch klar, dass man mal wieder putzen sollte. Man nennt das dann freundlich Frühjahrsputz, aber oft beschreibt der Zustand der Wohnung eher das systematische Versagen während des restlichen Jahres :). Ich weiss, dass es schwer zu glauben ist, aber es gibt Menschen, die putzen regelmässig und halten die „Hütte“ sauber, haben einen Plan und wenn dann mal tatsächlich die Sonne scheint und die Vöglein zwitschern, haben sie Zeit spazieren zu gehen.

Auch mag man es kaum glauben, aber in der abstrakten und eher virtuellen Welt verhält sich das genauso. Wer seine Soft- und Hardware nicht regelmässig „putzt“, also aktualisiert, durchchecked, hier ein wenig umbaut und dort ein wenig anpasst, verliert schnell den Überblick und damit auch oft den Bezug zur Realität. Es dauert dann nicht lange und irgendwas funktioniert nicht mehr so wie es sollte.

Kategorien
News seafolly.ch Security Services Shared Hosting Site Builder

DNSSEC für alle – jetzt bei Novatrend!

Das ist jetzt wieder so ein abstraktes, aber wirklich wichtiges Thema, also haltet bitte durch :).

Es geht prinzipiell um das „sichere“ Aufrufen von Websites im Browser, das Abrufen von E-Mails und alle Aktionen, die mit einem Domainnamen zu tun hat. Normalerweise tippst du beispielsweise example.com im Browser ein und dein Browser verzweigt auf die entsprechende Website. Das funktioniert gut, geht blitzschnell und man macht sich keine Gedanken darüber.

Das Domain Name System (DNS) stellt diesen Bezug zwischen dem lesbaren Domainnamen (seafolly.ch) und einer IP-Adresse (194.150.248.139) her. Die Informationen dazu (Resource Records) stehen in der Zonendatei der Domain. Diese Datei liegt auf einem Nameserver und dieser Nameserver sendet die Information zum Client (Browser). Der Client steuert dann die richtige IP-Adresse an.

Stelle dir mal vor, jemand spielt dir nur vor, example.com zu sein.

Bei example.com ist das vielleicht noch nicht schlimm, aber bei „meine-bank.ch“ oder „mein-emailkonto.ch“ würde man schon gern mit der echten Bank und dem echten E-Mail Provider verbunden werden. Das so eine Fälschung überhaupt möglich ist, rührt daher, dass das DNS-Protokoll eine Prüfung der Identität des Absenders nicht vorsieht und diese Absender – Identität relativ einfach gefälscht werden kann. Dem Empfänger wird in so einem Fall eine andere IP-Adresse übermittelt und der Browser verzeigt dorthin. Der Browser erkennt überhaupt keinen Grund/Befehl an der übermittelten IP-Adresse zu zweifeln.

Kategorien
Shared Hosting

Lychee – selbstgehostetes Foto-Management – aber richtig!

Die Frage wo man den nun am besten die eigenen Fotos aufbewahrt ist gar nicht so einfach zu beantworten. Je nachdem, ob man nun eine gute Gesichtserkennung, Smartphone Apps mit automatischem Upload, die Darstellung von EXIF Daten oder vielleicht auch Social Media Funktionen wie Kommentare, Likes und ein Followersystem haben möchte ist die Auswahl an Tools und Services eher unüberschaubar.

Hier im Blog geht es ja vorwiegend um Projekte, die man selbst hosten kann und die unter einer offenen Lizenz stehen. Ich habe hier bereits das Open Source Projekt Piwigo vorgestellt (Alle Fotos an einem Ort). Heute stelle ich das Projekt Lychee vor.