Tartalom
- oldal: Alapfeltételek áttekintése és a tárhely előkészítése a Matomo számára
- oldal: Matomo letöltése és telepítése
- oldal: Követőkódok elhelyezése WordPress rendszerű oldalakon
- oldal: Követőkódok elhelyezése Drupal rendszerű oldalakon
- oldal: Követőkódok elhelyezése és testreszabása egyedi fejlesztésű oldalakon
- oldal: A telepítés utáni fontos beállítások elvégzése
- oldal: GeoIP 2 (PHP) alapú geolokációs rendszer beüzemelése
- oldal: Matomo teljes rendszer átállítása PHP-FPM alapú szerver API működésre
A 8. oldal tartalma
- Folytatás
- Alapkövetelmények
- Változatok
- PHP-FPM további beállításai
- Geolokációs beállítások (opcionális)
- Matomo tesztelése
- Konklúzió
- Lapozó
Folytatás
Az előző oldalon beüzemeltük a Matomo (Piwik) geolokációs rendszerét, ezen az utolsó oldalon pedig átállítjuk a tárhelyet a gyorsabb, hatékonyabb és biztonságosabb PHP-FPM szerver API alapú működésre.
A leírás készítésekor az elsődleges szempontom az volt, hogy minél szélesebb körben legyen használható ez az útmutató, ezért sokat dilemmáztam az elején, hogy miként építsem fel. Egyik oldalról az volt a cél, hogy mindegyik általam készített szerveren működjön ez a telepítés – így a PHP-FPM-el nem rendelkező LAMP szervereken is –, másik oldalról pedig mindenképpen be akartam tenni ezt a részt is, mert szerintem ma már a PHP-FPM használata alap, szinte kötelező. Gondoltam arra is, hogy párhuzamosan viszem végig mindkét vonalon (Apache modulként és PHP-FPM-el egyszerre), de aztán elvetettem az ötletet, mert túl bonyolult lett volna úgy leírni az egészet, és sok lett volna a hibalehetőség a két változat közötti oda-vissza ugrálás során. Ezért inkább emellett döntöttem, hogy ennek a leírásnak az utolsó oldalára teszem amolyan kiegészítőként, ami már csak az idáig elvégzett beállításokra épülő módosításokat, kiegészítéseket tartalmazza. Még így is maradtak variációk ezzel a résszel kapcsolatban (pl. PHP verziók, alapértelmezett, vagy egyedi telepítésű PHP), de ezekről majd lejjebb...
Ez a rész tehát nem kötelező, de mindenképpen ajánlott azoknak, akik erősebb idegzetűek :) és szeretnék kihozni a maximális teljesítményt és hatékonyságot a szerverükből, és hogy a Matomo rendszerük is gyorsabban működjön.
Alapkövetelmények
A Matomo PHP-FPM-re történő átültetésének alapfeltétele, hogy elvégeztük legalább a leírás 1. és 2. oldalát, továbbá az alábbiak közül valamelyik igaz:
- Az elején valamelyik tökéletes szervert választottuk kiindulásnak, amik már tartalmazzák a PHP-FPM-et. Ebben az esetben ugorhatunk is tovább.
- Ha egy olyan LAMP szerverrel indultunk el, amire már időközben feltelepítettük a PHP-FPM-et, ehhez a leíráshoz hasonlóan. Ebben az esetben is ugorhatunk tovább.
- Ha pedig olyan LAMP szerverrel indultunk el, amire még nem telepítettünk PHP-FPM-et, akkor elvégezzük az alábbi rövid kiegészítést.
PHP-FPM gyors telepítése
Az alábbiakat root-ként végezzük!
Először frissítsük a csomagtárunkat és a csomagjainkat:
apt-get update
apt-get -y upgrade
Ezután telepítsük a szükséges csomagokat:
PHP 5 esetén (pl. Debian 8):
apt-get -y install php5-fpm
Indítsuk el a szolgáltatást a systemctl paranccsal:
systemctl start php5-fpm.service
PHP 7.x esetén (pl. Debian 9, Debian 10, Ubuntu 18.04):
Keressünk rá a csomagtárunkban a saját PHP 7.x verziónkra az apt-cache paranccsal:
apt-cache search "php7" | grep "fpm"
Erre kiadja a PHP 7 megfelelő alverzióját, telepítsük ennek megfelelően.
(Debian 9-nél a 7.0-ás, Debian 10-nél a 7.3-as, Ubuntu 18.04 esetén a 7.2-es PHP az alap)
Nálam tehát a 7.0-ás:
apt-get -y install php7.0-fpm
Indítsuk el a szolgáltatást:
systemctl start php7.0-fpm.service
Apache beállítás
Ha a fentiekkel megvagyunk, kapcsoljuk be az Apache proxy_fcgi modulját:
a2enmod proxy_fcgi
Végül indítsuk újra az Apache-ot:
systemctl restart apache2.service
Ezennel meg is vannak a PHP-FPM alapjai, folytathatjuk a következő résszel.
Változatok
Igyekszem úgy haladni, hogy mindenki számára használható legyen az egész, ezért itt még kitérnék egy dologra, amit itt az oldal elején is említettem, hogy vannak itt még változatok is.
Mint tudjuk, a szervereken vannak az alapértelmezett PHP környezetek, amiket a disztribúcióval adja a készítő. Ezek egyszerűen a csomagtárakból telepíthetők. Azonban nem ritka eset, amikor a helyzet úgy kívánja, hogy az ember újabb PHP verziót telepítsen a szerverre – vagy éppen régebbit –, attól függően, hogy mire van szüksége a kiszolgált weboldalaknak, webalkalmazásoknak. Az egyedileg telepített PHP rendszereket általában a meglévő, alapértelmezett mellé szokás telepíteni, hogy mindkettő használható legyen, valamint ezeket többféleképpen is fel lehet telepíteni, például:
- Forráskódjából kézzel történő lefordítással. Példák: Debian 8 -ra telepített 7.1-es PHP, vagy pedig ennek a "fordítottja", amikor régebbi PHP-t fordítunk az újabb rendszerre: a Debian 9-re telepített 5.6-os PHP.
- Külső, nem hivatalos csomagtárak alkalmazása, ahonnan az APT csomagkezelővel egyszerűen telepíthetők a szükséges változatok, amiket a disztribúció nem tartalmaz. Például a sury.org (erről egy másik leírásban tájékozódhatunk).
A lényeg tehát, hogy bármilyen konfigurációnk is legyen, akár több PHP verzióval is rendelkezzünk, mindig a legújabbat érdemes használni – legyen akár az az alapértelmezett, vagy az egyedileg telepített – az olyan rendszereknél, amik már fel vannak készítve erre. Ilyen például a Matomo (Piwik) webanalitikai rendszer is, amely elfut a mostani legújabb PHP verziókon is. Ezért úgy haladunk tovább, hogy az itt végrehajtásra kerülő dolgok mindegyik esetben működőképesek legyenek. A sarkalatos részeknél tehát külön kitérünk majd ezekre.
Mindezt azért írtam itt le, hogy akik eddig nem tudták hogy miről van szó, ne keverjem bele őket a lentebbi variációk említései során. Ha valakinél csak az alapértelmezett PHP áll rendelkezésre, vagy nem biztos a dolgában, az haladjon végig az alapértelmezett PHP változatokkal, ahol több lehetőség is adódik.
PHP-FPM további beállításai
Linux felhasználó létrehozása
Első körben létre kell hoznunk egy Linux felhasználót, akinek a nevében majd a PHP-FPM futtatni fogja a Matomo rendszert. A felhasználót másra nem fogjuk használni, csak erre a feladatra, így ezzel a felhasználóval még sok dolgunk lesz a beállítások folyamán. Hajtsuk végre az alábbi parancsot rootként:
adduser matomo
Ekor bekéri a jelszót, és még pár adatot, töltsük ki:
PHP-FPM pool létrehozása és beállítása
A következő lépésben létre kell hoznunk egy PHP-FPM pool-t (erről korábban itt írtam részletesebben), ami az imént létrehozott "matomo" felhasználóval fogja futtatni az ezen a tárhelyen lévő PHP fájlokat. Így nem a www-data lesz ennek a fióknak a gazdája, hanem egy külön felhasználó, amit külön tudunk figyelni és kezelni is mindenhol (pl. log fájlokban, különböző konfigokban, stb).
Lépjünk be a PHP-FPM pool könyvtárába:
- Alapértelmezett PHP5-nél: /etc/php5/fpm/pool.d/
- Alapértelmezett PHP 7-nél: /etc/php/7.x/fpm/pool.d/ (x=alverziótól függően)
- Kézzel lefordított PHP 7-nél: <php telepítési könyvtár>/etc/php-fpm.d/ (példa)
Nálam a második variáció van, tehát:
cd /etc/php/7.0/fpm/pool.d/
A könyvtárban másoljuk le a www.conf fájlt, ebből fogjuk elkészíteni a Matomo számára a PHP-FPM konfigurációt, majd nyissuk is meg szerkesztésre:
cp www.conf matomo.conf
nano matomo.conf
Így most van egy "nyers" konfig fájlunk, ami teljesen az alapértelmezett beállításokat tartalmazza. Ebben kell átírnunk néhány részt. Sorban haladva az alábbiakat:
[www]
Rögtön az elején van magának a pool-nak a neve szögletes zárójelek között. Ezt írjuk át "[matomo]" -ra.
user és group
Mindkettőt állítsuk át matomo-ra:
user = matomo group = matomo
listen
Itt adjunk meg egy socket fájlt, amin keresztül fog majd kapcsolódni a matomo felhasználó a PHP-FPM-nek ehhez a pool-jához. Itt bármilyen név megadható, de úgy szokás, hogy a fájl neve tartalmazza a használt PHP verziónkat és a hozzá tartozó felhasználó/weboldal nevet is, hogy a későbbiek során ne legyen keveredés, ha több pool-unk is lesz. Tehát az én esetemben a Debian 9-es tökéletes szerveren:
listen = /run/php/php7.0-matomo-fpm.sock
(Ez a fájl majd a beállítások utáni PHP-FPM újraindítása után jön létre)
access.log
Állítsuk be a log fájl kimenetét abba a könyvtárba, amit korábban létrehoztunk a Matomo számára. Itt az eredeti kommentes beállítást hagyjuk meg és készítsünk egy újat:
;access.log = log/$pool.access.log access.log = /var/log/matomo/php-fpm-access.log
security.limit_extensions
Itt keressük ki ezt a beállítást, és állítsuk az alábbira:
security.limit_extensions = .php .html
Saját beállítások
Végül a fájl végére még szúrjunk be két blokkot, egyet a saját PHP beállításainkkal:
; Saját PHP beállítások php_admin_value[error_log] = /var/log/matomo/php-errors.log php_admin_flag[log_errors] = on php_admin_value[memory_limit] = 128M
Itt beállítunk egy PHP hibanapló fájlt is, ebben gyűlnek az esetlegesen Matomo-ban keletkező PHP hibák, valamint bekapcsoljuk a naplózást, és beállítunk egy 128 Mb-os script memória limitet, amire a Matomo-nak szüksége van.
És tegyünk még be utána egy saját PHP-FPM beállításokat tartalmazó részt is, majd mentsük le a konfig fájlt:
; Saját PHP-FPM beállítások pm.max_children = 16 pm.min_spare_servers = 2 pm.max_spare_servers = 4
Itt pedig megadjuk, hogy egy PHP-FPM processz maximum hány szálat futtathat egyszerre, valamint a tartalék szerverek alsó és felső korlátai. Ezek egyébként a konfig fájlban már szerepelnek feljebb, csak így egyszerűbb kezelni, ha a végére tesszük. A beállításokat apránként finomhangoltam a saját Matomo példányom használata során, azok alapján, amiket a PHP-FPM napló fájlja szokott javasolni, ha például valami túl alacsonyra van állítva.
PHP-FPM naplófájl
A PHP-FPM központi naplófájlját pedig itt találhatjuk:
- Alapértelmezett PHP5-nél: /var/log/php5-fpm.log
- Alapértelmezett PHP 7-nél: /var/log/php7.x-fpm.log (ahol x az alverzió)
- Kézzel lefordított PHP 7-nél: <a PHP konfigurálásánál megadott prefix (telepítési) könyvtár>/var/log/php-fpm.log (példa)
Ebben a naplófájlban kapjuk az olyan üzeneteket is, mint például amiben a rendszer felhívja a figyelmünket, hogy valamelyik processz beállításon emelni kellene, mert kevésnek bizonyul az adott felhasználás függvényében (pl. nagy forgalom, stb).
PHP-FPM újraindítása és ellenőrzése
Ha idáig megvagyunk mindennnel, akkor indítsuk újra a PHP-FPM-et, a rendszerünknek megfelelő szolgáltatással:
- Alapértelmezett PHP5-nél: php5-fpm.service
- Alapértelmezett PHP 7-nél: php7.x-fpm.service (ahol x az alverzió)
- Kézzel lefordított PHP 7-nél: Itt pedig amilyen néven létrehoztuk a szolgáltatás unit fájlját, mint ahogy például ebben a leírásban.
De ezzel a paranccsal is kikereshetjük a szolgáltatásunk pontos nevét, amivel újraindíthatjuk azt:
ls /lib/systemd/system | grep "php.*fpm"
Nálam az alapértelmezett PHP 7.0 van, így tehát ezzel indítom újra:
systemctl restart php7.0-fpm.service
Ezután megnézzük a PHP-FPM futó processzeit:
systemctl status php7.0-fpm.service
Itt tehát láthatjuk, hogy elindult a PHP-FPM a mester processzel, a matomo-val, a web1-el (WordPress oldal felhasználója, amit az ISPConfigban hoztunk lére egy korábbi leírásban), valamint az alapértelmezett www-vel. Utóbbi három esetében fejenként 2-2 szállal várják a bejövő kapcsolatokat.
Ettől persze még nem PHP-FPM-el megy a Matomo rendszerünk, ehhez még el kell végezni néhány beállítást, most csak a matomo pool-ja indult el, ami láthatóan rendben van.
Naplófájlok átállítása
A 6. oldalon létrehoztunk egy log könyvtárat a Matomo számára, valamint beállítottuk a naplófájlok forgatását is. Itt most át kell állítani ezeket, hogy megfelelően működjenek az új futási környezetben.
Jogosultságok átadása a matomo-nak
A korábban létrehozott log könyvtárat a www-data felhasználó számára állítottuk be. Most át kell állítanunk a könyvtárat és a teljes tartalmát a matomo felhasználóra, mert ha majd a PHP-FPM a matomo felhasználójával futtatja az oldalt, akkor ezzel a felhasználóval kell mindent csinálnia a továbbiakban. Root-ként futtassuk az alábbi chown parancsot az átállításhoz:
chown -R matomo:matomo /var/log/matomo/
Logrotate beállítása a PHP-FPM-naplófájlokhoz
Szintén a 6. oldalon beállítottuk a Logrotate programot a naplófájl forgatásához. Most ezt terjesztjük ki a PHP-FPM által generált naplófájlokra is. Root-ként nyissuk meg a már korábban létrehozott fájlt:
nano /etc/logrotate.d/matomo
És a tegyük bele a zölddel kiemelt sorokat is, hogy végül így nézzen ki a fájl:
/var/log/matomo/matomo.log
/var/log/matomo/php-fpm-access.log
/var/log/matomo/php-errors.log
{
rotate 7
daily
copytruncate
compress
delaycompress
missingok
notifempty
}
Cron átállítása a matomo felhasználóra
Korábban létrehoztuk a cron feladatot is a Matomo archiváló szkriptje számára, most ezt is átállítjuk, hogy ne a www-data futtassa a szkriptet, hanem a matomo. Nyissuk meg root-ként a /etc/cron.d/matomo-archive fájlt:
nano /etc/cron.d/matomo-archive
Majd itt a www-data részt írjuk át matomo-ra:
MAILTO=''
SHELL='/bin/sh'
*/5 * * * * matomo /usr/bin/php /opt/matomo/console core:archive --url=http://www.wordpress.vm/matomo/ >> /var/log/matomo/matomo.log
Tárhely jogosultságainak átadása a matomo felhasználónak
Ha eddig mindent jól csináltunk, akkor a Matomo naplófájljában megjelenhetnek ilyen hibaüzenetek:
The directory "/opt/matomo/tmp/cache/tracker/" does not exist and could not be created.
Ez azért van, mert még nem állítottuk át a Matomo tárhelyének jogosultságát, így a cron-ban a matomo felhasználó nevében futtatott archiváló szkript nem tudott írni a jelenleg még www-data nevén lévő fájlrendszerbe. Ezt gyorsan meg is oldjuk az alábbi paranccsal:
chown -R matomo:matomo /opt/matomo/
Így most már minden a matomo felhasználó birtokában van. Ha most kivárjuk a következő 5 perces ciklust, akkor már szépen gyűjti az újabb napló adatokat, függetlenül a – még teljesen be nem állított – PHP-FPM-től, mert itt a cron-ban a CLI PHP futtatja le a scriptet:
Tárhely Apache konfigurációjának átállítása PHP-FPM-re
És végül a legfontosabb rész jön: átállítjuk a Matomo tárhelyéhez készített Apache konfigurációt, hogy PHP-FPM-el működjön.
Root-ként nyissuk meg a korábban elkészített – mod_php alapon működő – Apache konfigurációs fájlunkat:
nano /etc/apache2/conf-available/matomo.conf
És az alábbiaknak megfelelően vegyük ki belőle a pirossal kiemelt részt (vagy akár csak ki is kommentezhetjük soronként):
Alias /matomo /opt/matomo
<Directory /opt/matomo>
Options +FollowSymLinks
Options -Indexes
AllowOverride All
Require all granted
DirectoryIndex index.php index.html
# <IfModule mod_php5.c>
<IfModule mod_php7.c>
AddType application/x-httpd-php .php
php_flag display_errors On
php_value session.gc_maxlifetime 3600
# A következő beállítás a Matomo-nak kell:
#php_value always_populate_raw_post_data -1
# Ha gondok vannak a működéssel (php hibák) javasolják az opcache kikapcsolását.
#php_flag opcache.enable Off
</IfModule>
</Directory>
És tegyük a helyére az alábbi blokkot:
<IfModule mod_proxy_fcgi.c>
<FilesMatch "\.(php|html)$">
# Unix socket alapú beállítás:
SetHandler "proxy:unix:/run/php/php7.0-matomo-fpm.sock|fcgi://localhost"
</FilesMatch>
</IfModule>
Itt ügyeljünk rá, hogy a zölddel kiemelt socket fájl pontosan ugyanaz legyen, mint amit fentebb is beállítottunk a pool-ban.
Majd mentsük le, és indítsuk újra az Apache-ot:
systemctl restart apache2.service
Ezennel készen is vagyunk, kipróbálhatjuk a Matomo-t.
Geolokációs beállítások (opcionális)
MaxMind-DB-Reader-php PHP bővítmény telepítése (opcionális)
Tehát most a másik PHP rendszer számára is fel kell telepítenünk ugyanezt a bővítményt. Ennek a menete nagyjából megegyezik az előző oldalon végrehajtott résszel, annyi különbséggel, hogy most az egyedi PHP miatt pár helyen külön kapcsolókat kell alkalmaznunk. Lássuk is, hogyan történik mindez.
PHP fejlesztői csomag telepítése
Szükségünk lesz a phpize parancs használatára ennél a PHP-nél is, mint ahogyan az alapértelmezettnél is. Ha most egy kézzel lefordított PHP 7.x-el van dolgunk, hasonlóan a linkhez, akkor ehhez nem kell telepítenünk semmit, mert a fordítás előkészületei során már felkerültek a fejlesztői csomagok is. Ha pedig más módon (pl. nem hivatalos csomagtárakból) telepítettünk fel egy PHP 7.x-et, akkor előfordulhat, hogy az nem tartalmazza a fejlesztői csomagot. Ebben az esetben telepítsük a verziónknak megfelelőt. Változatok:
- 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...
Vagy akár így is rákereshetünk a telepíthető csomagok között:
apt-cache search "^php" | grep "\-dev"
Majd telepítsük:
apt-get -y install <megfelelő csomagunk neve>
PHP bővítmény letöltése és telepítése
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), de most a megfelelő PHP rendszerünkkel futtatva. Változatok:
- Kézzel lefordított PHP 7 esetén a futtatandó parancs: <PHP telepítési könyvtára>/bin/phpize
- Más csomagtárakból telepített egyedi PHP 7 esetén a parancs: /usr/bin/phpize7.x (például a sury.org csomagtár használata esetén, ahol az x jelenti a PHP rendszer alverzióját)
Tehát a letöltött és kicsomagolt bővítmény alatti /ext könyvtárban futtassuk a fenti elérések valamelyikén a phpize parancsot. Például:
/usr/bin/phpize7.2
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, de itt meg kell adni a configure parancsnak egy kapcsolót is, amelyben megadjuk a php-config elérési útját is. Változatok:
- Kézzel lefordított PHP 7 esetén a php-config elérése: <egyedi PHP-nk telepítési könyvtára>/bin/php-config
- Más csomagtárakból telepített egyedi PHP 7 esetén: /usr/bin/php-config7.x (például a sury.org csomagtár használata esetén, ahol az x jelenti a PHP rendszer alverzióját)
./configure --with-php-config=<valamelyik fenti php-config elérés>
make
make install
A végén a megfelelő kimenet hasonló ehhez (pl. nálam egy kézzel fordított PHP 7.1-esetén):
Installing shared extensions: /opt/php-7.1/lib/php/extensions/no-debug-non-zts-20160303/
Nyissuk meg a php.ini fájlt. Változatok:
- Kézzel lefordított PHP 7 esetén: <egyedi PHP-nk telepítési könyvtára>/lib/php.ini
- Más csomagtárakból telepített egyedi PHP 7 esetén: /etc/php/7.x/fpm/php.ini (például a sury.org csomagtár használata esetén, ahol az x jelenti a PHP rendszer alverzióját)
nano <megfelelő php.ini fájl>
É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
Ezennel a másik PHP változatunkhoz is feltelepítettük a MaxMind adatbázisait olvasó PHP bővítményt. Így a Matomo is már ezzel az újabb PHP-vel kérdezi le az IP-címek adatait.
Matomo tesztelése
Ha most belépünk a Matomo példányunk felületére, akkor szépen megjelennek a statisztikák (nálam a WordPress-es oldal statjai):
A háttér ellenőrzése
Ha pedig megnézünk a tárhelyen elhelyezett phpinfót:
A Server API sorában láthatjuk a FPM/FastCGI értéket. Ha pedig lejjebb görgetünk, akkor a tárhelyen lévő PHP-t futtató felhasználót is láthatjuk:
És ha még ránézünk a PHP-FPM folyamatokra, akkor:
azt is láthatjuk, hogy a használat során már felugrott a matomo processzek száma 4-re.
Konklúzió
Ez lenne tehát a Matomo (korábban Piwik) webanalitikai rendszer telepítésének aprólékos módja. A statisztikák nagyon komolyak, rengeteg szűrési, beállítási lehetőség van benne, érdemes feltelepíteni. Persze akinél már van működő PHP-FPM, az kezdheti kapásból ezzel a tárhely kialakítását.
Próbáltam minél több információt betenni a szárazabb sorok közé, hogy jobban átláthatók legyenek az összefüggések, így szerintem könnyebben érthetővé válik az egész. Remélem sikerült felkeltenem az érdeklődést a Matomo iránt. )
- Enciklopédia - Matomo (Piwik) webanalitika
- Hogyan frissítsük Matomo (korábban Piwik) webanalitikai rendszerünket a 4.x verzióra
- Matomo.org
- Mit tegyünk, ha a Matomo webanalitikai rendszerünk "AH01630: client denied by server configuration" típusú Apache hibákat generál, ami miatt a Fail2Ban letiltja az IP-címünket?
- Enciklopédia - PHP-FPM
- Hogyan telepítsük fel a PHP-FPM-et egy Debian 8 (Jessie) LAMP szerverre
- Hogyan telepíthetünk újabb PHP verziókat Debian 9 (Stretch) LAMP szerverünkre PHP-FPM módban
- Szerver monitorozása a Munin segítségével Debian 9 (Stretch) és Debian 10 (Buster) rendszereken
Lapozó
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
- 177 megtekintés