Kako hostirati web stranicu s HTTPS-om koristeći Caddy na Linuxu


Web server je aplikacija na strani servera dizajnirana za obradu HTTP zahtjeva između klijenta i servera. HTTP je osnovni i vrlo široko korišten mrežni protokol.

Apache HTTP server je igrao važnu ulogu u dizajniranju onoga što je web danas. Samo on ima tržišni udio od 37,3%. Nginx je drugi na listi sa tržišnim udjelom od 32,4%. Microsoft IIS i LiteSpeed su na 3. i 4. mjestu sa tržišnim udjelom od 7,8% i 6,9% respektivno.

Nedavno sam naišao na web server pod nazivom Caddy. Kada sam pokušao da se raspitam o njegovim karakteristikama i stavio ga na testiranje, moram reći da je neverovatan. Web server koji je prenosiv i ne treba nikakav konfiguracioni fajl. Mislio sam da je to vrlo kul projekat i htio sam ga podijeliti sa vama. Ovdje smo isprobali Caddy!

Šta je Caddy?

Caddy je alternativa apache web serveru koji se lako konfiguriše i koristi. Matthew Holt – Vođa projekta Caddy tvrdi da je Caddy web server opšte namjene, da je dizajniran za ljude i da je vjerovatno jedini te vrste.

Caddy je jedini prvi web server koji može automatski nabaviti i obnoviti SSL/TLS certifikate koristeći Let’s Encrypt.

Karakteristike Caddyja

  1. Brzi HTTP zahtjevi koristeći HTTP/2.
  2. Sposoban web server sa najmanjom konfiguracijom i implementacijom bez problema.
  3. TLS enkripcija osigurava šifriranje između aplikacija koje komuniciraju i korisnika preko Interneta. Možete koristiti vlastite ključeve i certifikate.
  4. Jednostavan za postavljanje/upotrebu. Samo jedan fajl i bez zavisnosti od bilo koje platforme.
  5. Nije potrebna instalacija.
  6. Portable Executables.
  7. Rad na više CPU/jezgara.
  8. Napredna tehnologija WebSockets – interaktivna komunikacija između pretraživača i servera.
  9. Server Markdown dokumenti u hodu.
  10. Potpuna podrška za najnoviji IPv6.
  11. Kreira dnevnik u prilagođenom formatu.
  12. Poslužite FastCGI, Reverse Proxy, Rewrite and Redirects, Clean URL, Gzip kompresiju, Pregledanje direktorija, Virtuelne hostove i zaglavlja.
  13. Dostupno za sve poznate platforme – Windows, Linux, BSD, Mac, Android.

Šta čini caddy drugačijim?

  1. Caddy ima za cilj posluživanje weba kakav bi trebao biti u 2020. godini, a ne tradicionalnog stila.
  2. Dizajniran je ne samo da služi HTTP zahtjevima već i ljudima.
  3. Opremljen najnovijim funkcijama – HTTP/2, IPv6, Markdown, WebSockets, FastCGI, predlošci i druge vanjske funkcije.
  4. Pokrenite izvršne datoteke bez potrebe da ih instalirate.
  5. Detaljna dokumentacija sa najmanjim tehničkim opisom.
  6. Razvijeno imajući na umu potrebu i lakoću dizajnera, programera i blogera.
  7. Podrška virtuelnom hostu – Definišite onoliko lokacija koliko želite.
  8. Pogodno za vas – bez obzira da li je vaša stranica statična ili dinamična. Ako si čovek, to je za tebe.
  9. Fokusirate se na ono što želite postići, a ne na to kako to postići.
  10. Dostupnost podrške za većinu platformi – Windows, Linux, Mac, Android, BSD.
  11. Obično imate jedan Caddy fajl po lokaciji.
  12. Postavite za manje od 1 minute, čak i ako niste toliko prilagođeni računaru.
Testing Environment

Testirat ću ga na CentOS serveru, kao i na Debian serveru, ali ista uputstva također rade na RHEL i Debianu distribucije. Za oba servera koristiću 64-bitne izvršne datoteke.

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

