tavis nörttimaailmassa

EksisONE - artikkeleita ja ohjeita nörttimaailmasta

Matomo: asennus

Samaan tahtiin yksityisyysloukkausten ja ymmärryksen kuinka syvälle tekemisiämme Google ja Facebook ryömivät, on tullut tilaus saada jokin seuranta- ja tilausjärjestelmä, joka aidosti kunnioittaa käyttäjää ja jonka ansaintalogiikka ei tilastoinnin tarjoajan puolelta perustu otettujen tietojen myyntiin. On ymmärrettävä, että Google Analytics on ilmainen vain siksi, että sillä saadaan valtaosa sivustoista keräämään myytävää tietoa Googlelle. Tuohon markkinarakoon tuli Motomo, joka aikaisemmin tunnettiin nimellä PIWIK.

Kyseessä on sama tuote, mutta se jaettiin kahtia. Matomo lanseerattiin ilmaiseksi perustaksi, johon kuka tahansa yhteisöpohjalta rakentaa laajennoksia. Piwik on sama, mutta kaupallinen haara ja suunnattu isommille B2B-markkinoille.

Matomo on avoimeen lähdekoodin periaatteessa samanlainen trackeri, seurantasysteemi, kuin Google Analytics. Mutta vain periaatteessa, sillä Matomo ei mahdollista (ainakaan helposti) edes puolia siitä mitä Analyticsin kautta saa. Kyse on siitä, että suurin osa ei edes tarvitse niitä Analyticsin mahdollisuuksia, ei edes verkkokaupassaan.

Oleellinen eri Matomon ja Googlen välillä on käyttäjätietojen käsittely. Googlen haalimat tiedot menevät aina ja poikkeuksetta Googlen käyttöön ja siksi noin sekunnissa siitä, kun olet käynyt jonkun yrityksen sivuilla, niin jokainen mahdollinen syöte on hetken aikaa täynnä juuri sen firman mainoksia. Jos markkinointisi perustuu Googlen palveluihin, niin ehkä haluat pysyä Analyticsin käyttäjänä – silti on ymmärrettävä, että pohjimmiltaan sivuillesi asennettu seurantakoodi ei palvele sinun markkinointiasi, vaan data hyödyntää mm. kilpailijaasi.

Mutta jos sinulle on WordPress-pohjainen sivusto, ja käytät Analyticsiä, niin ole edes sen verran kiltti käyttäjillesi ja paranna asemiasi, että tarjoat koodin paikallisesti, et Googlelta.

Matomo on kohtuullisen pieni tekijä, ainakin suhteellisesti. Sen osuus on prosentin tai kahden luokkaa, mutta kun luvuista siivotaan pois cPanelien automaattisesti tarjoamat AWStats ja Webalyzer, niin osuus on suurempi. Saksa, jossa ollaan perinteisesti tarkempia yksityisyyden ja valvonnan suhteen, Matomon osuus yritysten sivustoilla alkaa lähestyä 10 prosenttia.

Matomo on harkitsemisen arvoinen vaihtoehto myös pienemmissä puitteissa, kun kaivataan vain tilastoja kävijä- ja lukumääristä. Hidastava tekijä on, että Matomon käyttö periaatteessa tarvitsee virtuaaliserverin. WordPressille löytyy lisäosa.

WordPress-maailmassa ehdottomasti yleisin tapa seurata kävijämääriä on Automatticin tarjoama Jetpack. Se on epätarkka määrissä liioitellen aina käyntimääriä, mutta se on suunnattoman helppo ottaa käyttöön. Molemmista syistä johtuen webmasterit hyväksyvät sen. että Jetpack hidastaa suunnattomasti sivuston näkyvää osaa kuin myös taustalla, sekä sivuston saatavuus riippuu täysin siitä miten nopeasti – jos ollenkaan – Automatticin serverit vastaavat. Jetpack kannattaa poistaa välittömästi ja ottaa esimerkiksi Matomo käyttöön.

Matomon asennus virtuaaliserverille

Ohjeet ovat Ubuntulle (19.04), mutta soveltuvat hyvin pitkälle kaikille Debian-pohjaisille distroille. Muut joutuvat soveltamaan. Webserverinä on Apache2, joten Nginxiä käyttävät joutuvat itse pähkäilemään miten virtual host rakennetaan Matomon käyttöön – lienee helppoa, koska Apachellakin se on aidosti vain näennäinen, että saadaan erillinen osoite tiöastojen esittelyyn ja itse teen sen alidomainina.

Teen kaiken rootina, joten jos kirjaudut SSH:n käyttäjänä, niin arvo sudo tai su soveliaisiin paikkoihin.

  • Haetaan Matomon asennuspaketti.
cd /tmp
wget https://builds.matomo.org/matomo-latest.zip
  • Puretaan paketti hakemistoon /var/www/matomo – voit toki purkaa sen muuallekin, mutta jos sinulla ei ole poikkeuksellisia tarpeita, niin tuo on hyvä paikka.
unzip matomo-latest.zip -d /var/www/

Jos sinulla ei ole unzip asennettuna, niin se onnistuu nopeasti:

apt install unzip
  • Laitetaan omistajuus webserverille.
chown -R www-data:www-data /var/www/matomo/

Tietokanta

  • Matomo tarvitsee tietokannan, joten luodaan se. Käynnistä MariaDB tai MySQL.
mariabd

tai

mysql -u root -p
  • Luodaan tietokanta. Nimi voi olla matomo tai minkä haluatkaan.
create database matomo;
  • Luodaan käyttäjä, annetaan sille salasana sekä tarvittavat oikeudet. Vaihda käyttäjä ja salasana.
grant all privileges on matomo.* to käyttäjä@localhost identified by 'salasana';
  • Tyhjennetään välimuisti ja poistutaan tietokannasta
flush privileges;
exit;

Virtual host

Matomo haluaa itselleen osoitteen. Se toimii siis siltä osin vastaavalla logiikalla kuin Analytics. Menet Matomolle antamaasi osoitteeseen, kirjaudut sisälle ja valitset sitten valikosta sen sivuston. joska tilastoja haluat katsella. Toki voit hankkia sille vaikka ikioman domainin, tai tehdä alidomainin.

Teet  sitten domainin tai alidomainin, niin tässä välissä on syytä tehdä nimipalvelimeesi A-tietue. Muutos kestää kuitenkin jonkun aikaa.

Se miten teet virtual hostin riippuu täysin ympäristöstäsi. Osannet asettaa virtual hostin ilman yksityiskohtaisia ohjeita (jos et osaa, niin katso täältä mallia).

Tämä on perusesimerkki Apachelle:

Vastaavan esimerkin voit käydä lunttaamassa täältä, mutta en tiedä toimiiko se; en ole itse koskaan kokeillut.

Minulla on käytössä pino, jossa

  • Nginx hoitaa SSL:n, HTTP/2:den ja kääntää portin 80 portille 443
  • Varnish hoitaa välimuistin ja muut proxyyn liittyvät asiat
  • Apache2 on backendinä pitämässä huolta itse sivustoista

Siksi joudun tekemään kaksi virtual hoastia: Nginxiin sen mikä ottaa maailman vastaan ja Apacheen varsinaisen Matomon.

Tämä on live-esimerkki eksis-sivustojen käyttäjäseurantaan tehdystä Nginxin virtuaalihostista Varnishin edessä:

Jos Varnish on käytössä, niin se haluaa myös omat asetuksensa. Koska vain minä käytän Matomoa, niin on aivan se ja sama mitä siitä välimuistitetaan tai ollaan cacheamatta. Siksi päästän sen suoraan läpi. Tämä on itsellä käytössä:


sub vcl_recv {
   if (req.http.host == "stats.eksis.eu") {
      return (pipe);
   }
}

Matomo tarvitsee muutaman PHP-moduulin toimiakseen. Ne suurella todennäköisyydellä löytyvät jo sinulta, mutta kokeile silti asentaa. Muista vaihtaa versionumero PHP:n mukaiseksi.

apt install php-imagick php7.3-common php7.3-gd php7.3-json php7.3-curl  php7.3-zip php7.3-xml php7.3-mbstring php7.3-bz2 php7.3-intl

Jos jokin asennettiin, niin Apache2 vaatii uudelleenlatauksen systemctl reload apache2 ja Nginx mennä porskuttaa ilman sen kummallisempia kiemuroita.

Cron

Matomo laskee hieman toisaikaisesti tilastojaan. Osan se päivittää kun selainikkuna päivitetään, joten periaatteessa kyse on reaaliaikaisesta tilanteesta. Aidosti reaaliaikaisuus tarkoittaa oletuksena kolmen minuutin syklejä, vaikka reaaliaikaiset kävijät näytetäänkin lähes reaaliaikaisesti  – tämä ei ole aivan ainutlaatuinen sekavuus Matomon dokumentoinnissa. Matomon muut tilastot lasketaan aina kun Matomon tietokanta arkistoidaan. Oletuksena se tehdään joka kerta kun ikkuna päivitetään tai kun kirjaudutaan sisälle. Jos kyseessä on hiemankaan vilkkaampi sivusto, ja vilkkaus tarkoittaa luokkaa parituhatta käyntiä päivässä, niin arkistointi kannattaa tehdä cronilla ajatestettuna. Matomo ei avaa sen syvällisemmin asiaa, mutta ilmeisesti kyse on siitä, että jos sen kertyvä tietokanta on päässyt paisumaan liian isoksi, niin sen käsittely voi kuormittaa liikaa ja siksi sitä kannattaa tehdä säännöllisin välein.

Ei puututa vielä Matomon asetuksiin, mutta käydään kuitenkin asettamassa cron.

 

MAILTO=”jakke.lehtonen@eksis.one”
*/30 * * * * php /var/www/matomo/console core:archive –url=https://stats.eksis.eu/ > /var/log/apache2/matomo-archive.log

Matomon asetukset

Kun nimipalvelin muutokset ovat tulleet voimaan, virtual hostit ovat paikallaan ja toivon mukaan myös SSL on asennettu, niin voit mennä tekemääsi osoitteeseen https://analytics.example.com ja aloittaa varsinaisten asetusten laittamisen. Niissä ei sinänsä ole mitään ihmeellistä, tärkeimpinä annetaan tietokannan tiedot ja luodaan käyttäjä.

Klikkaamalla Next pääset liikkeelle.

Järjestelmäasetusten tarkastamisen jälkeen tulee tietokannan asetusten antaminen. Anna luomasi tietokannan tiedot. Database server on lähes aina 127.0.0.1 (localhost, eli tietokanta on samassa järjestelmässä kuin muutkin). Jos sinulla tietokanta majailee muualla, niin tietänet mitä asetat.

Muista table prefix, jos samaan tietokantaan tulee joskus joku muu asennus. Tuskin tulee, mutta eihän sitä koskaan tiedä. Tämä on täysin samanlainen asetus kuin WordPressissä ja sen kiljuunassa muussakin, eli yleensä käytetään 2 – 4 merkkiä pitkää lyhennettä ja loppuun alaviiva, esimerkiksi mt_

 

 

Kun tietokanta on luotu, niin luot pääkäyttäjän, jota Matomon slangissa kutsutaan nimellä super user. Jos käytät Matomoa yksin, niin asialla ei ole suurempaa oleellista merkitystä, mutta jos tarve on useammalle, niin super userin rooli on ymmärrettävä. Konsepti on helppo. Super userilla on kaikki oikeudet asentaa sivustoja, poistaa, ottaa laajennoksia köyttöön, muuttaa asetuksia jne. Eli kyseessä on admin tai root muista yhteyksistä. Voit luoda myös käyttäjiä, mutta super user on aina yksi henkilö, joka hallinnoi ylimpänä. Jos sinä vastaat tekniikasta, niin sinä ja vain sinä olet super user, ei se mukana häärivä yhteistyökumppani, vaikka olisi kuinka hyvä kaveri ja haluaisi.

Voit tilata tai olla tilaamatta uutiskirjeen. Ehkä kannattaa, niin pysyy hieman kärryillä mitä tapahtuu. Se on melkoisen hiljainen lista eikä sieltä suuremmin postia tule.

 

 

Super userin luomisen jälkeen asetat ensimmäisen sivustosi. Annettavat tiedot ovat hyvin selviä: joku nimi, url, aikavyöhyke, onko se verkkokauppa jne.

 

 

Kun hyväksyt tiedot, niin saat tärkeimmän asian: seurantakoodin. Se on tavallinen javascript-koodi kuten aina ja se täytyy liittää sivuston head-osioon, ennen alkavaa <body>-tagia – aivan tismalleen samoin kuin Analyticissä ja kaikissa muissakin seurantajärjestelmissä. Sinun on myös mahdollista ottaa mukaan pikselikokoinen kuva niitä tapauksia varten, jotka ovat selaimessaan estäneen javascriptin – mutta sen saat itse selvittää; yleisin syy miksi javascript nykypäivänä estetään, on pakonomainen tarve välttää seurantaa ja sitä lienee syytä kunnioittaa.

Jos tiedät, että et saa koodia heti upotettua sivustoon, niin ei huolta. Sen saa tiesti myöhemminkin kopioitavaksi.

 

 

Yksi Next klikkaisu ja olet Matomon puolella ihmettelemässä kertyvää statistiikkaa.

Jos sinun pitää jossain vaiheessa muuttaa jotain oleellista Matomon asetuksista, niin avaa tämä /var/www/matomo/config/config.ini.php

Matomon käyttö

Matomosta on helpompi löytää olennaiset asiat kuin Analyticsistä, koska niitä ei ole samalla tavalla piilotettu – ja vaihtoehtoja on vähemmän. Se, mitä itse kaipaan, olisi aito reaaliaikainen tilanne. Matomo tarjoaa edellisen puolen tunnin tilanteen. Mutta tutki itse paikkoja, ei se muuten aukene.

Seurantakoodi

Jos et ole vielä saanut seurantakoodia headeriin, niin WordPressissä on kolme vaihtoehtoa:

  • laittaa teeman asetuksiin, jos sellainen kohta löytyy (ja kun vaihdat joskus teemaa, niin häviää seurantakoodikin; koskaan teemaan ei aseteta mitään teemaan liittymätöntä asiaa)
  • laittaa sopiva snippet (joka on usein järkevin vaihtoehto, jos ei tarvita enempää säätöjä)
  • asentaa lisäosa

Unohdetaan teema. Jos sinulla ei ole tarvetta muutoin asetella erilaisia asioita eri paikkoihin, etkä käytä AMP-sivuja, niin asenna ensin Code Snippets (jos ei vielä ole) ja kopioi siihen tämä:


/* Kaikki mikä täytyy laittaa <head_ osioon, ennen <body> tagia */
add_action('wp_head', 'inject_name');
function iject(){
?>

KOPIOI KOODI TÄHÄN

<?php
};

 

Pari asiaa haluat ehkä asettaa. Ensimmäinen on