Webtechnologien

08.11.2021

Wir programmieren mit Laravel.

Bei der Wahl der Webtechnologien legen wir großen Wert darauf, dass diese sowohl modern als auch weit verbreitet sind. Deswegen verwenden wir für die Entwicklung von Webseiten das PHP-Framework Laravel. Außerdem arbeiten wir mit dem CMS Laravel Nova und Frameworks wie Tailwind (CSS) und Alpine (JS).

Was sind PHP und Laravel?

PHP ist die Programmiersprache, die hinter dem der Großteil aller Webseiten steht. Zur effizienten Programmierung mit PHP werden Code-Bibliotheken verwendet, sogenannnte PHP-Frameworks. Laravel ist das weltweit populärste und am weitesten verbreitete PHP-Framework.

Warum Laravel?

Aufgrund seiner weiten Verbreitung sowie seiner hohen Zuverlässigkeit, Modernität und Sicherheit verwenden wir das PHP-Framework Laravel bei KraenkVisuell serverseitig für alle Webseiten, die wir entwicklen. Ein Beispiel für eine Webseite, die auf Laravel basiert, ist Der Spiegel. Laravel eignet sich jedoch nicht nur sehr gut für große sondern auch für kleine Webseiten.

Inzwischen können wir auf eine über siebenjährige Erfahrung mit Laravel zurückblicken — von Version 4.2 bis Version 8. Selbstverständlich sind unsere Anwendungen alle auf dem aktuellen Stand.

Vorteile von Laravel

  • Weltweit populär und weit verbreitet
  • Moderne Technologien und regelmäßige Updates
  • Hohes Maß an Sicherheit
  • Übersichtliche und leicht bedienbare Benutzeroberfläche (Laravel Nova)
  • Individuell an Bedürfnisse anpassbar
  • Über siebenjährige Erfahrung mit Laravel

Warum Laravel Nova als CMS?

Als CMS benutzen wir Laravel Nova. Dies hat verschiedene Gründe. Zum einen ist Laravel Nova das offizielle Admin-Tool der Macher von Laravel. Zum anderen hat Laravel Nova eine sehr aufgeräumte, intuitive und leicht bedienbare Benutzeroberfläche.

Was ist ein CMS?

Die Abkürzung CMS steht für Content-Management-System. Solch ein System ermöglicht es unsere Kunden, Inhalte auf ihrer Webseite zu bearbeiten und hinzuzufügen, ohne selbst programmieren zu müssen.

In unserem CMS gibt es viele Features, wie einen Texteditor, eine Media Library (für Bilder, Videos, Sound-Dateien etc.) oder die Möglichkeit mehrere Benutzer anzulegen, die zeitgleich die Webseite bearbeiten können. Bei der Programmierung einer Webseite benutzen wir keine Standard Templates, sondern entwicklen die Webseite nach den individuellen Wünschen unserer Kunden. Daher ist es uns wichtig, dass unser CMS viele Möglichkeiten bietet und je nach Bedarf erweitert werden kann (Shop-System, Login-Bereich, Benutzerforum etc.).

Auch mit Laravel Nova haben wir bereits langjährige Erfahrung. Um das CMS zu unterstützen, tragen wir mit dem Texteditor-Addon Laravel Tiptap aktiv zum Open-Source-Ökosystem um Laravel Nova bei. Auch unser eigenes CMS-Addon für Laravel Nova ist ein Open-Source-Paket.

Warum nicht WordPress?

WordPress war eine wunderbare Erfindung, die es vor bald 18 Jahren jedem ermöglichte, schnell einen Blog oder eine Webseite auf die Beine zu stellen. Allerdings hat sich an dem dahinter liegenden Code seitdem recht wenig geändert. Vor allem durch sein Plugin-System ist WordPress dadurch zu einem erheblichen Sicherheitsproblem geworden.

Warum nicht Typo3?

Früher war Typo3 deutlich bekannter als Laravel. Obwohl Typo3 deutschlandweit noch recht häufig verwendet wird, ist inzwischen auch Laravel in Deutschland sehr populär geworden und weltweit sogar das populärste und am weitesten verbreitete PHP-Framework. Durch unsere über siebenjährige Erfahrung mit Laravel und die hohe Programmierfreundlichkeit des Framework können wir im Gegensatz zu WordPress und Typo3 für Laravel einen sehr guten Support anbieten und neue Features schnell in die Webseite einbauen.

Was empfehlen wir bezüglich Hosting & Server?

In der Regel haben unsere Kunden bereits einen Hosting-Partner für ihre Domain(s), denn oft laufen darüber E-Mail-Konten oder es wurde eine Webseite erstellt, die nun lediglich ersetzt werden soll. Daher gehen wir erst einmal davon aus, dass ein solches Hosting weiterhin bestehen soll, damit z.B. nichts am E-Mail-Setup verändert werden muss.

Allerdings arbeiten wir für das tatsächliche Hosting der Website am besten mit einem virtuellen Server, auf den wir per SSH direkten Zugriff haben. Ein solcher virtueller Server wird oft von den gängigen Hostern nicht in der Form angeboten, die wir präferieren.

Vorteile eines virtuellen Servers

Ein virtueller Server lohnt sich bereits für kleinere Webseiten mit überschaubarem Besucheraufkommen. Abgesehen von der höheren Geschwindigkeit der Webseite ist vor allem die Tatsache, dass wir auch nach Live-Gang der Webseite flexibel und schnell neue Features einbauen und Änderungen an der Webseite vornehmen können, lohnenswert.

