Hoe een website te hosten met HTTPS met Caddy op Linux

A web server is a server-side application designed to process HTTP requests between client and server. HTTP is the basic and very widely used network protocol.

De Apache HTTP Server heeft een belangrijke rol gespeeld in het ontwerpen van wat het web vandaag de dag is. Het heeft alleen al een marktaandeel van 37,3%. Nginx staat op de tweede plaats in de lijst met een marktaandeel van 32,4%. Microsoft IIS en LiteSpeed staan op de derde en vierde plaats met een marktaandeel van respectievelijk 7,8% en 6,9%.

Onlangs kwam ik een webserver genaamd Caddy tegen. Toen ik probeerde informatie te krijgen over de functies ervan en het implementeerde voor testdoeleinden, moet ik zeggen dat het geweldig is. Een webserver die draagbaar is en geen configuratiebestand nodig heeft. Ik dacht dat het een heel gaaf project is en wilde het met jullie delen. Hier hebben we Caddy uitgeprobeerd!

Wat is Caddy?

Caddy is een alternatief voor een apache webserver met eenvoudige configuratie en gebruiksgemak. Matthew Holt – De projectleider van Caddy beweert dat Caddy een algemene webserver is, bedoeld voor mensen en waarschijnlijk de enige in zijn soort.

Caddy is de eerste webserver die automatisch SSL/TLS-certificaten kan verkrijgen en vernieuwen met behulp van Let’s Encrypt.

Kenmerken van Caddy

  1. Snelle HTTP-verzoeken met behulp van HTTP/2.
  2. Capabele webserver met minimale configuratie en probleemloze implementatie.
  3. TLS-encryptie zorgt voor versleuteling tussen communicerende applicaties en gebruikers via internet. U kunt uw eigen sleutels en certificaten gebruiken.
  4. Gemakkelijk te implementeren/gebruiken. Slechts één bestand en geen afhankelijkheid van een platform.
  5. Geen installatie vereist.
  6. Portable Executables.
  7. Uitvoerbaar op meerdere CPU’s/kernen.
  8. Geavanceerde WebSockets-technologie – interactieve communicatiesessie tussen browser en server.
  9. Server Markdown-documenten on-the-fly.
  10. Volledige ondersteuning voor de nieuwste IPv6.
  11. Creëert een logboek in een aangepast formaat.
  12. Bedient FastCGI, Reverse Proxy, Rewrite en Redirects, Schone URL, Gzip-compressie, Directorybrowsen, Virtuele Hosts en Headers.
  13. Beschikbaar voor Alle bekende platformen – Windows, Linux, BSD, Mac, Android.

Wat maakt caddy anders?

  1. Caddy streeft ernaar om het web te bedienen zoals het zou moeten zijn in het jaar 2020 en niet op de traditionele manier.
  2. Het is ontworpen om niet alleen HTTP-verzoeken te bedienen, maar ook mensen.
  3. Boordevol met de nieuwste functies – HTTP/2, IPv6, Markdown, WebSockets, FastCGI, sjablonen en andere out-of-the-box functies.
  4. Voer de uitvoerbare bestanden uit zonder deze te hoeven installeren.
  5. Gedetailleerde documentatie met de minste technische beschrijving.
  6. Ontwikkeld met het oog op de behoefte en het gemak van ontwerpers, ontwikkelaars en bloggers.
  7. Ondersteuning voor virtuele host – Definieer zoveel sites als u wilt.
  8. Geschikt voor u – ongeacht of uw site statisch of dynamisch is. Als u mens bent, is het voor u.
  9. U richt zich op wat u wilt bereiken en niet hoe u het wilt bereiken.
  10. Beschikbaarheid van ondersteuning voor de meeste platforms – Windows, Linux, Mac, Android, BSD.
  11. Gewoonlijk heeft u één Caddy-bestand per site.
  12. Stel het op in minder dan 1 minuut, zelfs als je niet zo computervaardig bent.
Testomgeving

I will be testing it on the CentOS server, as well as Debian Server, but the same instructions also work on RHEL and Debian based distributions. For both the server I am going to use 64-bit executables.

Operating Systems: CentOS 8 and Debian 10 Buster
Caddy Version: v2.0.0

Installatie van Caddy Web Server in Linux

Ongeacht op welk platform en welke architectuur je gebruikt, biedt Caddy kant-en-klare binaire pakketten die kunnen worden geïnstalleerd met je standaard pakketbeheerder zoals getoond.

Installeer Caddy in Fedora, RedHat, CentOS

