Das Ziel des Blogs ist, einen Blick hinter die Kulissen der Entwicklung zu ermöglichen. Oft weiss man nicht wie eine Webseite oder eine App erstellt wurde – sie ist einfach da. Dabei gehört sehr viel dazu eine Webseite, gar eine App aufzusetzen. Daher möchte ich die Tutorial-Reihe mit einer Übersicht der zum Einsatz gekommenen Technik dieses Blog beginnen.

Eine Webseite muss ansprechend, informativ und interaktiv gestaltet sein. Ausserdem muss der Content relevant und im Kontext sein.

Um all die wichtigen Punkte einer guten Webseite zu erfüllen habe ich mich für folgendes Modell entschieden. Es hat sich bereits für andere Projekte bewährt und wird von der Entwickler-Community stark unterstützt.

WordPress & Salient

Ubuntu

Apache 2

Let’s Encrypt

Namecheap

Digitalocean

WordPress, als Herzstück des Blogs. Es ist das CMS (Content Management System), welches eine einfache und schnelle Bedienung der Webseite ermöglicht. Anders als bei purem HTML-Code ist WordPress dynamischer und ermöglicht dank der objektorientierten Programmierung einmaliges Bearbeiten für viele Seiten. Das bedeutet, ich kann beispielsweise einen Beitrag erstellen und dieser erscheint sofort auf der Startseite, ohne dass ich diese Änderung dort extra vornehmen musste.

Salient, als Theme (= Design). Es bietet mir ein ansprechend aussehendes Grundgerüst und einige vordefinierte Funktionen, damit Artikel eleganter aussehen. Ich kann damit ganz einfach Teile der Webseite animieren, Zitate interessant einfügen und vieles mehr. Ausserdem kümmert sich das Theme um die Benutzerfreundlichkeit. Da es responisve ist, sieht es auf allen Geräten (PC, Laptop, Tablet und Smartphone) gut aus. Es wurde somit extra für die Nutzung auf diversen Geräten entwickelt.

Ubuntu, als Betriebssystem für den Server. Da ich den Server komplett selbst manage kann ich entscheiden, auf welchem Betriebssystem dieser läuft. Mein Favorit und Empfehlung für jeden Einsteiger ist Ubuntu (ab Version 14). Es ist Open Source und damit kostenlos sowie stark modifizierbar. Ausserdem finden sich etliche Tutorials und Anleitungen zu diesem Betriebssystem im Netz, wodurch die Nutzung deutlich erleichtert wird.

Apache2, als Webserver. Mit Ubuntu ist der Server an sich installiert. Um Webseiten darstellen zu können bedarf es jedoch einer extra dafür zugewiesenen Erweiterung. Apache2 ist neben Ngnix Vorreiter und Standard für diese Art von Webseiten. Ähnlich wie für Ubuntu finden sich auch für Apache2 viele Tutorials online, die einem das Setup vereinfachen.

LetsEncrypt, als Zertifizierungsstelle. Dieser Schritt des Setups ist zwar nicht notwendig aber vorteilhaft. Mit ihm wird die Webseite gegen Man-In-The-Middle Angriffe gesichert. Sichtbar ist der Schutz durch das grüne Schloss in der Adresszeile des Browsers, sowie den Anfang der URL mit https. Ohne die sichere Verbindung werden die Daten der Webseite in Klartext an den Server übermittelt. Jeder der somit Zugang zum Netzwerk (sprich WLAN) hat, kann diese Daten auslesen. Die sichere Verbindung ist daher schon seit einigen Jahren Standard bei Shopping- und Bankwebseiten. Neuerdings lohnt es sich jedoch für jede Webseite unter der SSL/TLS Leitung zu laufen. Google will SSL/TLS gesicherte Webseiten mit höherem Ranking in den Suchergebnissen belohnen (siehe Google Webmasterblog). Mit LetsEncrypt ist ein neuer Dienst geschaffen, der diese Verbindungen sogar einfach in den Server integriert und automatisiert – kostenlos!

Namecheap, als Domain Registrar. Eine Webseite wäre nichts ohne die Webseitenadresse. Statt der langen IP-Adresse (die durch IPv6 noch länger und komplexer wird), kann man Domains (= Webadressen) mieten. Jährlich kostet eine .com-Domain ca. 10$. Exklusivere, wie die neuen nTLD’s können rund 35$ jährlich oder mehr kosten.

Digitalocean, als Server-Provider. Auf den Servern von Digitalocean sind all die Dateien für das Betriebssystem und die Erweiterungen gespeichert. Ausserdem verwaltet Digitalocean meine Domains. Namecheap leitet diese an die Nameserver (DNS-Server) von Digitalocean weiter. Dort kann ich entscheiden, zu welchem meiner Server die Domain gepointet ist. Ausserdem kann ich Subdomains definieren, einen externen Mailserver an die Domain binden etc.

Dies war die Liste der wichtigsten Dinge die nötig sind, um den Server zum laufen zu bringen. Es steckt meist mehr dahinter als man denkt! Die Anbieter und Tools die ich hierfür verwende sind meine persönlichen Favoriten, die ich bereits jahrelang nutze. Nicht genannt wurden z.B. die Erweiterungen php5, MySQL u.Ä., die für den Betrieb von WordPress nötig sind. Die Installation dieser Services ist jedoch in Hinsicht auf eine WordPress-Installation selbstverständlich (LAMP-Stack).

Wem die Begriffe hier zu wirr klingen: Grundsätzlich geht es auch einfacher, indem man die Verwaltung der Servertechnik dem Provider überlässt. Dadurch wird die WordPress-Installation wirklich kinderleicht. Einer der Provider, die ich früher sehr gerne benutzt hatte ist All-Inkl. Sehr Einsteiger- und Kundenfreundlich. Man bekommt den Webserver fertig geliefert und muss keine grundlegenden Dinge wie Betriebssystem, Erweiterungen etc. installieren. Auch bei Updates oder Problemen hilft der Provider.

Wer sich dennoch für die komplexe, hier eingesetzt und geschilderte Variante interessiert den Verweise ich auf die Tutorials meines Providers. Mit etwas Vorwissen, Geduld und den Tutorials ist es jedem möglich einen stark modifizierbaren (Web-)server aufzusetzten. Ich kann so beispielsweise Domains bei diveresen Anbietern registrieren, leite diese dann zu Digitalocean, verteile im DNS-Management die Records auf die Droplets (= Digitalocean Server), auf welchen sich wiederum mehrere Webseiten befinden, die dank Apache2 Virtual Hosts den Weg zur richtigen Domain finden. Eine komplex scheinende Methode, die aber viel kostengünstiger und dynamischer ist.

Browser sendet Anfrage
 Namecheap leitet die Anfrage an Digitalocean
 Digitalocean steuert die Anfrage (DNS) an den richtigen Droplet
Der Server verarbeitet die Anfrage
Apache2 leitet die Anfrage an den richtigen Document Root (Virtual Host)
Let’s Encrypt erzwingt sichere SSL/TLS-Verbindung
WordPress wird geladen
Die MySQL-Datenbank (Inhalte etc.) wird per PHP für WordPress geladen

Um den Einstieg zu erleichtern habe ich eine kleine Liste mit Tutorials von Digitalocean zusammengestellt, die für eine korrekte Installation von WordPress nötig sind. Digitalocean Virtual Server sind bereits ab 5$ monatlich erhältlich! Ein unschlagbarer Preis, da auch die DNS-Verwaltung und SSD-Technik inkludiert ist!