Î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.
Cuprins
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.
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:
[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