Hogyan telepítsük a Matomo (korábban Piwik) webanalitikai szoftvert Apache rendszerű szerverünkre (7. oldal)

botond küldte be 2019. 09. 01., v - 16:07 időpontban

Tartalom

 

A 7. oldal tartalma

 

 

Folytatás

Az előző oldalon elvégeztük a Matomo (Piwik) rendszer telepítése utáni fontos beállításokat, itt még folytatjuk a geolokációs eszközök telepítésével és beállításával, hogy statisztikánkban láthassuk hogy mely városokból érkeznek látogatóink.

 

További szükséges beállítások

Geolokáció beállítása

Utolsó feladatunk, a geolokáció beállítása maradt hátra. Ahogyan a Matomo a Rendszerellenőrzés oldalán is javasolja, a PHP alapú GeoIP 2 megoldást fogjuk használni. Több módszer is létezik (pl. Apache modul telepítése), de ezt a legegyszerűbb feltelepíteni.

A fizetős és ingyenes változatban is elérhető geolokációs adatbázisokat a MaxMind biztosítja. Használatához szükségünk lesz egy libmaxminddb nevű C fügvénykönyvtárra, és egy MaxMind-DB-Reader-php nevű PHP bővítményre.

Forráskód lefordításának alapfeltételei

Az itt következő részek forráskód lefordításokat tartalmaznak, amikhez a gcc és a make parancsok szükségesek. Ezeket pedig a gcc és a build-essential csomagok tartalmazzák. Az általam készített szerverek közül egyedül a Debian 8 (Jessie) LAMP szerver nem tartalmazza ezeket, így ha ilyen szerverre telepítjük a Matomo rendszert, akkor – a csomagtárak frissítését követően – telepítsük őket az alábbi módon:

apt-get update
apt-get -y upgrade
apt-get -y install gcc build-essential

Ha más rendszert használunk, aminél nem vagyunk biztosak ezen csomagok meglétében, akkor ellenőrizhetjük az alábbi grep paranccsal:

dpkg -l | grep "gcc\|build-essential"

Ha itt felsorolja a gcc és a build-essential csomagot is, akkor ugorhatunk is a következő részre. Ha viszont nincsenek fent, akkor telepítsük őket a fentebbi parancsokkal.

A szervereket ellenőriztem, az esetlegesen hiányzó csomagok telepítése után már működik a fordítás mindenhol.

Libmaxminddb függvénykönyvtár telepítése

A libmaxminddb függvénykönyvtár segítségével a rendszerünk képes lesz a MaxMind adatbázis fájljainak olvasására. A függvénykönyvtár forráskódját a GitHub oldaláról tudjuk letölteni. Közvetlen git klónozással is hozzá lehetne jutni, de egy élő Git repóban lévő forrás használata során előjöhetnek függőségi problémák, amiknél rögtönözni kell, így nincs rájuk pontos recept. Hogy ezt elkerülhessük, inkább a kész tarball forráscsomag letöltését választjuk. Ehhez először az alábbi linken keressük ki a legfrissebb verziót a tetején:

https://github.com/maxmind/libmaxminddb/releases

Majd a leírás alatti libmaxminddb-x.y.z.tar.gz fájl link címét másoljuk ki. Nálam éppen ez:

https://github.com/maxmind/libmaxminddb/releases/download/1.3.2/libmaxminddb-1.3.2.tar.gz

Majd root-ként belépve folytassuk a műveletsort, kezdve a /tmp könyvtárba lépéssel és a tarball letöltésével:

cd /tmp
wget https://github.com/maxmind/libmaxminddb/releases/download/1.3.2/libmaxminddb-1.3.2.tar.gz

Csomagoljuk ki a letöltött archív fájlt a tar paranccsal, és utána lépjünk be a létrejött könyvtárba:

tar -xvzf libmaxminddb-1.3.2.tar.gz
cd libmaxminddb-1.3.2

Ezután végezzük el a forráskód lefordítását az alábbi parancsok végrehajtásával:

./configure
make
make check

Az utolsó paranccsal ellenőrizhetjük a fordítás hibamentességét. Ha minden rendben, akkor ilyen kimenetet kell hogy lássunk:

libmaxminddb fordítása - make ellenőrzése

Végül telepítsük a lefordított csomagot, majd futtassuk az ldconfig parancsot a cache újraépítéséhez:

make install
ldconfig

Ezzel a libmaxminddb C függvénykönyvtár fordításával és telepítésével elkészültünk.

 

 

MaxMind-DB-Reader-php PHP bővítmény telepítése

PHP bővítmények telepítéséhez szükségünk lesz a phpize parancsra, amit a PHP rendszerünk fejlesztői csomagjában találhatunk. Először ellenőrizzük a rendszerük (alapértelmezett) PHP verzióját:

php --version

A verziónk alapján töltsük le a megfelelő PHP development csomagot:

  • PHP 5 esetén: php5-dev
  • PHP 7.0.x esetén: php7.0-dev
  • PHP 7.1.x esetén: php7.1-dev
  • PHP 7.2.x esetén: php7.2-dev
  • stb...

Nálam ezen a Debian 9 (Stretch) tökéletes szerveren a 7.0-ás PHP az alapértelmezett, tehát én most ezt használom:

apt-get -y install php7.0-dev

Ezután lépjünk a /tmp könyvtárba és töltsük le a MaxMind-DB-Reader-php PHP bővítmény zip változatát a GitHub oldaláról:

cd /tmp
wget https://github.com/maxmind/MaxMind-DB-Reader-php/archive/master.zip

Csomagoljuk ki, és lépjünk be a létrejött könyvtár alatti ext/ alkönyvtárba:

unzip master.zip
cd MaxMind-DB-Reader-php-master/ext

Itt futtassuk a phpize parancsot (root-ként):

phpize

Normál esetben ad egy hasonló kimenetet (PHP verziónktól függően):

Configuring for:
PHP Api Version:         20151012
Zend Module Api No:      20151012
Zend Extension Api No:   320151012

Ezután konfiguráljuk, fordítsuk le a forrást, majd telepítsük (szintén root-ként):

./configure
make
make install

A végén ad egy ilyen kimenetet:

Installing shared extensions:     /usr/lib/php/20151012/

Nyissuk meg a php.ini fájlt (PHP 7.x esetén: /etc/php/7.x/apache2/php.ini PHP5 esetén pedig: /etc/php5/apache2/php.ini):

nano /etc/php/7.0/apache2/php.ini

És adjuk a végéhez a következő sort:

extension=maxminddb.so

Mentsük le, és indítsuk újra az Apache-ot:

systemctl restart apache2.service

 

Matomo GeoIP 2 bővítmény aktiválása

Ha idáig eljutottunk, akkor menjünk vissza a Matomo felületére, majd ott kattintsunk a jobb felső fogaskerékre, és a bal oldali menüben lépjünk a System csoport Geolocation opciójára:

Matomo (Piwik) - Beállítások - Geolokáció

Itt láthatjuk, hogy az alapértelmezett mód az aktív, és az alatta lévő GeoIP 2 (Php) rész még szürke, és alatta van hogy "Nem telepített". Itt görgessünk le a lap aljára, ahol egy "GeoIP Databases" című panelt találunk:

Matomo (Piwik) - Beállítások - Geolokáció - Adatbázisok

Itt ha nem vásároltuk meg a fizetős adatbázist, hanem az ingyenest szeretnénk használni, akkor kattintsunk a bal oldali zöld gombra, ekkor automatikusan letölti a MaxMind oldaláról az ingyenes geolokációs adatbázist.

Matomo (Piwik) - Beállítások - Geolokáció - Adatbázis letöltése

Ha végigment a csík, akkor letöltésre kerül egy 61 Mb-os GeoLite2-City.mmdb nevű fájl, amely az alábbi könyvtárba került:

<matomo telepítési könyvtára>/misc/

Ezzel természetesen már nincs dolgunk, de azért leírom, hátha mégis szükség lesz rá.

Ezután visszakerülünk ugyanennek az oldalnak a felső részére, ahol már zölden jelzi a GeoIP 2 (Php) résznél hogy telepítve:

Matomo (Piwik) - Beállítások - Geolokáció - GeoIP 2 (PHP) kiválasztása

Itt válasszuk is ki a GeoIP 2 (Php) opciót, majd ennek a panelnek az alján lévő mentés gombbal mentsük a beállítást.

 

 

Ha most ugyanitt legörgetünk ismét a lap aljára, akkor láthatjuk az automatikus frissítési részeket, ahol már be van állítva a letöltési URL cím és hogy havonta töltse le a Matomo a frissebb változatot (kb havonta frissül egyébként).

Matomo (Piwik) - Beállítások - Geolokáció - Adatbázisok automatikus frissítése

Ezzel már nincs dolgunk, készen is vagyunk a geolokációs beállításokkal.

 

Ezeket a részeket (libmaxminddb függvénykönyvtár és a MaxMind-DB-Reader-php PHP bővítmény telepítése) egyébként a Matomo rendszerétől függetlenül is felhasználhatjuk saját PHP projektjeinkben lévő IP-címek visszakövetéséhez. Ehhez a GeoIP2-php API csomagra van szükségünk, ami letölthető a GitHub oldaláról.

 

Még ne menjünk sehova, mert az utolsó oldalon átállítjuk az egész rendszert a PHP-FPM alapú működésre.

 

 

Lapozó

Ez a leírás több oldalból áll: