Die Entwicklung des Webspace-Dienstes: 25 Jahre Webhosting am RRZE

Wer eine Website ins Internet stellen möchte braucht zum einen eine aussagekräftige Domain und zum anderen Speicherplatz für die Dateien seiner Website. Diesen Speicherplatz bildet der Webspace. Das RRZE vermietet, als Webhosting-Anbieter, diesen Platz auf einem Server, der den Kunden dann als Webspace für ihre Webprojekte zur Verfügung steht. (BI95, MW)

Das Procedere beim Aufruf von Webauftritten ist klar strukturiert. Meist verwendet man einen Browser und gibt dort entweder nur den Domainnamen ein, wie beispielsweise blogs.fau.de, oder man folgt einem Link zu einem etwas spezifischeren Ziel, wie in etwa blogs.fau.de/webworking/2019/07/30/webcluster-softwarekonfiguration-auswaehlbar/. In beiden Fällen wird der Browser zuerst die IP-Adresse des Domainnamens herausfinden, um zu wissen, wohin er diese Anfrage schicken kann:

GET /webworking/2019/07/30/webcluster-softwarekonfiguration-auswaehlbar/HTTP/1.1 Host: blogs.fau.de

Dass die Verbindung über das Protokoll HTTPS läuft und zunächst noch ein gemeinsamer symmetrischer Schlüssel zur Transportverschlüsselung zwischen den beiden Verbindungspartnern ausgetauscht werden muss, soll hier außer Acht gelassen werden.

Die Entwicklung der FAU im Internet

Die FAU ist seit 25 Jahren im Internet zu finden. Debütanten waren zuvor Informatik, Mathematik, Physik und das RRZE. Der erste offizielle Webauftritt der FAU wurde 1995 unter der Adresse www.uni-erlangen.de veröffentlicht.

Im Laufe der Jahre hatten an der FAU immer mehr Einrichtungen, Fakultäten, Lehrstühle und Professuren eigene Webauftritte. 1.350 sind es derzeit, 1.150 davon in etwa betreibt das RRZE. Mit 580 Webauftritten sind am stärksten die WordPress-Multisite-Instanzen, das jüngste Angebot, vertreten. 500 Webauftritte nutzen den vom RRZE angebotenen Webspace. Er hat inzwischen verschiedene Entwicklungsstufen durchlaufen und soll im Folgenden etwas genauer beschrieben werden.

Das Webspace-Angebot

Anfangs betrieben Einrichtungen ihre Webauftritte meist auf einem eigenen Server. Der Domainname war damals oft gleich dem Namen des Rechners, der den HTTP-Dienst ausgeführt hat.

Die Anfänge: Trennung nach Fakultäten

Als die Nachfrage nach Webauftritten größer wurde, bot das RRZE Webhosting als Dienstleistung für die gesamte Universität an. In den Anfangszeiten kam hier Solaris als Betriebssystem zum Einsatz. Die Serversoftware – am RRZE war es Apache – musste damals selbst kompiliert werden. Für jede Fakultät war ein Webserver im Einsatz, was mitunter den Nachteil hatte, dass eine ganze Fakultät offline war, wenn ein Webauftritt fehlkonfiguriert wurde oder besonders belastet war.

Ausfallsicherheit: Betrieb mit Loadbalancer

Das kam zwar nicht oft vor, aber am RRZE galt „Vorsorge ist besser als Nachsorge“ und so entschied man sich für die Verwendung von Loadbalancern. Sie dienen dazu, Anfragen auf mehrere Server zu verteilen, die alle identisch konfiguriert sind. Sollte einer der Server ausfallen, verbleiben immer noch die übrigen und übernehmen die Arbeit. Am RRZE wurde also damals vor die fünf Webserver, von denen jeder für eine Fakultät konfiguriert war, ein Loadbalancer gesetzt. Er nahm Anfragen für alle Webauftritte an, die vom RRZE gehostet wurden und die Server dahinter wurden identisch konfiguriert.

Betriebssysteme: von Solaris über SuSE Linux zu Ubuntu

Zu Zeiten von Solaris und SuSE Linux gab es für die Software, die für den Betrieb des RRZE-Webdienstes genutzt wurde, noch keine Distributionen. Deswegen mussten die Softwarepakete selbst gebaut werden. Mittlerweile wird am RRZE Ubuntu als Serverbetriebssystem eingesetzt, das in den Standardpaketen die meisten benötigten Features enthält. Weitere notwendige Features stammen entweder aus zusätzlichen Quellen oder aus dem RRZE-eigenen Build Service.

Auswahl: Betrieb unterschiedlicher Softwareinstallationen mit Docker

Diese Konstellation hatte (und hat noch immer) den Vorteil, dass sie robust ist. Etwas zu kurz kommt dabei allerdings die Flexibilität bei der Auswahl der verwendeten Software. Der RRZE-Webspace wird für selbstverwaltete Software verwendet. Meist sind das in PHP verfasste Open-Source-Projekte, die an die eigenen Vorstellungen angepasst werden – etwa WordPress mit Themes oder Plugins, die beim WordPress-Hosting nicht angeboten werden, oder private Cloud-Lösungen wie Owncloud oder Nextcloud. Je nachdem, wie gut gepflegt diese Software ist, benötigt sie unterschiedliche PHP-Versionen. Aktuelle Entwicklungen setzen oft die aktuellste PHP-Version voraus, wohingegen Projekte, die seit Jahren laufen und um die sich niemand mehr kümmert, angepasst oder mit einer älteren PHP-Version betrieben werden müssen.

Am RRZE lief bislang immer eine aktive PHP-Version. Bei Versionsumstellungen wird im Vorfeld ein Testsystem mit der neuen Version bereitgestellt, im Nachgang ein Ausweichsystem mit der bisherigen alten Version.

Trennung von Front- und Backend

In Zukunft können Webmaster an der FAU aus allen von PHP offiziell unterstützten Versionen auswählen. Damit wird einiges an Flexibilität gewonnen, denn die Apache-Installation des RRZE war bisher mehr oder weniger monolithisch angelegt. Auf einem Server lief eine Apache-Installation mit mehreren hundert Kindprozessen. PHP wurde als Modul verwendet, konnte also nur in einer Version geladen werden. Diese Apache-Installation sorgte auch für das Logging der Zugriffe (Welche Seite wurde wie oft besucht?) und für die Verschlüsselung der Verbindung.

Auf den neuen Servern sind die Aufgaben in Frontend und Backend aufgeteilt. Die Apache-Installation auf dem Server kümmert sich, wie bisher, um Verschlüsselung und Logging, fungiert aber nur noch als Reverse Proxy – sie reicht die eigentlichen Anfragen weiter an verschiedene Backends. Am RRZE sind dies Docker-Container, in denen wiederum Apache-Webserver laufen. Diese liefern dann die aufgerufenen Dateien oder Skripte aus. Für jede PHP-Version gibt es am RRZE einen Container. Welche PHP-Version für einen Webauftritt verwendet werden soll, lässt sich im Webmasterportal festlegen. Die Aufgaben sind also wie folgt gewandert: Das Frontend kümmert sich um die Transportverschlüsselung und das Logging der Zugriffe, die Backends sind für die Auslieferung der Dateien und die Generierung der dynamischen Inhalte zuständig.

Bei den Backends beschränkt sich das RRZE auf die bisher auch angebotenen Sprachen PHP und Python. PHP ist in den im aktiven Support befindlichen Majorversionen 7.2, 7.3 und 7.4 verfügbar, Python in den Versionen 2.7 und 3.6. Dennoch ist das System flexibel genug, um auch für andere Sprachen eingesetzt zu werden.

Differenzierung: Webhosting versus Content Management

Seit 2015 betreibt das RRZE zusätzlich zum angebotenen Webspace ein Content-Management-System (CMS), über das auch das Corporate Design der FAU in Form von eigenen Themes zur Verfügung gestellt wird.

Die Nutzer können mit Hilfe dieser WordPress-Multisite-Installation eine anspruchsvolle Website erstellen und sich dabei auf die Inhalte konzentrieren. So lassen sich beispielsweise verschiedene Datenquellen wie Termine aus Kalendern, Meldungen aus anderen Websites, Daten aus dem UnivIS, Forschungsdaten aus CRIS, Kartendaten aus dem Lageplan der Universität, Videos aus dem Videoportal der Universität oder aus YouTube sowie Vortragsfolien aus SlideShare integrieren.

Das CMS des RRZE beherbergt inzwischen 580 einzelne Websites und scheint weiterhin großen Zuspruch zu erfahren. Auch bei den meisten Neueinrichtungen ist es das Mittel der Wahl. Der Webspace ist vor allem für diejenigen interessant, die ein anderes Content-Management-System oder generell eine andere Webanwendung betreiben oder WordPress mit anderen Plugins nutzen möchten.

Weitere Informationen

Die Entwicklung der FAU im Internet (Artikel in BI 94, S. 36)

Webcluster: Auswählbare Softwarekonfiguration

Webmanagement

Ausbildung & Information