Hoe maak je een eenvoudige webserver met darkhttpd
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.
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.
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:
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:
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:
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:
Controleer of uw statische website nu goed werkt door uw subdomein te openen in een webbrowser.
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