Weboldal keresés

A "PHP Server Monitor" eszköz telepítése LEMP vagy LAMP Stack használatával Arch Linuxban


A PHP Server Monitor egy PHP nyelven írt nyílt forráskódú webes előtér-megfigyelő eszköz, amely képes ellenőrizni, hogy a szerverei (IP, tartományok) vagy szolgáltatásai működnek-e, és e-mailben vagy SMS-ben értesítéseket küldhet Önnek. ha probléma lépett fel egy felügyelt szolgáltatáson vagy porton. HTTP-állapotkód használatával ellenőrzi a webhelyeket, képes megjeleníteni az üzemidő és a késleltetés előzménydiagramjait, és két szintű hitelesítést (rendszergazdai és normál felhasználó) használhat.

Ez az oktatóanyag bemutatja a PHP Server Monitor telepítésének módját egy Arch Linux szerverkörnyezetben az Apache szerverként vagy az Nginx webszerver használatával, így kiválaszthatja az Önnek legmegfelelőbb telepítési folyamatot.

PHP Server Monitor követelmények

A PHP Server Monitor bármely más Linux platformra történő telepítésének és beállításának általános követelményeként a szerveren a következő csomagokat kell telepíteni.

  1. PHP 5.3.7+
  2. PHP csomagok: cURL, MySQL
  3. MySQL adatbázis
  4. Nginx vagy Apache webszerverek

rendszerkövetelmények

A PHP Server Monitor Nginx-szel való telepítéséhez használja a következő oktatóanyagokat útmutatóként a LEMP verem és a virtuális gazdagépek beállításához az Archon.

  1. Telepítse a LEMP-t (Linux, Nginx, MySQL, PHP) az Arch Linuxban
  2. Hozzon létre Nginx virtuális gazdagépeket az Arch Linuxban

A PHP Server Monitor Apache segítségével történő telepítéséhez használja a következő útmutatót a LAMP verem Arch Linux rendszeren történő beállításához.

  1. Telepítse a LAMP-ot (Linux, Apache, MySQL, PHP) az Arch Linuxban

1. lépés: Konfigurálja az Nginx/Apache webszervert

1. Mielőtt elkezdenénk, ha a telepítés virtuális tárhelyet használ, meg kell bizonyosodnia arról, hogy érvényes DNS-bejegyzése van, amely a domainre mutat, vagy használjon helyi hosts fájlt arra az esetre, ha nem nincs DNS-kiszolgálója. Ez az oktatóanyag Virtuális tárhelyet használ mindkét webszerverrel (Nginx és Apache), amelyek egy helyi hamis domainnel – phpsrvmon.lan-ig konfigurálva /etc/hosts fájlt.

Hozzon létre Nginx Virtual Host konfigurációs fájlokat

2. Új Nginx Virtual Host hozzáadásához hozzon létre egy új konfigurációs fájlt a /etc/nginx/sites-available/ oldalon a phpsrvmon.conf segítségével. nevet, és konfigurációs példaként használja a következő sablont.

sudo nano /etc/nginx/sites-available/phpsrvmon.conf

Adja hozzá a következő kódot a phpsrvmon.conf fájlhoz.

server {
    listen 80;
    server_name phpsrvmon.lan;

    access_log /var/log/nginx/phpsrvmon.lan-access.log;
    error_log /var/log/nginx/phpsrvmon.lan-error.log;

                root /srv/www/phpsrvmon;

    location / {
    index index.php index.html index.htm;
                autoindex on;
}

location ~ \.php$ {
        fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        include fastcgi.conf;
    }
}

3. Ha biztonságos HTTP protokollon keresztül szeretné elérni a PHP Sever Monitor szolgáltatást, hozza létre az SSL-vel egyenértékű konfigurációs fájlt.

sudo nano /etc/nginx/sites-available/phpsrvmon-ssl.conf

Adja hozzá a következő kódot a phpsrvmon-ssl.conf fájlhoz.

