Tässä blogissa on tarkoitus käydä läpi Caddy web-serverin asennus RaspberryPiOS -käyttöjärjestelmään, josta minulla on käytössä Bullseye -versio (Debian 11).

Myös tämän sivuston pohjana käytetään Caddy web-serveriä ja syy miksi päädyin käyttämään Caddya, on sen keveys ja helppo konfigurointi. Minulla on myös jonkin verran kokemusta Apache2:sta, joka minulla oli käytössä, kun aikoinani asentelin OwnCloud/Nextcloud -palvelimia omaan käyttööni, mutta Apache2:een verrattuna Caddy on mielestäni huomattavasti helpompi konffata.

Caddy web-server on myös siitä vekkuli, että se tarjoaa automaattisesti sertifikaatin joko Let’s Encrypt:in tai ZeroSSL:n kautta sekä asettaa https-yhteyden oletuksena päälle ja ohjaa liikenteen automaattisesti portista 80 porttiin 443 eli suojattuun https-yhteyteen. Lisäksi Caddy huolehtii myös siitä, että sertifikaatti pysyy automaattisesti ajan tasalla. Toimiakseen tämä tarvitsee nettiyhteydeltä sen, että portit 80 ja 443 ovat auki eli esim. Elisan yhteydellä tämä toimii, mutta DNA:lla ovat nämä portit operaattorin toimesta suljettuna ja niitä ei saa mitenkään auki ellei sitten käytä IPv6-protokollaa.

Jotta sitten saat ohjattua liikenteen vielä oikeaan osoitteeseen, tarvitsee käyttää dynaamista DNS-palvelua, joka minulla on kotimainen dy.fi DNS-palvelu. Tämä palvelu on ilmainen ja on tarkoitettu vain suomalaisille käyttäjille.

Caddyn asennus Link to heading

Caddyn asennus onnistuu Debian 11 Bullseye -versiolle (ohje toimii myös RaspberryPiOS ja Armbian Bullseye -versioilla) tehdyn ohjeen mukaisesti seuraavasti

sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy

Tämän jälkeen meillä on Caddy asennettuna ja käynnistettynä. Caddy web-serverin tilan voi tarkistaa komennolla

sudo systemctl status caddy

Em. komennon jälkeen pitäisi tulla jotakuinkin alla olevan kuvan mukainen ilmoitus, josta näemme, että Caddy on käynnissä.

Jos avaamme selaimella sivuston http://x.x.x.x (x.x.x.x on koneen IP-osoite, johon Caddy on asennettu), niin näemme sivun

Kuva: Caddy toimii!

Tämä näkymä on selaimessa oletuksena Caddyn asennuksen jälkeen ja kertoo siitä, että asennus on onnistunut.

Palomuurin asennus ja konffaus Link to heading

Tässä vaiheessa viimeistään on myös hyvä tarkastaa ja tarvittaessa asentaa palomuuri, mikäli sitä ei ole asennettu, eli sen asennus tapahtuu komennolla

sudo apt install ufw

Ennen kuin palomuuri otetaan käyttöön, avataan siitä tarvittavat portit eli

sudo ufw allow 22
sudo ufw allow http && sudo ufw allow https

Nämä avatut portit ovat 22 (ssh), 80 (http) ja 443 (https). Portti 22 avattiin sen vuoksi, että kun palomuuri otetaan käyttöön, niin ssh-yhteys ei katkea. Palomuuri saadaan käyttöön komennolla

sudo ufw enable

Palomuurin tila saadaan tarkastettua komemmolla

sudo ufw status

Caddyn konffaus Link to heading

Seuraavaksi lähdemme luomaan omaa nettisivustoa ja aluksi luodaan hakemisto, johon web-serverin tiedostot tallennetaan eli tässä tapauksessa meillä olisi käytössä web-osoite www.esimerkki.fi. Nimen voit valita sen mukaan, mikä sinulle tulee oman sivuston osoitteeksi.

sudo mkdir /var/www/html/esimerkki.fi

Luodaan testisivusto index.html edellä luotuun hakemistoon

sudo nano /var/www/html/esimerkki.fi/index.html

Ja kirjoitetaan tiedostoon alla oleva teksti ja tallennetaan tiedosto

<!doctype html><head><title>Caddy Test Page</title></head><body><h1>Hello, World!</h1></body></html>

Tämän jälkeen muutetaan vielä hakemiston käyttöoikeudet oikeaksi komennolla

sudo chown -R www-data:www-data /var/www/html/esimerkki.fi

Seuraavaksi konfiguroidaan Caddyn konffitiedosto

sudo nano /etc/caddy/Caddyfile

Tiedostoa muokataan muuttamalla riviä root * /usr/share/caddy muotoon root * /var/www/html/esimerkki.fi

Tallennuksen jälkeen käynnistetään vielä Caddy uudestaan eli

sudo systemctl restart caddy

Seuraavaksi kun avaamme taas selaimessa sivuston http://x.x.x.x , niin näemme uuden aikaisemmin luodun sivuston.

Eli nyt meillä on Caddy asennettuna ja konffattuna avaamaan oman aiemmin luotu nettisivu. Seuraavaksi lähdemme asentamaan WordPress.org -blogialustaa, mutta tästä tarkemmin sitten seuraavassa kirjoituksessa.

Jaa tämä: