Website Baukasten vs. Webspace oder ein eigener Webserver?

This page is also available in English

Wer selbst eine Website betreiben will, hat dafür heutzutage mehr als eine Option. Neben einer einfachen HTML-Seite können verschiedenste Programmiersprachen, Frameworks oder Content-Management-Systeme (CMS) wie WordPress, Joomla oder Typo3 oder andere Webservices verwendet werden. Zudem tummeln sich diverse Anbieter sogenannter Websitebaukasten im Netz, mit denen auch Laien schnell eine Website zusammenklicken können. 

Selbst eine Website betreiben

Neben der eingesetzten Software kommen für den Betrieb einer Website unzählige Hosting-Provider und mehrere Hosting-Varianten infrage:

Variante 1: Websitebaukasten

Die wohl einfachste Möglichkeit, eine Website zu erstellen, bieten sogenannte Websitebaukasten-Systeme von Anbietern wie Wix, Jimdo oder Squarespace. Die Anbieter versprechen eine einfache Bedienung und ermöglichen auch Anfängern, eine Webseite über eine einfache Oberfläche anzulegen und zu verwalten. Erfahrungsgemäß bieten diese Systeme meist nur beschränkte Möglichkeiten und sind preislich relativ teuer oder über Werbung finanziert. Eine eigene Website sollte immer eine eigene Domäne (URL) verwenden und auf den eigenen Namen registriert werden, da die Website ansonsten dem Betreiber und nicht einem selbst gehört. 

Variante 2: Webspace

Etwas mehr Flexibilität, bei geringeren Kosten, kann durch die Verwendung eines Webspace eines Web-Providers erreicht werden. Bei dieser Variante kann der Webspace und vorwiegend eine MySQL-Datenbank gemietet werden, was das Hochladen und Betreiben einer nahezu beliebigen Website bzw. eines nahezu beliebigen Websystems ermöglicht. Viele der Provider bieten für deren Webspace ein vereinfachtes Setup für bekannte CMS-Systeme wie zum Beispiel WordPress an. Beim klassischen Webhosting entsteht ein zusätzlicher Wartungsaufwand, da die verwendete Web-Software regelmäßig überprüft, gebackupt und gegebenenfalls upgedatet werden soll.

Variante 3: eigener Webserver

Noch flexibler ist der Betrieb eines eigenen Webservers, und spätestens beim Hosten mehrere Websites ist diese Variante auch preislich sehr attraktiv. Beim Betrieb eines eigenen Webservers entsteht neben der Wartung der Web-Software ein zusätzlicher Wartungsaufwand für das Host-Betriebssystem. Und von Zeit zu Zeit die Notwendigkeit, die Webseiten auf einen neuen Server übersiedeln zu müssen, spätestens wenn keine Sicherheitsupdates für das Host-Betriebssystem mehr angeboten werden. Als Beispiel kann neben anderen Webservices auch WordPress auf dem eigenen Server betrieben werden. Wer selbst einen Webserver betreibt oder betreiben will, muss sich dafür ein paar Gedanken zur Funktionsweise eines Webservers machen:

die Basis: TCP/IP und DNS

Jeder Webserver benötigt für das Beantworten der Anfragen eine eindeutige Adresse, die IP-Adresse und einen zugehörigen Port: 80 für http und 443 für HTTPS. Nachdem sich die IP-Adressen schlecht merken lassen, gibt es dann auch noch die Nameserver: DNS. Die DNS-Server übersetzen die bekannten Domain-Namen auf IP-Adressen, woraufhin das Transportprotokoll TCP dafür sorgt, dass die Pakete zugestellt werden.

Domain und dessen Verwaltung

Eine Domain wie diese hier „libe.net“ kann am einfachsten bei einem der unzähligen Hosting-Provider bestellt werden. Bei der Domainregistrierung muss ein DNS-Server angegeben werden:

📢 Hier wird voraussichtlich am 20.12.2022 ein neuer Beitrag verlinkt werden: Domaintransfer Hosteurope zu Hetzner Push-Nachrichten erlauben?

