Webserver/SELF-Hosting

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche

Dieser Artikel beleuchtet den von Einsteigern und Fortgeschrittenen oft geäußerten Wunsch, Webseiten auf dem eigenen heimischen PC zu hosten. Lesen Sie, warum das nicht unbedingt eine gute Idee ist, und was man beachten sollte, wenn man es dennoch tun möchte.[1]

Warum überhaupt?

Die Gründe, warum man Webseiten auf dem eigenen PC hosten möchte, sind vielfältig. Oft werden aber Argumente wie diese genannt:

  • es ist einfacher als bei einem öffentlichen Webhoster, weil das dauernde Hochladen geänderter Dateien entfällt
  • es kostet nichts
  • Ihr eigener PC und dessen Handhabung ist Ihnen vertraut, die Administration daher einfacher als bei einem Server, der irgendwo in einem Rechenzentrum steht
  • Sie haben die völlige Freiheit bei der Auswahl und Konfiguration der Software­komponenten, sind sozusagen Ihr eigener Chef
  • do-it-yourself ist spannend und macht Spaß

Wir werden nach und nach sehen, dass diese Behauptungen und Annahmen nur zum Teil richtig sind; teilweise sind sie irrelevant oder sogar falsch. Nur den letztgenannten Punkt können wir überhaupt nicht bestreiten.

Ich will aber!

Okay, Sie sind also nach wie vor entschlossen, Ihren eigenen Webserver zuhause zu betreiben. Dann schauen wir uns mal an, was dafür nötig ist.

Technische Voraussetzungen

Sie haben einen Computer ausgewählt, der als Server herhalten soll. Ob es ein Windows- oder Linux-PC oder ein Apple-Computer sein soll, ist vor allem eine Glaubensfrage; im Prinzip sind alle genannten Systeme mehr oder weniger gut für das Vorhaben geeignet. Bedenken Sie aber, dass dieser Computer rund um die Uhr laufen muss! Ist Windows da wirklich eine gute Basis, wenn es wegen fälliger Updates ab und zu neu booten muss und dabei eine halbe Stunde braucht, um das Update zu verarbeiten, bis es wieder ansprechbar ist?

  • Zunächst richten Sie die notwendige Software ein. Das ist in anderen Artikeln beschrieben. Vergessen Sie aber nicht, dass es mit der einmaligen Installation des Webservers und der mitwirkenden Software­komponenten nicht getan ist! Sie sollten unbedingt aktuell gehalten werden, ganz besonders, wenn Bugs oder Sicherheits­lücken bekannt werden.
  • Sorgen Sie dafür, dass der ausgewählte Rechner für Anfragen aus dem Internet erreichbar ist. Die meisten Internet-Zugangsprovider weisen dem angeschlossenen Endgerät (z. B. DSL-Modem oder Router) dynamisch eine IP-Adresse zu, die gerade verfügbar ist. Sie müssen also damit rechnen, dass diese IP-Adresse sich jederzeit ändern kann. Nur wenige Provider bieten eine feste, statische IP-Adresse als Option an. Um diese Klippe zu umschiffen, gibt es Dienste wie z. B. dyndns.org oder spdns.org, die bei der oft kostenlos möglichen Registrierung einen festen Hostnamen reservieren, etwa ihrname.spdns.org, und diesen Namen jederzeit auf Ihre momentan gültige IP-Adresse abbilden. Damit der Anbieter Ihre aktuelle IP-Adresse kennt, muss Ihr Router sie bei jeder Änderung melden. Diese Funktion ist bei den meisten DSL-Routern integriert und muss einmalig mit den richtigen Daten Ihres DNS-Anbieters versorgt werden.
  • Schließlich müssen Sie in Ihrem Router noch eine weitere Einstellung vornehmen, damit er ankommende Verbindungen auf Port 80 (Standard-Port für HTTP) oder 443 (typisch für HTTPS) an den zuständigen Computer in Ihrem lokalen Netz weiterreicht. Diese Funktion wird bei den DSL-Routern meist Port Forwarding oder Port-Weiterleitung genannt, seltener auch Virtuelle Server.
  • Denken Sie bitte auch daran, dass für die Web-Inhalte, die von Ihrem Server abge­rufen werden, die Upstream-Bandbreite Ihres Internet-Anschlusses maßgeblich ist. Die ist bei einem ADSL-Anschluss deutlich geringer als die im Vertrag beworbene Downstream-Bandbreite (das A in ADSL steht für asymmetrisch). Bei einem gängigen DSL-16000-Anschluss beträgt die Upstream-Bandbreite meist nur etwa 1 Mbit/s oder geringfügig mehr. Behalten Sie das im Hinterkopf, wenn Sie zum Beispiel Bilder­galerien mit Fotos in hoher Qualität anbieten, denn dann ergeben sich schnell mal Transferzeiten von 5 – 10 s pro Bild!
  • Dass der gewählte PC nun permanent in Betrieb sein muss, wurde schon erwähnt. Haben Sie auch an den dadurch entstehenden Stromverbrauch gedacht? Ein typischer PC braucht je nach Ausstattung etwa 30 – 100 W, selbst wenn er nur Leerlauf hat und sich langweilt. Eine durchschnittliche Leistungsaufnahme von 50 W summiert sich immerhin auf stattliche 438 kWh im Jahr, was Stromkosten von über 100 € bedeutet. Wäre ein preiswerter Webhosting-Vertrag nicht vielleicht doch günstiger?
  • Oder Sie denken über eine alternative Hardware-Plattform nach. Ein Raspberry Pi ist je nach Modell ab etwa 30 € erhältlich und ist von der Leistungsfähigkeit voll­kommen ausreichend. Sie gehen ja nicht von einem stark frequentierten Server mit Hunderten von Zugriffen pro Sekunde aus. Dazu braucht es noch ein wenig Zubehör (z. B. ein 5V-USB-Netzteil und eine SD-Speicherkarte), aber mit einer Anfangs­investition von rund 50 € kommt man aus. Die Leistungsaufnahme eines Raspberry Pi liegt dafür nur in der Größenordnung von 5 W oder noch weniger. Damit reduzieren sich die jährlichen Stromkosten für dieses Hobby auf die Größenordnung von 10 €, und die Anschaffung hat sich im Vergleich zur PC-Lösung schon gleich im ersten Jahr amortisiert. Kleiner Pluspunkt obendrauf: Ein Raspberry Pi braucht wegen der geringen Leistung keinen Lüfter und arbeitet daher geräuschlos.

Sicherheitsaspekte

Ihr Webserver läuft nun auf demselben PC, mit dem Sie im Web surfen, Ihre tägliche Korrespondenz erledigen, mit dem Sie womöglich Onlinebanking nutzen, auf dem Sie vielleicht private Fotos archivieren, vielleicht sogar Kennwörter gespeichert haben. Durch eine leichtsinnige Konfiguration des Webservers, eine gerade erst bekannt gewordene Sicherheitslücke in der Server-Software oder mangelhaft abgesicherte Scripte könnten Fremde aus dem Internet auf Ihre Daten zugreifen, die Sie bisher für privat gehalten haben. Dieses Risiko lässt sich erheblich reduzieren, wenn der Webserver nicht auf Ihrem Alltags-PC läuft, sondern auf einem separaten Computer. Vielleicht doch der Raspberry Pi?

Bedenken sollten Sie außerdem, dass der Webserver in Ihrem Heimnetzwerk und nicht in einem Rechenzentrumsnetzwerk mit anderen öffentlichen Servern steht. Sollte der Webserver „gekapert“ werden, kann sich ein Angreifer von dort aus frei in Ihrem Heimnetzwerk mit für ihn interessanten, möglicherweise ungeschützten Geräten bewegen. Im professionellen Umfeld schottet man daher solche, aus dem Internet erreichbare Server vom internen Netz durch Maßnahmen wie eine sogenannte Demilitarisierte Zone (DMZ) ab.

Verantwortung

Dass Sie nun Ihre eigene Infrastruktur benutzen, um Inhalte öffentlich zugänglich zu machen, entbindet Sie natürlich nicht von den gesetzlichen Rahmenbedingungen und Pflichten.

Denken Sie daran, dass die Impressum-Pflicht unabhängig davon ist, ob eine Website bei einem professionellen Webhoster liegt oder auf einem öffentlich erreichbaren privaten PC. Entscheidend ist, dass Sie für Inhalte, die Sie öffentlich zur Verfügung stellen, verantwortlich sind.

Werfen Sie bitte auch einen kritischen Blick in das „Kleingedruckte“ Ihres Internet-Vertrags. Manche Zugangsprovider haben nämlich eine Klausel in ihren AGB, dass das Anbieten von Serverdiensten am privaten Anschluss nicht zulässig ist. Solange sich die Nutzung in Grenzen hält, gibt es zwar keine rationale Erklärung für eine solche Einschränkung, aber es wäre doch ärgerlich, wenn Ihr Provider Ihnen wegen eines Verstoßes gegen diese Regel den Zugang kündigen würde.

Ihr PC ist nun ein Teil des Internets. HTTP-Requests aus der großen weiten Welt landen sozusagen direkt auf Ihrem Schreibtisch. Seien Sie sich der Verantwortung bewusst, dafür zu sorgen, dass solche Anfragen auch den Regeln und Standards entsprechend beantwortet werden. Beispielsweise ist Statuscode 200 „OK“ als Antwort auf ein nicht existente Ressource keine regelkonforme Antwort, auch wenn im ausgelieferten Dokument darauf hingewiesen wird, dass die Ressource nicht gefunden werden konnte. Hier wäre 404 „Not Found“ korrekt. Eine Suchmaschine kann nun erkennen, dass die Ressource nicht existiert und löscht sie irgendwann aus dem Index. Umgekehrt ist es zweckmäßig, während Wartungsarbeiten Statuscode 503 „Service Unavailable“ zu senden[2], damit eine Suchmaschine nicht die statt des echten Inhalts bereitgestellte Wartungsseite indexiert.

Fazit

Ob es wegen technischer Hürden, wegen der entstehenden Kosten oder wegen rechtlicher Bedenken ist – die beste Antwort auf die Frage „Wie kann ich meine Website auf meinem eigenen PC hosten?“ ist in den meisten Fällen: „Gar nicht.“

Wenn Sie es doch tun, sollten Sie sehr genau über die Thematik Bescheid wissen, sollten sich mit dem Berechtigungskonzept und der Abschottung von Programmen untereinander bei Ihrem Betriebssystem gut auskennen, und am besten schon Erfahrung mit der Administration eines Webservers wie z. B. Apache gesammelt haben. Das kann man sehr gut mit einer lokalen Server-Installation tun, die nicht aus dem öffentlichen Netz erreichbar ist, sondern nur intern für Testzwecke eingerichtet ist.

Wenn Sie sicher sind, diesen Herausforderungen gewachsen zu sein, könnten Sie den Betrieb eines eigenen Webservers vielleicht riskieren. Aber: Immer auf eigene Gefahr!

 

Siehe auch


  1. Dieser Artikel wurde von „Der Martin“ auf der Grundlage eines Threads im SELF-Forum und den Antworten geschrieben.
    SELF-Forum: Website (selbst) hosten vom 06.06.2020
  2. RFC 7231: 503 Service Unavailable