So erstellen Sie einen einfachen Webserver mit darkhttpd

Darkhttpd ist ein leichter, Single-Binary-Webserver-Daemon für Linux. Er bietet eine einfache „Zero-Config“-Methode, um Websites so schnell wie möglich auf Ihrem Server bereitzustellen. Hier zeigen wir Ihnen, wie Sie darkhttpd auf Ubuntu Linux installieren, wie es sich im Vergleich zu gängigen Webservern schlägt und führen Sie durch den Prozess der Erstellung Ihrer ersten Website.

Darkhttpd vs. Apache vs. Nginx

Darkhttpd ist nicht der einzige Webserver, den Sie auf Ihrem Linux-Rechner installieren können. Es gibt Apache, Nginx, Caddy, Lighttpd und viele mehr. In diesem Abschnitt werden wir darkhttpd mit Apache und Nginx vergleichen und uns ansehen, wie es funktioniert.

In puncto Benutzerfreundlichkeit schlägt darkhttpd sowohl Apache als auch Nginx um Längen. Darkhttpd konzentriert sich darauf, alles in einem einzigen Programm zu halten. Das bedeutet, dass Sie Ihre Website teilen können, ohne sich um deren Konfiguration und den Init-Dienst Ihres Systems kümmern zu müssen.

In puncto Sicherheit verwendet darkhttpd ein Chroot für seine Dateien. Es verfügt außerdem über automatische Timeouts für inaktive Verbindungen und grundlegende Protokollierung. Im Vergleich zu Apache und Nginx ist das ein weiter Weg. Beide verfügen über leistungsstarke Filter zur Ratenbegrenzung und Optionen zur Feinabstimmung der HTTP-Header auf ihren Websites.

Die Einfachheit von Darkhttpd macht es auch unflexibel gegenüber individuellen Benutzeranforderungen. Die Entwickler des Programms haben es als schnelle Möglichkeit konzipiert, statische Webinhalte bereitzustellen. Das bedeutet, dass darkhttpd im Vergleich zu Apache und Nginx keine CGI-Skripte ausführen oder als Reverse-Proxy für Ihre Apps fungieren kann.

KategoriedarkhttpdApacheNginx
BenutzerfreundlichkeitErfordert keine zusätzliche Konfiguration zum Hosten von Websites.Damit es funktioniert, sind sowohl eine system- als auch eine standortspezifische Konfiguration erforderlich.Zum Funktionieren ist eine standortspezifische Konfiguration erforderlich.
Allgemeine SicherheitWird mit grundlegenden Chroot- und Protokollierungsfunktionen geliefert.Kommt mit Ratenbegrenzern und sicherheitsorientierten HTTP-Headern.Kommt mit Ratenbegrenzern und sicherheitsorientierten HTTP-Headern.
SSL-UnterstützungKeine integrierte SSL-Unterstützung.Wird mit „mod_ssl“ für SSL-Unterstützung geliefert.Mit integrierter SSL-Unterstützung.
AnwendungsflexibilitätKann nur mit statischen Webinhalten arbeiten.Kann sowohl mit statischen als auch mit dynamischen Webinhalten arbeiten.Kann als Webserver, Lastenausgleich und Reverseproxy fungieren.

Gut zu wissen: Erfahren Sie, wie Daten im Internet verschlüsselt werden, indem Sie mit OpenSSL selbstsignierte SSL-Zertifikate generieren.

[enlazatom_show_links]

Vorbereiten Ihres Systems für darkhttpd

Notiz: Dieses Tutorial wurde auf einem Ubuntu 24.04 VPS mit mindestens 512 MB RAM durchgeführt. Die Anweisungen funktionieren auch in den meisten Linux-Distributionen.

Der erste Schritt zum Erstellen einer Website mit darkhttpd in Ubuntu Linux besteht darin, die Abhängigkeiten für Docker und Docker Compose zu erhalten.

Notiz: Im Folgenden wird Docker für Ubuntu-basierte Systeme installiert. Wenn Sie von einer anderen Distribution kommen, lesen Sie unsere allgemeine Anleitung zur Installation von Docker unter Linux.

Laden Sie zunächst den Signaturschlüssel für das Docker-Projekt herunter:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg

Verwenden Sie Ihren bevorzugten Texteditor, um eine neue Repository-Datei zu erstellen:

sudo nano /etc/apt/sources.list.d/docker.list

Fügen Sie die folgende Codezeile in Ihre Repository-Datei ein:

deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu noble stabil

Laden Sie die Paket-Repositories Ihres Computers neu und aktualisieren Sie Ihr gesamtes System:

sudo apt update und sudo apt upgrade

Installieren Sie Docker, das Compose-Plugin und Git mit apt:

sudo apt installiere docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin git

Installieren und Ausführen von darkhttpd

Gehen Sie zu Ihrem Home-Verzeichnis und ziehen Sie dann die neueste Version von darkhttpd auf Ihr System:

cd ~ && git clone https://github.com/emikulic/darkhttpd.git

Gehen Sie zum Inneren des Git-Repositorys und erstellen Sie dann mit Ihrem bevorzugten Texteditor eine neue Docker Compose-Datei:

cd darkhttpd && nano ./docker-compose.yml

Fügen Sie den folgenden Codeblock in Ihre Compose-Datei ein:

Dienste: darkhttpd: Containername: darkhttpd-Website-Build: Kontext: . Dockerfile: Dockerfile-Volumes: – „./html:/var/www/htdocs:ro“ Ports: – „8080:80“

Speichern Sie Ihre neue Compose-Datei und führen Sie dann den folgenden Befehl aus, um Ihren darkhttpd-Docker-Container zu erstellen und auszuführen:

sudo docker komponieren -d

Erstellen Sie einen „html“-Ordner im darkhttpd-Linux-Repository und kopieren Sie dann Ihre statischen Website-Dateien dorthin:

mkdir ./html/ cp -rv ~/meine-website ./html/

Bestätigen Sie, dass darkhttpd ordnungsgemäß ausgeführt wird, indem Sie die im System verfügbaren Container auflisten:

Als Randnotiz: Erfahren Sie, wie Sie Ihre vorhandenen Docker-Container auf einen neuen Systemhost verschieben können.

Darkhttpd über SSL mit Stunnel ausführen

An diesem Punkt verfügen Sie nun über einen laufenden Darkhttpd-Server an Port 8080. Um jedoch über das Internet darauf zuzugreifen, müssen Sie ihn zunächst über einen Reverse-Proxy in SSL kapseln.

Erstellen Sie zunächst einen neuen DNS-A-Eintrag für Ihre Domain, der auf die IPv4-Adresse Ihres Darkhttpd verweist. In meinem Fall werde ich die IPv4-Adresse meines Computers auf den Eintrag „web.myvpsserver.top“ verweisen lassen.

Holen Sie sich stunnel, das „Core“-Snap-Paket und Certbot und installieren Sie es auf Ihrem Computer:

sudo apt installiere stunnel4 sudo snap installiere core und sudo snap installiere certbot --classic

Wenn Sie Fedora verwenden, können Sie den folgenden Befehl ausführen, um Stunnel und Certbot zu installieren:

sudo dnf installiere stunnel certbot

Registrieren Sie Ihre darkhttpd-Instanz bei der Electronic Frontier Foundation:

sudo certbot register --agree-tos -m IHRE-EMAIL@ADRESSE.HIER

Generieren Sie ein einfaches SSL-Zertifikat für Ihren Domänennamen:

sudo certbot certonly --standalone -d SUBDOMAIN.IHRE-DOMAIN.ROOT

Erstellen Sie eine neue Konfigurationsdatei für Ihren Stunnel-Reverse-Proxy:

sudo nano /etc/stunnel/stunnel.conf

Fügen Sie den folgenden Codeblock in Ihre neue Konfigurationsdatei ein:

Ausgabe = /var/log/stunnel4/stunnel.log Zertifikat = /etc/letsencrypt/live/SUBDOMAIN.IHRE-ROOT.DOMAIN/fullchain.pem Schlüssel = /etc/letsencrypt/live/SUBDOMAIN.IHRE-ROOT.DOMAIN/privkey.pem

[https]
Client = nein Akzeptieren = 443 Verbinden = 8080

Speichern Sie Ihre neue Konfigurationsdatei und führen Sie dann den folgenden Befehl aus, um den Reverse-Proxy zu starten:

sudo systemctl starte stunnel4.service

In Fedora können Sie stattdessen den folgenden Befehl ausführen, um Ihren Stunnel-Reverse-Proxy zu starten:

sudo systemctl starte stunnel.service

Bestätigen Sie, dass Ihre statische Website jetzt ordnungsgemäß funktioniert, indem Sie Ihre Subdomäne in einem Webbrowser öffnen.

Das Hosten Ihrer eigenen einfachen Website mit darkhttpd ist nur der erste Schritt bei der Erkundung der wunderbaren Welt der selbst gehosteten Webdienste. Erfahren Sie, wie Sie mit RSS-Bridge RSS-Feeds für Ihre sozialen Medien erstellen können.

Ilya Pavlov über Unsplash. Alle Änderungen und Screenshots von Ramces Red.

Index
  1. Darkhttpd vs. Apache vs. Nginx
  2. Vorbereiten Ihres Systems für darkhttpd
  3. Installieren und Ausführen von darkhttpd
  4. Darkhttpd über SSL mit Stunnel ausführen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Go up