Hoe u uw eigen Caddy-webserver kunt maken in Linux

Hoe u uw eigen Caddy-webserver kunt maken in Linux
Een foto van een computermonitor op een tafel met groene achtergrondverlichting.

Caddy is een moderne, eenvoudig te gebruiken webserver voor Linux. Het werkt door het proces van het maken van siteconfiguratiebestanden en SSL-certificaten te stroomlijnen. Dit artikel begeleidt u bij het installeren van Caddy op een Ubuntu Linux-server. Verder laat het u ook zien hoe u Caddy kunt gebruiken om een ​​eenvoudige webpagina en een SSL reverse proxy te implementeren.

Waarom Caddy als webserver gebruiken?

Hoewel Nginx en Apache krachtige webserverdaemons zijn, kunnen ze voor een nieuwe gebruiker log en complex zijn. Caddy vermindert die complexiteit door de “Caddyfile” aan te bieden, een enkel plat bestand met een eenvoudige syntaxis die zelfs voor beginners gemakkelijk te leren is.

Een terminal met een voorbeeld van een Caddyfile.

Een ander verkoopargument van Caddy is dat het direct uit de doos HTTPS voor uw webserver biedt. Dit maakt het handig voor gebruikers die het instellen van SSL voor hun website lastig en ingewikkeld vinden. Als zodanig is Caddy perfect als u op zoek bent naar een “no-fuss” webserver in Linux die zowel gemakkelijk te onderhouden als te gebruiken is.

Caddy installeren

De eerste stap bij het installeren van Caddy in Ubuntu Linux is ervoor zorgen dat je over de tools beschikt om de repositorysleutels en informatie te importeren:

Haal de ondertekeningssleutel voor Caddy op van de website van de ontwikkelaar:

Download het repositorybestand van het Caddy-project en sla het op in de map “sources.list.d” van uw machine:

Herlaad de apt-opslagplaatsen van uw systeem door het volgende uit te voeren:

Installeer het Caddy-pakket voor uw systeem met behulp van apt install:

Uw eerste Caddy-website runnen

Om uw eerste website te runnen, maakt u de hoofdmap van uw site in uw thuismap:

Maak een index.html-bestand met uw favoriete teksteditor:

Plak het volgende codeblok in uw nieuwe HTML-bestand:

Sla uw index.html-bestand op en voer vervolgens de volgende opdracht uit:

Controleer of uw webserver goed werkt door er met uw browser naartoe te navigeren.

Een screenshot van een voorbeeldwebsite die draait op localhost:8080.

Een website maken met Caddyfiles

Hoewel de CLI-tool geweldig is voor het weergeven van eenvoudige webpagina’s, biedt Caddy ook een eenvoudig te gebruiken “Caddyfile” voor complexere instellingen. Maak om te beginnen een nieuw Caddybestand onder “/etc/caddy” met behulp van uw favoriete teksteditor:

Plak het volgende codeblok in uw nieuwe Caddyfile:

Kopieer het index.html-bestand van uw thuismap naar “/var/www” van uw systeem:

Ga naar uw DNS-registrar en zorg ervoor dat uw root- en www-subdomeinen een A- of AAAA-record hebben dat verwijst naar de IPv4- en IPv6-adressen van uw machine.

Een schermafbeelding met twee A-records die naar het IP-adres van de machine verwijzen.

Schakel de ingebouwde Caddy-service op uw machine in:

Controleer of uw website goed werkt door naar uw domeinnaam te navigeren.

Een screenshot van de voorbeeldwebsite die werkt met een externe domeinnaam.

Een SSL Reverse Proxy maken met Caddy

Net als Nginx en Apache kunt u Caddy ook gebruiken als reverse proxy voor een interne service op uw machine. Om dit te doen, opent u de Caddyfile van uw systeem:

Plak het volgende codeblok in uw Caddyfile:

Vervang “LOCAL-PORT” door de poort van uw webapplicatie. In mijn geval zal ik de mijne vervangen door 3001 om al het binnenkomende verkeer om te leiden naar mijn Uptime Kuma-server .

Een terminal die een gewijzigde Caddy reverse proxy-configuratie toont.

Sla uw Caddybestand op en laad vervolgens de Caddy-service opnieuw om uw nieuwe instellingen toe te passen:

Test of uw reverse proxy goed werkt door met uw webbrowser naar uw domein te navigeren.

Een schermafbeelding van een Uptime Kuma-instantie die wordt geproxyd via Caddy.

Meerdere websites en services implementeren met Caddy

U kunt dezelfde Caddyfile ook gebruiken om zowel websites als proxy’s onder dezelfde host te bedienen. Dit maakt het gemakkelijk om meerdere verschillende services te beheren zonder de configuratiemap van uw webserver onoverzichtelijk te maken.

Ga om te beginnen naar de downloadpagina van Caddy en typ vervolgens ‘caddy-dns’ in de zoekbalk.

Een screenshot waarin het caddy-dns-zoekvak op de Caddy-downloadpagina wordt gemarkeerd.

Zoek de DNS-provider die uw domeinnaam beheert. In mijn geval gebruik ik DigitalOcean .

Selecteer uw DNS-provider en klik vervolgens op ‘Downloaden’ in de rechterbovenhoek van de pagina. Hiermee wordt een aangepast Caddy-binair bestand gedownload met de juiste module voor uw DNS-provider.

Een screenshot waarin de knop Downloaden wordt gemarkeerd na het selecteren van de caddy-dns-build voor DigitalOcean.

Stop de Caddy-service met systemctl:

Maak een back-up van het originele binaire Caddy-bestand en kopieer vervolgens het aangepaste binaire bestand naar uw map “/usr/bin/”.

Test of uw aangepaste Caddy-binaire bestand correct werkt door de versie ervan te controleren:

Caddy SSL inschakelen voor Wildcard-domeinen

Open de Caddyfile van uw systeem met uw favoriete teksteditor:

Plak het volgende codeblok in uw Caddyfile:

Vraag een API-sleutel aan bij uw DNS-provider. In DigitalOcean kunt u dit verkrijgen door naar uw DigitalOcean-dashboard te gaan en vervolgens op API in de linkerzijbalk van de pagina te klikken.

Een screenshot waarin de API-knop op het DigitalOcean-dashboard wordt gemarkeerd.

Klik op Nieuw token genereren en geef vervolgens de details voor uw API-sleutel op.

Een schermafbeelding met de details van het token voor geautomatiseerde SSL-wildcardcertificaten.

Kopieer uw API-geheim en plak het vervolgens in de “API-KEY”-variabele in uw Caddyfile.

Pas het Caddybestand aan voor uw specifieke configuratie en sla het vervolgens op.

Een terminal die een aangepast Caddy-configuratiebestand voor meerdere locaties toont.

Zorg ervoor dat uw domeinnaam de juiste A- en AAAA-records heeft voor uw domein en subdomein.

Start uw uitgeschakelde Caddy-daemon opnieuw op om uw nieuwe instellingen toe te passen:

Test of uw “multi-service”-installatie goed werkt door beide domeinen in een webbrowser te openen.

Een screenshot van de twee services die onder SSL draaien met Caddy.

Leren hoe u eenvoudige en veilige webservices kunt implementeren met Caddy is slechts de eerste stap in het verkennen van de wondere wereld van self-hosting in Linux. Duik dieper in dit universum door uw eigen e-mailaliasserver te maken met SimpleLogin .

Afbeelding tegoed: Jonathan Ybema via Unsplash en Wikimedia Commons . Alle wijzigingen en screenshots door Ramces Red.

Geef een reactie

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