Instalacija Caddy Web servera u Linuxu

Bez obzira na to na kojoj platformi i koju vrstu arhitekture koristite, caddy nudi binarne pakete spremne za upotrebu, koji se mogu instalirati pomoću vašeg podrazumevanog menadžera paketa kao što je prikazano.

Instalirajte Caddy u Fedora, RedHat, CentOS

Instalirat ćemo najnoviju verziju Caddy web servera iz CORP repozitorija pod Fedora ili RHEL/CentOS 8.

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

Na RHEL/CentOS 7 koristite sljedeće komande.

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

Instalirajte Caddy u Debian i 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

Jednom instaliran caddy web server, možete pokrenuti, omogućiti i provjeriti status usluge koristeći sljedeće systemctl komande.

systemctl start caddy
systemctl enable caddy
systemctl status caddy

Sada otvorite svoj pretraživač i usmjerite pretraživač na sljedeću adresu i trebali biste moći vidjeti caddy stranicu dobrodošlice.

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

Postavljanje domena s Caddyjem

Da biste postavili domenu, prvo morate usmjeriti A/AAAA DNS zapise vaše domene na ovaj server na vašem DNS kontrolnom panelu. Zatim kreirajte korijenski direktorij dokumenta za svoju web stranicu "example.com" u folderu /var/www/html kao što je prikazano.

mkdir /var/www/html/example.com

Ako koristite SELinux, morate promijeniti sigurnosni kontekst datoteke za web sadržaj.

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

Sada otvorite i uredite caddy konfiguracijski fajl na /etc/caddy/Caddyfile.

vim /etc/caddy/Caddyfile

Zamijenite :80 imenom vaše domene i promijenite korijen web-lokacije u /var/www/html/example.com kao što je prikazano.

Ponovo učitajte Caddy uslugu da sačuvate promjenu konfiguracije.

systemctl reload caddy

Sada kreirajte bilo koju HTML stranicu (možete kreirati svoju) i spremite stranicu u korijenski direktorij dokumenta za svoju web stranicu.

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

Dodajte sljedeći primjer Html koda na indeksnu stranicu vaše web stranice.

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

Sada ponovo posjetite svoju stranicu da vidite svoju stranicu.

Ako je sve ispravno konfigurisano, vaša domena će se opsluživati preko HTTPS protokola koji pokazuje da je vaša veza sigurna.

Zaključak

Ako ste početnici i želite da postavite web server bez da se zaprljate konfiguracijom, ovaj alat je za vas. Čak i ako ste iskusan korisnik kojem je potreban trenutni i jednostavan web server, Caddy vrijedi isprobati. Uz malo konfiguracije, također možete postaviti dozvolu foldera, kontrolirati autentifikaciju, stranice s greškama, Gzip, HTTP preusmjeravanje i drugo, ako trebate postaviti složeniji i napredniji web server.

Nemojte uzimati Caddy kao zamjenu za Apache ili Nginx. Caddy nije dizajniran za rad u visokoprometnom proizvodnom okruženju. Dizajniran je za brzo podešavanje web servera kada su vaša briga brzina i pouzdanost.

Reference

Kompletan korisnički vodič/Kompletna dokumentacija Caddy Web servera

Donijeli smo ovu dokumentaciju koja ima za cilj brz pregled i upute za instalaciju sa slikama gdje god je to potrebno. Ako naiđete na bilo kakve prednosti/protiv projekta ili bilo koji prijedlog, možete nam to dati u našem odjeljku za komentare.

Za mene je ovaj projekat premlad i dalje radi besprijekorno i djeluje moćno i obećavajuće. Najveći plus koji vidim je da caddy ne mora svuda nositi svoj konfiguracijski fajl. Cilj mu je pružiti najbolje od Nginxa, Lighttpd-a, vagranta i Websocketd-a. To je sve sa moje strane. Ostanite povezani na Tecmint. Svaka čast