Kun virtuaaliserveri on Ubuntulla, niin eräällä tavalla järkevän perustelun aikaväli päivittää käyttöjärjestelmän takia on enintään kahden vuoden välein. Sillä aikavälillä Ubuntusta tulee aina LTS-versio, eli pidemmän tukiajan tuotos. Väliversioiden tuki loppuu nopeammin. En ymmärrä mikä tuon versioajattelun pointti on, mutta niin se vain menee. Itselläni serverit vaihtuvat erilaisista syistä – yleensä omien töppäilyjen takia – noin puolen vuoden välein. Sillä aikavälillä asennan ja asetan serverin aivan alusta toimintakuntoon ja joka kerta yritän muistaa mitä piti tehdä ja miksi. Siksi koostin roadmapin kaikesta mitä pitää tehdä, kun vaihtaa sivustot uudelle virtuaalipalvelimelle.
Lähtökohtana on, että vaihdetaan Ubuntusta toiseen version muuttuessa. Myös PHP:n versio muuttuu, jonka takia esimerkiksi Apachen moduuleja ei voida kopioida asennuksesta toiseen. SSH saattaisi kannattaa asettaa serverien välille, jolloin rsync
muuttuu einen jouhevammaksi. En ole kuitenkaan vaivautunut, koska vanha serveri kuitenkin hävitetään.
Roadmap on vain tyhmä muistilista, jota seuraamalla pääsääntöisesti saan tehtyä siirrot vähimmällä vaivalla. Ei taatusti pienimmällä, mutta se on eri asia. Joskus ehkä opin niin paljon, että tuon saisi skriptiksi, tai sitten en.
Milloinkaan en ole onnistunut tekemään siirtoa kerralla valmiiksi. Aina on unohtunut joku PHP:n moduuli tai johonkin pakosta muokattavaan asetustiedostoon on tullut kirotusvirhe. Mitään sen suurempaa ongelmaa ei ole tullut vastaan.
Varnish tuotti hieman päänvaivaa, koska se päivittyi myös uudempaan. VCL:n syntaksia oli (taas) muutettu, jonka takia grace-asetukset siltä osin kun mukana oli return(miss);
toimintoja, eivät menneet läpi. Ne oli muutetava return(deliver);
. Ylipäätään näyttää siltä, että erillistä grace-aikaa ei enää tarvitse asettaa backendin kaatumisen varalle, vaan Varnish hoitaa asian itse. Idealtaan siis hieman samantapainen muutos kuin että Varnishissa ei enää tarvitse erikseen asettaa gzip-pakkausta, koska Varnish tekee sen aina lennossa.
Olen päivittänyt Githubiin käyttämäni default.vcl tiedoston sellaiseksi, että se toimii uuden Varnish 6.1 kanssa.
Samaten geo-blokkaus ei enää onnistu entisten ohjeiden mukaan ohjelmistopäivityksen takia. Päivitän sen kohdan, jahka saan asian fiksattua. Asian saa kierrettyä lataamalla tiedoston edellisen version. Löytyy varmaan githubistakin, mutta myös täältä. Vilkaise alkuperäiset ohjeet.
Siirron tekemiseen menee tunteja X. Jos kaikki menee suhteellisen jouhevasti, niin saan tehtyä kaiken parissa tunnissa. Jos en tee robottina urakkavauhdilla, niin olen varannut aikaa kaksi päivää: ensimmäisenä siirrän kaiken tarvittavan ja toisena päivänä laitan tietokannat ja domainit kuntoon yksitellen. 40 taalan droplet maksaa 1,30 päivä, joten rahan takia ei ole kiire.
Ubuntu on mahdollista päivittää terminaalissa komennolla do-release-upgrade
. Olen sitä viisi kertaa kokeillut DigitalOceanissa ja kerran onnistunut. Silloinkin toiminnoissa oli jotain omituista, joka on suurin syy siirtyä versiosta 19.04 hieman turhan tuoreeseen 20.04 LTS:ään. Ylipäätään vanhan version päivitys paikalleen on aina hieman arveluttava ajatus, vaikka tavallisissa tietokoneissa niin tehdäänkin – eikä järjestelmän version muutos aina niin mallikkaasti mene Windowseissa ja OsX:ssäkään.
Koska Ubuntussa LTS vaihtuu kahden vuoden välein, niin päivitys kannattaa tehdä käsin.
Pystyt käyttämään ohjetta täysin uudenkin serverin asentamiseen, mutta silloin joudut keskittymään asetuksiin hiukan enemmän.
Tästä alkaa
- Luo serveri
https://m.do.co/c/1a52415150cf (referraf DigitalOceaniin)
20.04 (LTS) x64
8 GB / 4 CPUs
160 GB SSD disk
40 USD/kk
Käytettävä setup
Nginx (SSL, http/2)
Varnish (reverse proxy)
Apache2 (backend sivustoille)
Redis (objekticache)
MariaDB (tietokanta/MySQL)
PHP/PHP7.4-FPM
iptables/ufw/Fail2ban (palomuuri ja geo-blokkaus)
Let’s Encrypt (SSL)
postfix (uloslähtevä email)
mosh (SSH-laajennos mobiileille)
Monit (järjestelmän seuranta)
Adminer (SQL-hallinta)
git (versiohallinta)
muuta
Sivustot:
Wordpress
Moodle
Matomo
Perusasetukset
Uudella serverillä.
Päivitykset
apt update
apt dist-upgrade
reboot
Luodaan käyttäjä
adduser [tunnus]
- Annetaan käyttäjälle
sudo
usermod -aG sudo [tunnus]
Asetetaan aikavyöhyke
timedatectl set-timezone Europe/Helsinki
Teen B2B-markkinoille sisällöntuottoa sekä UX-testauksia. Samaan liittyy myös koulutukset yrityksille ja webmaailman kanssa muutoin painiville. Serverien sielunelämää on joutunut ohessa opettelmaan. Toinen puoli toiminnasta on koirien ravitsemuksen ja ruokinnan suunnittelua sekä varsinkin omistajien kouluttamista hoitamaan koiriaan oikein ja vielä paremmin.
Profiili: Jakke Lehtonen
Keskustele foorumilla Meta/KATISKA