Die Lösung ist recht einfach: Wir verwenden einen virtuellen Server von Hetzner. Ein Vorteil ist, dass sowohl die Datencenter als auch der Firmensitz des Anbieters in Deutschland sind. Außerdem liegt der Preis für einen solchen Server deutlich unter 10 Euro pro Monat (zur Skalierbarkeit für Webseiten mit hohem Besucheraufkommen schreiben wir weiter unten mehr).

Um die Domain für diesen Server verwenden zu können müssen lediglich DNS-Einträge einmalig geändert werden. Hierzu kann uns entweder temporär Zugang zum Hosting-Account beim bestehenden Provider gegeben werden oder wir leiten die DNS-Einträge weiter, die vorgenommen werden müssen.

Hier sind alle vier Varianten bezüglich Hosting aufgefürt. Variante A, B und C sind zusätzlich mit Cloudflare kombinierbar.

Variante A: Der Kunde legt einen Account bei Hetzner an.

Dies ist die kostengünstigste Variante: Der Kunde legt ein Konto bei Hetzner an und gibt uns Zugang dazu (auch dieser Zugang kann temporär sein). Auf diesem Weg fallen lediglich die tatsächlichen monatlichen Server-Kosten an.

Variante B: Wir sind für den Server bei Hetzner verantwortlich.

Es ist auch möglich, dass wir uns komplett um den Server kümmern. In diesem Fall kommen noch moderate monatliche Bearbeitungsgebühren von unserer Seite hinzu.

Variante C: Ein virtueller Server des bestehenden Hosters wird verwendet.

Möglicherweise bietet der aktuelle Hoster des Kunden ebenfalls virtuelle Server an, die per SSH konfigurierbar sind (Achtung: Oft sind diese Lösungen teurer als die virtuellen Server bei Hetzner). Mit den entsprechenden Zugangsdaten können wir möglicherweise auch diesen Weg gehen. Der Aufwand muss von Fall zu Fall betrachtet werden und ist in jedem Fall höher als der Weg über den virtuellen Server von Hetzner.

Variante D: Kein virtueller Server sondern das Shared Hosting des bestehenden Hosters wird verwendet.

Je nach Funktionsumfang der Website ist auch dieser Weg gangbar. Allerdings bietet uns Shared Hosting so gut wie keine Einstellungsmöglichkeiten. Daher kann es sein, dass viele Funktionen, die über den normalen Funktionsumfang einer rein informativen Website hinaus gehen, nicht möglich sind. Auch die Flexibilität und Schnelligkeit bei Updates und Erweiterungen ist nicht mehr gegeben, da meist kein SSH-Zugriff möglich ist. Die Mindestanforderungen an ein Shared Hosting sind PHP8 sowie der Zugang zu einer MySQL8-Datenbank.

Warum Cloudflare?

Bisher haben wir nur von dem Szenario gesprochen, dass die Domains per Änderung der A-Records in den DNS-Einträgen weitergeleitet werden. Tatsächlich verwenden wir für fast alle unserer Projekte Cloudflare. Cloudflare kann zusätzlich zu Variante A, B und C als Layer zwischen dem Client und dem Server installiert werden und hat dabei viele Funktionen. Unter anderen bietet es einen Schutz von DDoS-Angriffen, eine Firewall und Performance-Steigerungen durch die Verwendung eines CDN.

Vorteile von Cloudflare

  • Basis-Schutz vor DDoS-Angriffen, bösartigen Bots und mehr
  • Beschleunigung der Website durch ein CDN (Content Delivery Network) und automatische Asset-Komprimierung
  • Einblicke in Besucher- und Bot-Verkehr auf der Website
  • DNS-Einträge können schnell und unkompliziert geändert werden (keine Verzögerung durch Anfragen und Warten beim Hoster)
  • Kostenlos (in der Basis-Version)

Für die Verwendung von Cloudflare müssen nicht die A-Records der Domain, sondern die Nameserver-Einträge geändert werden. Mit dieser Änderung werden automatisch alle bestehenden DNS-Einträge zu Cloudflare umgezogen, und spätere DNS-Einträge müssen von uns direkt in Cloudflare vorgenommen werden. Durch den automatischen Umzug der bestehenden DNS-Einträge ist gewährleistet, dass alle bisherigen Funktionen der Domain, z.B. die Mail-Konten, ohne Unterbrechung weiter funktionieren.

Nach unserer Erfahrung sind wir es meistens selbst, die Änderungen an DNS-Einträgen vornehmen müssen. Die Verwendung von Cloudflare hat deswegen den Vorteil, da wir nicht für jeden Eintrag den Hoster anfragen müssen, um DNS-Änderungen vorzunehmen. Dies erspart Verzögerung und macht den Prozess deutlich schneller und umkomplizierter. Für die wenigen Fälle, bei denen es anders herum geht, nehmen wir selbstverständlich die DNS-Einträge innerhalb von kürzester Zeit vor.

DNS-Änderungen

Änderungen, die wir häufig vornehmen müssen, sind zum Beispiel:

  • Versenden von E-Mails: Beim Verwenden von Drittanbietern für das automatische Versenden von E-Mails (Postmark, Mailgun etc) müssen verschiedene TXT-Einträge gemacht werden, damit die E-Mails nicht automatisch im Spam-Fach der Empfänger landen.
  • Analytic-Tools: Beim Einbinden von Analytic-Tools wie zum Beispiel Fathom muss man Domains ebenfalls über einen TXT-Record bestätigen.

Skalierbarkeit für höhere Ansprüche

Webseiten mit hohem Besucheraufkommen oder der Notwendigkeit von 99,999% Uptime lassen sich natürlich mit einem einzigen virtuellen Server für EUR 10 / Monat nicht bedienen. Aber unser Setup lässt sich beliebig skalieren. In kürzester Zeit können wir: