Hoe maak je een eenvoudige webserver met darkhttpd

Hoe maak je een eenvoudige webserver met darkhttpd
Een foto van een computerscherm waarop HTML-code wordt weergegeven.

Darkhttpd is een lichtgewicht, single-binary webserver daemon voor Linux. Het biedt een eenvoudige “zero config” manier om websites zo snel mogelijk op uw server te implementeren. Hier laten we u zien hoe u darkhttpd op Ubuntu Linux installeert, hoe het zich verhoudt tot populaire webservers en begeleiden we u door het proces van het maken van uw eerste website.

Darkhttpd versus Apache versus Nginx

Darkhttpd is niet de enige webserver die u op uw Linux-machine kunt installeren. Er zijn Apache, Nginx, Caddy, Lighttpd en nog veel meer. In deze sectie gaan we darkhttpd vergelijken met Apache en Nginx en kijken hoe het presteert.

Wat betreft gebruiksgemak verslaat darkhttpd zowel Apache als Nginx. Darkhttpd richt zich op het houden van alles in één programma. Dit betekent dat u uw website kunt delen zonder u zorgen te hoeven maken over de configuratie en de init-service van uw systeem.

Een terminal met de help-uitvoer van darkhttpd.

Qua beveiliging gebruikt darkhttpd een chroot voor zijn bestanden. Het heeft ook automatische time-outs voor inactieve verbindingen en basisregistratie. Dit is een groot verschil met Apache en Nginx. Beide hebben krachtige rate-limiting filters en opties om de HTTP-headers op hun sites te verfijnen.

De eenvoud van Darkhttpd leent zich ook voor inflexibiliteit voor aangepaste gebruikerseisen. De ontwikkelaars van het programma hebben het ontworpen als een snelle manier om statische webinhoud te serveren. Dit betekent dat darkhttpd, vergeleken met Apache en Nginx, geen CGI-scripts kan uitvoeren of kan fungeren als een reverse proxy voor uw apps.

Een terminal met een voorbeeld van een reverse proxy-configuratie voor Nginx.
Categorie donkerhttpd Apache Nginx
Makkelijk te gebruiken Vereist geen extra configuratie om websites te hosten. Vereist zowel systeem- als sitespecifieke configuratie om te kunnen werken. Vereist sitespecifieke configuratie om te werken.
Algemene beveiliging Wordt geleverd met basis chroot- en loggingfuncties. Bevat snelheidsbegrenzers en op beveiliging gerichte HTTP-headers. Bevat snelheidsbegrenzers en op beveiliging gerichte HTTP-headers.
SSL-ondersteuning Geen ingebouwde SSL-ondersteuning. Wordt geleverd met “mod_ssl” voor SSL-ondersteuning. Wordt geleverd met ingebouwde SSL-ondersteuning.
Toepassingsflexibiliteit Werkt alleen met statische webinhoud. Kan zowel met statische als dynamische webinhoud werken. Kan functioneren als webserver, load balancer en reverse proxy.

Uw systeem voorbereiden op darkhttpd

De eerste stap om een ​​website te maken met darkhttpd in Ubuntu Linux is het verkrijgen van de afhankelijkheden voor Docker en Docker Compose.

Begin met het downloaden van de ondertekeningssleutel voor het Docker-project:

Gebruik uw favoriete teksteditor om een ​​nieuw repositorybestand te maken:

Plak de volgende regel code in uw repositorybestand:

Laad de pakketrepositories van uw machine opnieuw en werk uw volledige systeem bij:

Installeer Docker, de Compose-plugin en Git met behulp van apt:

Een terminal die het installatieproces voor Docker, de plug-ins en Git laat zien.

Darkhttpd installeren en uitvoeren

Ga naar uw thuismap en download de nieuwste versie van darkhttpd op uw systeem:

Ga naar de binnenkant van de Git-repository en maak een nieuw Docker Compose-bestand met behulp van uw favoriete teksteditor:

Plak het volgende codeblok in uw Compose-bestand:

Sla uw nieuwe Compose-bestand op en voer de volgende opdracht uit om uw darkhttpd Docker-container te bouwen en uit te voeren:

Maak een “html”-map in de darkhttpd Linux-repository en kopieer vervolgens uw statische websitebestanden ernaartoe:

Controleer of darkhttpd correct werkt door de beschikbare containers in het systeem te vermelden:

Een terminal met de darkhttpd Docker-container die op het systeem draait.

Darkhttpd uitvoeren via SSL met stunnel

Op dit punt hebt u een actieve darkhttpd-server op poort 8080. Om hier echter via internet toegang toe te krijgen, moet u deze eerst in SSL inkapselen via een reverse proxy.

Om te beginnen, maak een nieuw DNS “A” record voor uw domein dat verwijst naar het IPv4-adres van uw darkhttpd. In mijn geval zal ik het IPv4-adres van mijn machine verwijzen naar het record: “web.myvpsserver.top.”

Haal stunnel, het “kern”-snap-pakket en Certbot op en installeer het op uw machine:

Registreer uw darkhttpd-instantie bij de Electronic Frontier Foundation:

Genereer een kaal SSL-certificaat voor uw domeinnaam:

Een terminal die het SSL-certificaatgeneratieproces in LetsEncrypt laat zien.

Maak een nieuw configuratiebestand voor uw stunnel reverse proxy:

Plak het volgende codeblok in uw nieuwe configuratiebestand:

Sla uw nieuwe configuratiebestand op en voer de volgende opdracht uit om de omgekeerde proxy te starten:

Een terminal die de huidige status van de stunnelservice in het systeem weergeeft.

Controleer of uw statische website nu goed werkt door uw subdomein te openen in een webbrowser.

Een screenshot van de voorbeeldwebsite die draait op darkhttpd met SSL.

Het hosten van uw eigen eenvoudige website met darkhttpd is slechts de eerste stap in het verkennen van de wondere wereld van self-hosting webservices. Leer hoe u RSS-feeds voor uw sociale media kunt maken met RSS-Bridge.

Beeldmateriaal: Ilya Pavlov via Unsplash . Alle wijzigingen en screenshots door Ramces Red.

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *