Cum se instalează serverul web Caddy pe Linux

În zilele noastre, HTTPS este esențial atunci când găzduiți un site web. Fără el, utilizatorii tăi ar putea scurge în lume date foarte personale de pe site-ul tău. Pentru a rezolva acest lucru, mulți webmasteri Linux au început să folosească instrumentele LetsEncrypt, deoarece fac foarte ușor generarea unui certificat. Totuși, oricât de ușor este LetsEncrpyt, activarea acestuia pe Nginx sau Apache pe Linux poate fi totuși o corvoadă. Din fericire, există o cale mai bună. Vă prezentăm serverul web Caddy. Este un server web care are HTTPS activat în mod implicit. Dacă te-ai săturat să te chinui cu certificatele SSL, Caddy poate fi exact ceea ce ai nevoie.

Instalarea Caddy

Instalarea serverului web Caddy funcționează aproape la fel, indiferent de sistemul de operare pe care îl utilizați. Motivul pentru care Caddy este atât de ușor de instalat este alegerea dezvoltatorului de a utiliza un script Bash descărcabil pentru instalarea software-ului, mai degrabă decât să adauge depozite de software terță parte sau să instaleze prin binare.

În acest tutorial, vom folosi Ubuntu Server, deși rularea serverului web Caddy va funcționa bine și pe majoritatea celorlalte sisteme de operare Linux, chiar și pe cele desktop. Pentru a începe, asigurați-vă că aveți aplicația Curl pe computerul dvs. Linux. Dacă nu, deschideți un terminal, căutați în managerul de pachete „curl” și instalați-l.

Notă: stabiliți dacă aveți deja curl rulând curl în terminal. Dacă apare dialogul „ajutor” pentru program, aveți Curl pe mașina dvs. Linux.

  Cum să creați cărți audio pe Linux cu M4Baker

curl https://getcaddy.com | bash -s personal

Serverul web Caddy poate fi utilizat gratuit pentru uz personal, dar trebuie să îl specificați. Plănuiți să utilizați Caddy într-un cadru de întreprindere? Rulați comanda de instalare cu:

curl https://getcaddy.com | bash -s commercial

Rularea Curl îl va trece prin Bash și va începe automat procesul de instalare. Programul de instalare Caddy va avea nevoie de timp pentru a descărca fișierul binar al serverului web și a-l plasa în directorul /usr/local/bin/. Dacă instalarea a reușit, veți vedea un mesaj care spune „Instalat cu succes”.

În acest moment, va trebui să modificați binarul Caddy. Rulați următoarea comandă în terminal, cu privilegii sudo.

sudo setcap cap_net_bind_service=+ep /usr/local/bin/caddy

Configurarea Caddy

Caddy este instalat pe server. Următorul pas al procesului este configurarea structurii directoarelor. Începeți prin obținerea unui terminal rădăcină. Procedând astfel, modificarea folderelor din sistemul de fișiere va fi mult mai rapidă, deoarece nu va trebui să introduceți sudo pentru fiecare comandă, urmată de o parolă.

Pe majoritatea sistemelor, utilizatorii se pot conecta direct la contul root cu:

su

Cu toate acestea, pe serverul Ubuntu, contul Root este blocat din motive de securitate. Pentru a ocoli acest lucru, obțineți un shell rădăcină cu sudo.

sudo -s

Acum că avem acces root, creați directoarele necesare pentru ca serverul Caddy să funcționeze corect.

mkdir /etc/caddy

mkdir /etc/ssl/caddy

Notă: Dacă serverul dvs. are deja un director /var/www/, omiteți această ultimă comandă mkdir.

mkdir /var/www

Apoi, creați un nou „Caddyfile” în interiorul /etc/caddy/.

touch /etc/caddy/Caddyfile

Folosind comanda chmod, actualizați permisiunile pentru subdosarul Caddy din /etc/ssl/.

chmod 0770 /etc/ssl/caddy

În cele din urmă, alegeți directorul /var/www/:

chown www-data: /var/www

Fișier Caddy Systemd

Majoritatea serverelor, în special serverul Ubuntu, folosesc în mod intens sistemul de inițializare systemd. Cu toate acestea, deoarece serverul web se instalează prin scriptul Bash, un fișier systemd nu este prezent. În schimb, va trebui să ne facem singuri. Utilizați comanda tactilă pentru a crea un fișier de serviciu nou, gol.

touch /lib/systemd/system/caddy.service

Deschideți noul fișier caddy.service și inserați următorul cod în el:

  Cum se utilizează Nmap din linia de comandă pe Linux

[Unit]
Descriere=Server web Caddy HTTP/2
Documentație=https://caddyserver.com/docs
După=network-online.target
Wants=network-online.target

[Service]
Restart=la eșec
StartLimitInterval=86400
StartLimitBurst=5

Utilizator=www-date
Grup=www-date
; Certificatele emise de Letsencrypt vor fi scrise în acest director.
Environment=CADDYPATH=/etc/ssl/caddy

ExecStart=/usr/local/bin/caddy -log stdout -agree=true -conf=/etc/caddy/Caddyfile -root=/var/tmp
ExecReload=/bin/kill -USR1 $MAINPID

LimitNOFILE=1048576
LimitNPROC=64

PrivateTmp=adevărat
PrivateDevices=true
ProtectHome=adevarat
ProtectSystem=plin
ReadWriteDirectories=/etc/ssl/caddy

; Următoarele directive suplimentare de securitate funcționează numai cu systemd v229 sau o versiune ulterioară.
; Ei restrange în continuare privilegiile care pot fi câștigate de caddy. Anulați comentariile dacă vă place.
; Rețineți că este posibil să fie necesar să adăugați capabilitățile necesare oricăror pluginuri în uz.
;CapabilityBoundingSet=CAP_NET_BIND_SERVICE
;AmbientCapabilities=CAP_NET_BIND_SERVICE
;NoNewPrivileges=adevărat

[Install]
WantedBy=multi-user.target

Există o mulțime de coduri pentru fișierul caddy.service, așa că faceți tot posibilul pentru a vă asigura că totul este acolo. Când sunteți sigur, salvați modificările apăsând combinația de tastaturi Ctrl + X. Ieșiți din editor cu Ctrl + X.

systemctl enable caddy.service

systemctl start caddy.service

După configurarea systemd, totul ar trebui să fie gata.

Configurarea domeniilor

Caddy, ca orice alt server web, are nevoie de puțină configurare înainte de a-l folosi. Începeți prin a crea un folder de domeniu:

Notă: asigurați-vă că redenumiți „test-domain.org” cu domeniul dvs.

mkdir -p /var/www/test-domain.org/

Apoi, editați fișierul Caddyfile pe care l-am creat mai devreme.

nano /etc/caddy/Caddyfile

Lipiți următorul cod pentru a vă activa noul domeniu:

domeniul-meu.com {
root /var/www/test-domain.org
}

Reporniți serviciul Caddy systemd pentru a salva modificările. Când serviciul se termină de repornit, Caddy este gata de utilizare pe serverul dvs.

systemctl restart caddy.service