We gaan de nieuwste versie van de Caddy-webserver installeren vanuit het CORP-opslagplaats onder Fedora of RHEL/CentOS 8.

# dnf install 'dnf-command(copr)'
# dnf copr enable @caddy/caddy
# dnf install caddy

Op RHEL/CentOS 7 gebruik je de volgende commando’s.

# yum install yum-plugin-copr
# yum copr enable @caddy/caddy
# yum install caddy

Installeer Caddy in Debian en Ubuntu

$ echo "deb [trusted=yes] https://apt.fury.io/caddy/ /" \
    | sudo tee -a /etc/apt/sources.list.d/caddy-fury.list
$ sudo apt update
$ sudo apt install caddy

Zodra de Caddy-webserver is geïnstalleerd, kun je de service starten, inschakelen en de status controleren met de volgende systemctl-commando’s.

# systemctl start caddy
# systemctl enable caddy
# systemctl status caddy

Open nu je browser en ga naar het volgende adres en je zou de welkomstpagina van caddy moeten kunnen zien.

http://Server-IP
OR
http://yourdomain.com
Caddy Web Server

Instellen van domeinen met Caddy

Om een domein in te stellen, moet je eerst de A/AAAA DNS-records van je domein naar deze server verwijzen in je DNS-beheerpaneel. Maak vervolgens een documentroot-map voor je website "example.com" onder de map /var/www/html zoals getoond.

$ mkdir /var/www/html/example.com

Als je SELinux gebruikt, moet je de bestandsbeveiligingscontext voor webinhoud wijzigen.Open en bewerk nu het caddy-configuratiebestand op /etc/caddy/Caddyfile.

# chcon -t httpd_sys_content_t /var/www/html/example.com -R
# chcon -t httpd_sys_rw_content_t /var/www/html/example.com -R

Open nu het Caddy-configuratiebestand op /etc/caddy/Caddyfile.

# vim /etc/caddy/Caddyfile

Vervang :80 door je domeinnaam en verander de sitewortel naar /var/www/html/example.com zoals getoond.

Configure Caddy Web Server

Vernieuw de Caddy-service om de configuratiewijziging op te slaan.

# systemctl reload caddy

Maak nu een HTML-pagina aan (je mag er zelf een maken) en sla de pagina op in de documentrootmap voor je website.

# touch /var/www/html/example.com/index.html

Voeg de volgende voorbeeld-HTML-code toe aan de indexpagina van je website.

# echo '<!doctype html><head><title>Caddy Test Page at TecMint</title></head><body><h1>Hello, World!</h1></body></html>' | sudo tee /var/www/html/index.html

Bezoek nu opnieuw je site om je pagina te bekijken.

Hosting Website with Caddy

Als alles correct geconfigureerd is, zal je domein worden bediend via een HTTPS-protocol, wat aangeeft dat je verbinding beveiligd is.

Conclusie

Als je nieuw bent en een webserver wilt opzetten zonder je handen vuil te maken met configuratie, dan is deze tool iets voor jou. Zelfs als je een ervaren gebruiker bent die snel en eenvoudig een webserver nodig heeft, is Caddy het proberen waard. Met een beetje configuratie kun je ook mapmachtigingen instellen, authenticatie beheren, foutpagina’s, Gzip, HTTP-omleiding en andere zaken instellen als je een complexere en geavanceerdere webserver wilt opzetten.

Zie Caddy niet als vervanging voor Apache of Nginx. Caddy is niet ontworpen om een ​​productieomgeving met veel verkeer te verwerken. Het is ontworpen voor een snelle webserveropstelling wanneer snelheid en betrouwbaarheid belangrijk zijn.

Referenties

Volledige gebruikershandleiding / Volledige documentatie van Caddy-webserver

We hebben deze documentatie samengesteld met als doel een snelle beoordeling en installatie-instructies, met afbeeldingen waar nodig. Als je voor- of nadelen van het project tegenkomt, of suggesties hebt, kun je deze in ons opmerkingenveld achterlaten.

Voor mij is dit project nog erg jong, maar het werkt foutloos en lijkt krachtig en veelbelovend. Het grootste pluspunt dat ik zie, is dat Caddy zijn configuratiebestand niet overal mee naartoe hoeft te nemen. Het streeft ernaar het beste van Nginx, Lighttpd, Vagrant en Websocketd te bieden. Dat is alles van mijn kant. Blijf verbonden met Tecmint. Kudos

Source:
https://www.tecmint.com/install-caddy-web-server-in-centos-ubuntu/