Tegenwoordig is HTTPS de sleutel bij het hosten van een website. Zonder dit lekken uw gebruikers zeer persoonlijke gegevens van uw website de wereld in. Om dit op te lossen, hebben veel Linux-webmasters de LetsEncrypt-tools gebruikt, omdat ze het heel eenvoudig maken om een certificaat te genereren. Toch, voor zo eenvoudig als LetsEncrpyt is, kan het inschakelen op Nginx of Apache op Linux nog steeds een beetje een hele klus zijn. Gelukkig is er een betere manier. Introductie van de Caddy-webserver. Het is een webserver waarvoor HTTPS standaard is ingeschakeld. Als je geen zin meer hebt om SSL-certificaten te gebruiken, is Caddy misschien precies wat je nodig hebt.
Caddy installeren
Het installeren van de Caddy-webserver werkt vrijwelhetzelfde, ongeacht het serverbesturingssysteem dat u gebruikt. De reden dat Caddy zo eenvoudig te installeren is, is de keuze van de ontwikkelaar om een downloadbaar Bash-script te gebruiken voor het installeren van de software, in plaats van het toevoegen van software-opslagplaatsen van derden of het installeren via binaire bestanden.
In deze zelfstudie gebruiken we Ubuntu Server, hoewel het uitvoeren van de Caddy-webserver ook prima werkt op de meeste andere Linux-besturingssystemen, zelfs op desktopcomputers. Zorg om te beginnen dat u de Krul app op uw Linux-pc. Als dit niet het geval is, opent u een terminalzoekopdracht in uw pakketbeheerder voor 'krullen' en installeert u deze.
Opmerking: bepaal of je al krullen hebt door te rennen Krul in de terminal. Als het dialoogvenster "Help" voor het programma verschijnt, hebt u Krul op uw Linux-machine.
curl https://getcaddy.com | bash -s personal
De Caddy-webserver is gratis te gebruiken voor persoonlijk gebruik, maar u moet deze opgeven. Ben je van plan Caddy in een bedrijfsomgeving te gebruiken? Voer de installatieopdracht uit met:
curl https://getcaddy.com | bash -s commercial
Running Curl leidt het door Bash en start automatisch het installatieproces. Het installatieprogramma van Caddy neemt de tijd om de binaire server van de webserver te downloaden en erin te plaatsen / Usr / local / bin / directory. Als de installatie is geslaagd, ziet u een bericht met de melding 'Met succes geïnstalleerd'.
Op dit punt moet u het Caddy-binaire bestand wijzigen. Voer de volgende opdracht in de terminal uit met sudo privileges.
sudo setcap cap_net_bind_service=+ep /usr/local/bin/caddy
Caddy configureren
Caddy is geïnstalleerd op de server. De volgende stap in het proces is het configureren van de mapstructuur. Begin met het verkrijgen van een rootterminal. Als u dit doet, kunt u mappen in het bestandssysteem veel sneller wijzigen, omdat u deze niet hoeft in te voeren sudo voor elke opdracht, gevolgd door een wachtwoord.
Op de meeste systemen kunnen gebruikers zich rechtstreeks aanmelden bij het root-account met:
su
Op de Ubuntu-server is het root-account echter om veiligheidsredenen vergrendeld. Om dit te omzeilen, verkrijg een root shell met sudo.
sudo -s
Nu we root-toegang hebben, maakt u de benodigde mappen voor de Caddy-server om correct te werken.
mkdir /etc/caddy mkdir /etc/ssl/caddy
Opmerking: als uw server al een / Var / www / directory, sla dit als laatste over mkdir commando.
mkdir /var/www
Maak vervolgens een nieuwe "Caddyfile" binnenin / Etc / caddy /.
touch /etc/caddy/Caddyfile
De ... gebruiken chmod commando, update de rechten voor de Caddy-submap in / Etc / ssl /.
chmod 0770 /etc/ssl/caddy
Ten slotte, chown de / Var / www / directory:
chown www-data: /var/www
Caddy Systemd-bestand
De meeste servers, vooral de Ubuntu-server, maken zwaargebruik van het systemd init systeem. Aangezien de webserver echter wordt geïnstalleerd via Bash-script, is er geen systemd-bestand aanwezig. In plaats daarvan moeten we ons eigen maken. Gebruik de aanraken opdracht om een nieuw, leeg servicebestand te maken.
touch /lib/systemd/system/caddy.service
Open het nieuwe caddy.service bestand en plak de volgende code erin:
[Unit]
Description=Caddy HTTP/2 web server
Documentation=https://caddyserver.com/docs
After=network-online.target
Wants=network-online.target
[Service]
Restart=on-failure
StartLimitInterval=86400
StartLimitBurst=5
User=www-data
Group=www-data
; Letsencrypt-issued certificates will be written to this directory.
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=true
PrivateDevices=true
ProtectHome=true
ProtectSystem=full
ReadWriteDirectories=/etc/ssl/caddy
; The following additional security directives only work with systemd v229 or later.
; They further retrict privileges that can be gained by caddy. Uncomment if you like.
; Note that you may have to add capabilities required by any plugins in use.
;CapabilityBoundingSet=CAP_NET_BIND_SERVICE
;AmbientCapabilities=CAP_NET_BIND_SERVICE
;NoNewPrivileges=true
[Install]
WantedBy=multi-user.target
Er is veel code voor de caddy.service bestand, dus doe je best om ervoor te zorgen dat alles aanwezig is. Als u het zeker weet, slaat u de wijzigingen op door op te drukken Ctrl + X toetsenbord combinatie. Verlaat de editor met Ctrl + X.
systemctl enable caddy.service systemctl start caddy.service
Na het instellen van systemd moet alles klaar zijn om te gaan.
Domeinen instellen
Caddy heeft, net als elke andere webserver, een beetje configuratie nodig voordat hij het gebruikt. Begin met het maken van een domeinmap:
Opmerking: vergeet niet “test-domain.org” te hernoemen met uw domein.
mkdir -p /var/www/test-domain.org/
Bewerk vervolgens het bestand Caddyfile we hebben eerder gemaakt.
nano /etc/caddy/Caddyfile
Plak de volgende code om uw nieuwe domein te activeren:
my-domain.com {
root /var/www/test-domain.org
}
Start de Caddy systemd-service opnieuw om de wijzigingen op te slaan. Wanneer de service opnieuw is opgestart, is Caddy klaar voor gebruik op uw server.
systemctl restart caddy.service</ P>
Comments