Die Provider stellt für deren registrierte Domains meist eine DNS-Verwaltung zur Verfügung. Über die DNS-Verwaltung können A-Einträge für die Haupt-Domain und Subdomains hinzugefügt werden, diese zeigen dann auf eine bestimmte IP-Adresse: 

DNS-Eintrag beim Provider in der Zone als Beispiel libe.net Aufruf im Browser
Typ Name Wert
A   83.169.23.37 http://libe.net oder https://libe.net
A www 83.169.23.37 http://www.libe.net oder https://www.libe.net
A test-domain 83.169.23.37 http://test-domain.libe.net oder https://test-domain.libe.net

Die verwendete IP-Adresse ist die Adresse des verwendeten Webservers, oder bei einem Heimnetzwerk, die Adresse des Internetanschlusses, siehe: Website auf dem eigenen Rechner. Der Webserver muss bei einer Anfrage auf die URL (https://www.libe.net) den entsprechenden Webservice, also die eigentliche Website bereitstellen.

Mehrere Websites auf einem Server

Zunächst kann jeder TCP-Port nur einen Webservice bereitstellen und jeder Webserver nur einmal den üblichen Port 443 belegen. Sollte eine Website direkt auf einen Port veröffentlicht werden, würde das bedeuten, dass nur eine Website auf einer IP-Adresse bereitgestellt werden kann. Abhilfe schafft der sogenannte Host Header. Beim Betrieb mehrerer Websites auf einem Server sorgt der Host Header dafür, dass der Webservice die Anfrage richtig beantwortet oder weiterleitet. Der Host Header wird bei jedem Aufruf einer Website (HTTP-Aufruf) mit dem Hostnamen der aufgerufenen Website befüllt (=Domain-Name, als Beispiel libe.net) wodurch der Webservice in der Lage ist die Anfrage zu beantworten oder einem anderen Webservice zuzuteilen. 

Als Ergänzung zu dem angeführten Beispiel mit der Zone libe.net und den A-Rekords für www und test-domain könnte www.libe.net von einem Webservice beantwortet werden und test-domain.libe.net von einem anderen Webservice am selben Server mit demselben TCP-Netzwerkport. Natürlich können auch mehrere Domains auf denselben Server verweisen. Im Prinzip spielt es dabei auch keine Rolle, auf welchem Server die Domänen gehostet werden. Somit wäre der Betrieb einer Website auch über einen normalen Internetanschluss auf dem eigenen PC denkbar.

Als konkretes Beispiel funktioniert diese Website wie folgt:

Für den Betrieb der Seite www.libe.net wird ein virtueller Server eines Hosting-Providers verwendet, ursprünglich von Host Europe, aktuell von Hetzner, siehe: Providerwechsel HostEurope vs Hetzner, vServer vs Cloud-Server. Der virtuelle Server, auch Cloud-Server genannt, besitzt eine öffentliche IP-Adresse, welche über die Domäne www.libe.net aufgerufen werden kann. Damit die Domäne www.libe.net die öffentliche IP-Adresse des virtuellen Servers verwendet, wurde die Domäne libe.net mit den DNS-Servern des Hosting-Providers registriert und in der DNS-Verwaltung des Providers in der Domänen-Zone libe.net ein entsprechender A-Record angelegt: www -> 83.169.23.37

Der Verbindungsaufbau von einem Endgerät schaut wie folgt aus: Beim Aufruf der Domäne www.libe.net im Browser, wird die Anfrage als Erstes zum DNS geleitet, dieser antwortet für www.libe.net mit der IP-Adresse 83.169.23.37, woraufhin eine Verbindung über diese IP-Adresse zum eigentlichen Webserver und dessen Webservice stattfindet. Der Webservice nimmt die Verbindung entgegen und verwendet die mitgegebene Host Header Information (www.libe.net) für das Weiterleiten der Anfrage an ein weiteres Webservice, welches die eigentlice Website libe.net zur Verfügung stellt.

Eine Website auf dem eigenen Rechner testen?

Wer auf dem eigenen Rechner einen Webserver oder Webservice installiert, kann darauf über http://localhost zugreifen, siehe: localhost aufrufen: IP-Adresse „127.0.0.1“, „::1“ | was ist localhost? Als Webserver kann in Windows zum Beispiel Laragon oder ein Docker-Container mit einem Webservice verwendet werden. 

Für einen Test, ohne öffentlichen DNS kann der Zugriff über das Internet auch über die IP-Adresse stattfinden, dazu sind normalerweise keine speziellen Anforderungen notwendig. Einzig der Internetzugang könnte seitens Provider noch eine Firewall betreiben, die den Zugriff auf die Webserverports 80 und 443 verbieten, bzw. gibt es Internetzugänge, bei denen sich mehrere Rechner eine IP-Adresse teilen (NAT): In beiden Fällen würde der Test nicht funktionieren.
Sollte beides nicht der Fall sein: Was sehr wahrscheinlich ist, kann auf einem beliebigen, mit dem Internet verbundenen Rechner ein Webserver installiert und fĂĽr den Zugriff am Router ein Port-Forwarding eingerichtet werden, siehe: port-forwarding.

(Quelle: port-forwarding)

Um herauszufinden, welche IP-Adresse im Internet verwendet wird, kann mit dem Rechner, auf dem die Website läuft, diese Seite besucht werden: Deine aktuelle öffentliche IP für den Zugriff ins Internet lautet:

Nachdem die Kommunikation zum Webserver über IP stattfindet, ist es möglich diese hier anzuzeigen. Es gibt aber auch noch andere Seite, die deine IP anzeigen können: einfach mal nach „show my ip“ googeln ...

Eine Website oder Webservice auf dem eigenen Rechner betreiben?

Damit der Zugriff nicht über die IP-Adresse stattfinden muss, sondern eine Domäne (URL, z. B. libe.net) verwendet werden kann, kann diese bei einem Internetprovider angefordert und auf dessen DNS registriert werden. In der Verwaltungsoberfläche des Providers kann dann in der DNS Zone der Domäne ein A-Record mit der öffentlichen IP-Adresse des privaten Internetzugangs angelegt werden. Voraussetzung hierfür ist auch noch, dass sich die IP-Adresse des Internetanschlusses entweder nicht ändert oder dass der DNS die IP bei einer Änderung anpasst. Dazu wäre dann ein weiterer Service im Internet notwendig, welcher den DNS-Eintrag bei einer Änderung der IP updatet: sowas wie der DynDNS-Service. Siehe: free DynDNS Service - Zugriff bei wechselnder öffentlicher IP. Ein öffentlicher Internetauftritt sollte meiner Meinung nach nicht auf einem Rechner zu Hause veröffentlicht werden. Der Einsatzzweck ist vielmehr das Veröffentlichen von eigenen Webservices, wie zum Beispiel die eigene private Cloud oder ein Zugriff auf das Smart-Home oder auf den eigenen Passwortmanager.

DNS simulieren: Hosts Datei

Ein DNS-Eintrag kann zudem ohne einen Internetprovider und ohne einer dort verwalteten DNS-Zone auf dem eigenen Rechner simuliert werden, indem in der Hosts-Datei ein DNS-Eintrag am Rechner hinterlegt wird. In Windows kann die Hosts-Datei mit einem Editor (als Administrator) bearbeitet werden:

Im Suchfeld: Notepad, rechts „Als Administrator ausführen“ und folgende Datei öffnen: c:\windows\system32\drivers\etc\hosts

Beispieleintrag in der Hosts Datei:
127.0.0.1 eine-erfundene-domain.test

Anstelle von 127.0.0.1 kann für den Zugriff aus dem Internet auch öffentliche IP-Adresse verwendet werden, wie bereits erwähnt wird dafür ein Port-Forwarding am Router vorausgesetzt. 127.0.0.1 steht für localhost, siehe: localhost aufrufen: IP-Adresse „127.0.0.1“, „::1“ | was ist localhost?

Der Aufruf im Browser erfolgt dann mit in der Hosts-Datei eingetragenen DNS-Namen:

In der Hosts-Datei können auch bestehende Domänen eingetragen, umgeleitet oder gesperrt werden, siehe: bestimmte Websites sperren

http / HTTPS SSL TLS

Für den Betrieb einer Website sollte ein SSL-Zertifikat verwenden, da die Verbindung ohne Zertifikat als „Nicht sicher“ eingestuft wird:

Wird anstelle von HTTP, HTTPS als Protokoll verwendet, findet die Verbindung verschlüsselt statt. Ein am Webserver installiertes Zertifikat stellt zudem sicher, dass es sich bei dem DNS-Eintrag auch wirklich um diesen handelt und die aufgerufen Seite nicht auf eine Fake-Seite umgeleitet wird. SSL-Zertifikate sind heute Standard und dank Let’s Encrypt meist kostenlos, dennoch bieten nicht alle Provider für deren Webspace kostenlose Zertifikate an. Anders beim Einsatz eines virtuellen Servers, hier können Let’s Encrypt-Zertifikate über Plesk (falls vorhanden), über entsprechende Pakete oder mit einem entsprechenden Docker-Container bereitgestellt werden, siehe: sichere https Verbindung: Traefik Reverse Proxy + Let´s Encrypt.

Fazit

Wer sich keine Gedanken um den Betrieb oder um Updates einer Website machen will und einfach nur eine Webpräsenz ohne spezieller Funktionen benötigt, ist wahrscheinlich bei einem Provider eines Websitebaukasten gut aufgehoben. Wer etwas Wartungsaufwand nicht scheut, kann sich einen Webspace oder einen eigenen virtuellen Server mieten, um eine flexiblere und kostengünstigere Umgebung aufbauen. Zusätzlich könnte die Website auf dem eigenen Rechner getestet werden. Beim Veröffentlichen der Homepage sollte ein Augenmerk auf HTTPS gelegt werden, was heute über Docker und einem Reverse-Proxy ohne zusätzlicher Kosten, sehr einfach umgesetzt werden kann, siehe: Traefik in Docker | mehrere Webserver inkl. Zertifikat SSL.

positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE fĂĽr deine Bewertung!

Aktualisiert: 04.09.2022 von Bernhard đź””


Top-Artikel in diesem Bereich


Docker Mailserver selbst betreiben | ein Erfahrungsbericht
Mithilfe eines geeigneten Docker-Images ist es relativ einfach einen Mailserver selbst zu betreiben. Ursprünglich habe ich den integrierten Mailserver des Host Europe vServers (Plesk) verwendet und bin bei der Suche nach einem Ersatz auf einen sehr einfachen Docker-Container gestoßen. Der schlanke Container liefert einen Mailserver ohne grafische Verwaltungsoberfläche, kann aber mit wenigen einfachen Befehlen verwaltet werden. Für das Senden und Empfangen der Mails kann ein beliebiger E-Mail-Cli...

sichere https Verbindung: Traefik Reverse Proxy + Let´s Encrypt
Für nahezu alle bekannten Websysteme gibt es fertige Docker-Container, bzw. können diese relativ einfach selbst erstellt oder bestehende Container angepasst werden. Als Docker-Container können die Webservices sehr einfacher installiert und betrieben werden. Wer einen Webservice über das Internet veröffentlicht, sollte dafür heute unbedingt eine verschlüsselte Verbindung (SSL) anbieten. Um den Zugriff auf einen oder mehrere Container zu regeln, kann ein Reverse-Proxy mit kostenlosen Let’s Encrypt...

Nextcloud Server Docker | Einrichtung +https: Let’s Encrypt [ssl]
Um mit meinem NAS Kontakte, Termine und Fotos zu synchronisieren, habe ich Nextcloud getestet und damit anderen Cloudanbietern für meine privaten Daten ein Stück weit den Rücken gekehrt. Dank Docker ist die Installation einfacher und flexibler denn je und ermöglicht es, Nextcloud auf einer beinahe beliebigen Hardware zu betreiben.

Fragen / Kommentare


Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu Mehr Details