Virtuaaliserveri VPS ja kaikki porkkanat ulkona!
Tietoturvavinkit:
- Älä koskaan käytä root-tunnusta
- Käytä aina SSH-avaimia salasanojen sijaan
- Pidä palvelin päivitettynä
- Käytä UFW-palomuuria
- Käytä vahvoja salasanoja
Domain ja Apache:
- Luo VirtualHost-tiedosto
- Käytä public_html-kansiota kotihakemistossa
- Muista oikeat tiedosto-oikeudet
- Testaa toimivuus
- Tarkista virhelokit ongelmatilanteissa
Hyvät käytännöt:
- Tee aina varmuuskopiot
- Dokumentoi muutokset
- Testaa kaikki muutokset
- Pidä asetukset yksinkertaisina
- Seuraa lokitiedostoja säännöllisesti
Perustarkistukset:
- SSH-yhteyden toimivuus
- Palomuurin säännöt
- Apache-sivun toimivuus
- Lokitiedostojen tarkistus
- Käyttöoikeudet
Lähteet lopussa.
Serverin vuokraus, Debainin päivitys ja porkkanat.
Vuokrataan palvelin upcloud.comista. Tämän jälkeen luodaan uusi SSH avain palvelimelle ja annetaan tämän avaimen julkinen osuus sivustolle.

Ensimmäisenä lisäsin omalle nimipalvelimelleni A-recording VPS palvelimen ip4 osoitteeseen. Palvelimen nimipalvelin tulee olemaan hh.isakoff.fi/h.iskff.fi
Deplymentin jälkeen serverin tullessa päälle otetaan yhteys ensin root käyttäjällä.
ssh root@hh.isakoff.fi
Tässä kohtaan hyväksytään somernjälki ja kädenpuristus.
Root käyttäjänä palvelimen käyttö ei kuitenkaan ole suotavaa tai hyvän käytännön mukaista. Siispä luodaan uusi käyttäjä ja lisätään käyttäjä ’sudo’ ryhmään.
adduser henry
Lisätään käyttäjä sudo ryhmään samalla toimintakehottella kuin äsken, mutta nyt lisätään oikeuksia.
adduser henry sudo
Luodaan SSH avaimille peruskansio ja kopioidaan root käyttäjän avaimet käyttäjälle henry
mkdir /home/henry/.ssh
cp /root/.ssh/authorized_keys /home/henry/.ssh/
Asetetaan oikeudet avaimille, oikealle käyttäjälle
chown -R henry:henry /home/henry/.ssh
chmod 700 /home/henry/.ssh
chmod 600 /home/henry/.ssh/authorized_keys
Tämän jälkeen uudessa ikkunassa kirjaudutaan
ssh henry@hh.isakoff.fi
Todetaan toimivaksi niin poistetaan root käyttäjän avaimet.
rm /root/.ssh/authorized_keys
Vaihtoehtoisesti voidaan myös
sudoedit /etc/ssh/sshd_config
ja poistetaan päältä root oikeus etsimällä teksti ja aktivoimalla.
PermitRootLogin no
Ctrl + x tallennus.
Tämän jälkeen käynnistetään palvelu uudestaan.
systemctl restart sshd
Ja näin on pelkästään käyttäjällä Henry ssh avaimet omassa linux-palvelimessa!
Päivitetään vielä koko kone ja poistetaan ylimääräiset paketit.
`sudo apt-get dist-upgrade; sudo apt-get autoremove`
Palomuuri, TCP ja apache.
Seuraavaksi asennetaan UFW ja Apache. Avataan UFW:n SSH portti ja laitetaan hommat päälle
sudo apt-get install ufw apache2
Tämän jälkeen luodaan sääntö SSH ja html porteille.
sudo ufw allow 22;sudo ufw allow 80
Hyvä vielä taskastaa, että portit ovat auki
sudo ufw status
Tämän jälkeen ufw päälle
sudo ufw enable

Nyt meillä on toimiva apache-yhteys ja toimivat sivut osoitteessa hh.isakoff.fi

Korvataan sivut ja porkkana!
Käytetään viime viikon komentoja ja luodaan uusi sivusto
mkdir -p /home/henry/public_html/hh.isakoff.fi
sudo nano /etc/apache2/sites-available/hh.isakoff.fi.conf
<VirtualHost *:80>
ServerName hh.isakoff.fi
DocumentRoot /home/henry/public_html/hh.isakoff.fi
<Directory /home/henry/public_html/hh.isakoff.fi>
Options -Indexes +FollowSymLinks
</Directory>
ErrorLog ${APACHE_LOG_DIR}/hh.isakoff.fi_error.log
CustomLog ${APACHE_LOG_DIR}/hh.isakoff.fi_access.log combined
</VirtualHost>
echo "<h1>hh.isakoff.fi toimii! </h1>" | sudo tee /home/henry/public_html/hh.isakoff.fi/index.html
Poistetaan apachen-perussivu ja aktivoidaan oman sivun konfiguraatio ja käynnistetään palvelu uudestaan.
sudo a2dissite 000-default.conf; sudo a2ensite hh.isakoff.fi.conf
sudo systemctl reload apache2
Lisätään vielä hosts tiedostoon palvelinnimi.
sudoedit etc/hosts
127.0.0.1 hh.isakoff.fi

Ja näin ollaan toiminnassa!
Lähteet, https://terokarvinen.com/linux-palvelimet/ https://susannalehto.fi/2022/teoriasta-kaytantoon-pilvipalvelimen-avulla-h4/ https://terokarvinen.com/2017/first-steps-on-a-new-virtual-private-server-an-example-on-digitalocean/
Dokumentissa käytetty apuna formatoinnissa ja tekstinkäsittelyssä LLM mistra-small:24b järkeily + gemma2:27b sanoitus malleja sekoitettuna kirjoittajan omalla opetusdatalla. WilmerAI välissä. https://ollama.com/library/mistral-small:22b https://ollama.com/library/gemma2:27b https://github.com/SomeOddCodeGuy/WilmerAI
Kuvat optimoitu https://optimage.app
Käytetty aika 1h 27min