server {
    listen 443 ssl;
    server_name phpsrvmon.lan;

       root /srv/www/phpsrvmon;
       ssl_certificate     /etc/nginx/ssl/nginx.crt;
       ssl_certificate_key  /etc/nginx/ssl/nginx.key;
       ssl_session_cache    shared:SSL:1m;
       ssl_session_timeout  5m;
       ssl_ciphers  HIGH:!aNULL:!MD5;
       ssl_prefer_server_ciphers  on;

    access_log /var/log/nginx/phpsrvmon.lan-ssl_access.log;
    error_log /var/log/nginx/phpsrvmon.lan-ssl_error.log;

    location / {
    index index.php index.html index.htm;
                autoindex on;
 }

    location ~ \.php$ {
        fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        include fastcgi.conf;
    }
}

4. Az Nginx conf fájlok szerkesztése után hozzon létre dokumentum gyökérútvonalat, ha például itt /srv/www/phpsrvmon/-re módosította, aktiválja mindkét virtuális gazdagépet a n2ensite segédprogramot, és indítsa újra az Nginxet a változások tükrözéséhez.

sudo mkdir -p /srv/www/phpsrvmon/
sudo n2ensite phpsrvmon
sudo n2ensite phpsrvmon-ssl
sudo systemctl restart nginx

Ha új SSL-tanúsítványra van szüksége a virtuális gazdagéphez, hozzon létre egyet az nginx_gen_ssl paranccsal a domain nevével, és ennek megfelelően módosítsa a phpsrvmon-ssl.conf fájlt.

Hozzon létre Apache Virtual Host konfigurációs fájlokat

5. Ha az Apache-ot használja webszerverként, hozzon létre egy új Virtual Host konfigurációs fájlt a /etc/httpd/conf/sites-available/ oldalon a phpsrvmon segítségével. conf nevet, és használja a következő fájldefiníciókat sablonként.

sudo nano /etc/httpd/conf/sites-available/phpsrvmon.conf

Adja hozzá a következő kódot a phpsrvmon.conf fájlhoz.

<VirtualHost *:80>
                DocumentRoot "/srv/www/phpsrvmon"
                ServerName phpsrvmon.lan
                ServerAdmin [email 
                ErrorLog "/var/log/httpd/phpsrvmon-error_log"
                TransferLog "/var/log/httpd/phpsrvmon-access_log"

<Directory />
    Options +Indexes
    AllowOverride All
    Order deny,allow
    Allow from all
Require all granted
</Directory>
</VirtualHost>

6. Ha szüksége van egy HTTPS-protokollon keresztül elérhető PHP Server Monitor-ra is, hozzon létre egy új Virtual Host SSL konfigurációs fájlt a következő utasításokkal.

sudo nano /etc/httpd/conf/sites-available/phpsrvmon-ssl.conf

Adja hozzá a következő teljes kódot a phpsrvmon-ssl.conf fájlhoz.

<VirtualHost *:443>
                ServerName phpsrvmon.lan
                DocumentRoot "/srv/www/phpsrvmon"
                ServerAdmin [email 
                ErrorLog "/var/log/httpd/phpsrvmon.lan-error_log"
                TransferLog "/var/log/httpd/phpsrvmon.lan-access_log"

SSLEngine on
SSLCertificateFile "/etc/httpd/conf/ssl/phpsrvmon.lan.crt"
SSLCertificateKeyFile "/etc/httpd/conf/ssl/phpsrvmon.lan.key"

<FilesMatch "\.(cgi|shtml|phtml|php)$">
    SSLOptions +StdEnvVars
</FilesMatch>

BrowserMatch "MSIE [2-5]" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0
CustomLog "/var/log/httpd/ssl_request_log" \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

<Directory />
    Options +Indexes
    AllowOverride All
    Order deny,allow
    Allow from all
Require all granted
</Directory>
</VirtualHost>

7. Ugyanazzal az eljárással, mint az Nginx esetében, hozzon létre dokumentum gyökérkönyvtárat, ha a webfájlok kiszolgálási útvonala megváltozott, aktiválja az Apache Virtual Hosts szolgáltatást az a2ensite paranccsal, és indítsa újra a démont. módosítások elfogadása.

sudo mkdir -p /srv/www/phpsrvmon/
sudo a2ensite phpsrvmon
sudo a2ensite phpsrvmon-ssl
sudo systemctl restart httpd

Új SSL-tanúsítvány és kulcs létrehozásához ehhez a virtuális gazdagéphez használja az apache_gen_ssl segédprogramot, fűzze hozzá a domain nevét a tanúsítvány nevéhez, és módosítsa a /etc/httpd/conf/sites-available/phpsrvmon-ssl.conf fájlt. fájlt, lecserélve a régi SSL-tanúsítvány és kulcs elérési útját és neveit újakra.

2. lépés: Szerkessze a PHP konfigurációkat

8. A telepítési hibák elkerülése érdekében a PHP Server Monitor a rendszerkövetelmények ellenőrzésekor dobja a php.ini fájlt, és hajtsa végre a következő módosításokat.

sudo nano /etc/php/php.ini

Ha az Nginx/Apache dokumentum gyökérútvonala megváltozott (alapértelmezett az /srv/http/), használja a [Ctrl+w] gombot az open_basedir kereséséhez. utasítást, és fűzze hozzá az új elérési utat kettősponttal „ : ” – ebben az esetben az új elérési út /srv/www/ – az alábbi példában látható módon.

open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:/etc/webapps/:/srv/www/

Keresse meg és engedélyezze a PHP pdo, mysqli és curl kiterjesztéseket úgy, hogy törölje a megjegyzéseket (távolítsa el a pontosvesszőt előlük).

extension=curl.so
extension=mysqli.so
extension=pdo_mysql.so

Keresse meg az időzónát, és állítsa be a helyi időt ezen az oldalon.

date.timezone = Continent/City

9. Az összes módosítás után indítsa újra a szolgáltatásokat a módosítások alkalmazásához.

sudo systemctl restart php-fpm
sudo systemctl restart nginx
sudo systemctl restart httpd

3. lépés: Hozzon létre PHP Server Monitor MySQL adatbázist

10. A PHP Server Monitor számára az információk tárolásához szükséges adatbázis létrehozásához jelentkezzen be a MySQL/MariaDB adatbázisba, és hozzon létre egy új adatbázist a következő parancsokkal (az adatbázist, a felhasználót és a jelszót cserélje ki a kívánt hitelesítő adatokra).

mysql -u root -p

MariaDB > create database phpsrvmon;
MariaDB > create user phpsrvmon_user@localhost identified by "user_password";
MariaDB > grant all privileges on phpsrvmon.* to phpsrvmon_user@localhost;
MariaDB > flush privileges;
MariaDB > quit

Ha a rendszerén telepítve van a PhpMyAdmin, akkor létrehozhat PHP Server Monitor adatbázist, ha eléri a MySQL/MariaDB webes felületéről.

4. lépés: Telepítse a PHP Server Monitort

11. Mielőtt folytatná a PHP Server Monitor eszköz letöltését, győződjön meg arról, hogy telepítette a wget parancsot.

sudo pacman -S wget

12. A PHP Server Monitor legújabb verziójának letöltéséhez lépjen a következő linkre, és töltse le a tar.gz archív fájlt, vagy használja az alább található hivatalos Git letöltési linket.

  1. http://www.phpservermonitor.org/download/
  2. https://github.com/phpservermon/phpservermon

Alternatív megoldásként közvetlenül is letöltheti a következő wget paranccsal.

wget http://downloads.sourceforge.net/project/phpservermon/phpservermon/PHP%20Server%20Monitor%20v3.0.1/phpservermon-v3.0.1.tar.gz

13. A legújabb verzió letöltése után csomagolja ki a tar paranccsal, és a következő parancsokkal másolja az összes kibontott tartalmat a webszerver dokumentum gyökérútvonalába.

tar xfvz phpservermon-v3.0.1.tar.gz
sudo cp -r phpservermon/* /srv/www/phpsrvmon/

14. Ezután nyissa meg a böngészőt, és navigáljon a domain nevéhez (ha virtuális gazdagépeket használ az oktatóanyagban leírtak szerint, ellenkező esetben használja a szerver IP-címét ), majd az üdvözlő oldalon nyomja meg az Indulás gombot.

15. A következő képernyőn adja meg a MySQL adatbázis adatait, és kattintson a Konfiguráció mentése gombra.

16. Ha olyan hibaüzenetet kap, amely szerint a konfigurációs fájl nem írható, használja a következő parancsokat egy írható confing.php fájl létrehozásához, és nyomja meg az I elmentették a konfigurációt.

su -c “> /srv/www/phpsrvmon/config.php”
sudo chmod 777 /srv/www/phpsrvmon/config.php

17. A konfiguráció mentése után hozzon létre egy adminisztrátori felhasználót a PHP Server Monitor számára, válassza ki a hitelesítő adatait, és nyomja meg a Telepítés gombot.

18. A telepítési folyamat befejezése után nyomja meg a Ugrás a monitorhoz gombot, és a rendszer átirányítja a Bejelentkezés oldalra. Jelentkezzen be hitelesítő adataival, és a rendszer felkéri az alapértelmezett PHP Server Monitor oldalra. A PHP Server Monitor config.php fájl módosításainak visszaállítása is.

sudo chmod 754 /srv/www/phpsrvmon/config.php

19. Ha új webhelyet szeretne hozzáadni a megfigyeléshez, lépjen a Szerverek -> Új hozzáadása menüpontra, töltse ki a szükséges mezőket a szerverbeállításokkal, és nyomja meg a Mentés gombot.

20. Az összes szerver és szolgáltatás megfigyelési folyamatának elindításához nyomja meg a Frissítés gombot, és a rendszer átirányítja az alapértelmezett kezdőlapra, ahol megjelenik webhelyei/szolgáltatásai állapota.

21. Ahhoz, hogy a PHP Server Monitor rendszeres időközönként automatikusan ellenőrizhesse a szerverek/szolgáltatások állapotát, telepítenie kell egy Cron feladatütemezőt a rendszerére, és meg kell adnia egy megfigyelési időt. időszak bejegyzés egy cron fájlban.

sudo pacman -S cronie
sudo systemctl start cronie
sudo systemctl enable cronie

22. Ha új bejegyzést szeretne hozzáadni a cron fájlhoz, amely 5 percenként ellenőrzi webhelyét, használja a sudo crontab –e parancsot, vagy jobb, ha manuálisan szerkessze a gyökér cron fájlt, amely a következő helyen található. b>/var/spool/cron/ könyvtárba úgy, hogy az elérési utat úgy állítja be, hogy az megfeleljen a PHP Server Monitor telepítési könyvtárának. Az összes crontab bejegyzés felsorolásához használja a sudo crontab -l parancssort.

sudo nano /var/spool/cron/root

Adja hozzá a következő bejegyzést – ennek megfelelően állítsa be az időtartamot és a telepítési útvonalat

*/5 * * * * /usr/bin/php   /srv/www/phpsrvmon/cron/status.cron.php

Következtetés

Bár a PHP Server Monitor nem válik bonyolultabbá, mint más megfigyelési szolgáltatások, például a Nagios, a Cacti vagy a Zabbix, általában nagyon kevés erőforrást használ. fogyasztást, és teljesítheti a felügyeleti platform feladatát azáltal, hogy beállítja, hogy e-maileket vagy szöveges SMS-eket küldjön egy hatalmas SMS-átjárólistán keresztül, ha a felügyelt webhelyek és szolgáltatások technikai problémákba ütköznek vagy nem működnek.

Kezdőlap: PHP Server Monitor