"PHP Server Monitor" tööriista installimine Arch Linuxi LEMP või LAMP Stacki abil


PHP Server Monitor on PHP-s kirjutatud avatud lähtekoodiga veebi eesserveri jälgimise tööriist, mis võimaldab kontrollida, kas teie serverid (IP, domeenid) või teenused on töökorras ja võib teile saata meilisõnumite või SMS-ide teel märguandeid kui jälgitavas teenuses või sadamas ilmnes probleem. See kontrollib veebisaite, kasutades HTTP olekukoodi, suudab kuvada uptime'i ja latentsusajaloo graafikuid ning kasutada kahte autentimistasandit (administraator ja tavakasutaja).

Selles õpetuses esitatakse viis, kuidas saate installida PHP Server Monitor Arch Linuxi serverikeskkonda, kasutades selleks kas serverina Apache või veebiserverina Nginx , nii saate valida endale sobivaima installiprotsessi.

Üldiste nõuetena PHP Server Monitori installimiseks ja häälestamiseks mis tahes muu Linuxi platvormi jaoks vajab teie server järgmisi pakette.

  1. PHP 5.3.7+
  2. PHP paketid: cURL, MySQL
  3. MySQL-i andmebaas
  4. Nginxi või Apache'i veebiserverid

PHP Server Monitori installimiseks Nginxiga kasutage järgmisi õpetusi LEMP-i virna ja virtuaalsete hostide seadistamiseks Archis.

  1. Installige Arch Linuxi LEMP (Linux, Nginx, MySQL, PHP)
  2. Nginxi virtuaalsete hostide loomine Arch Linuxis

Apache abil PHP Server Monitori installimiseks kasutage järgmist juhendit LAMP-i virna seadistamiseks Arch Linuxis.

  1. Installige Arch Linuxi LAMP (Linux, Apache, MySQL, PHP)

1. samm: konfigureerige Nginx/Apache veebiserver

1. Enne kui alustame, kui teie seadistus kasutab virtuaalserverit, peate veenduma, et teil on kehtiv DNS-i sisestusviis teie domeenile, või kasutage kohalikku faili hostid juhul, kui teil pole DNS-serverit. Selles õpetuses kasutatakse virtuaalserverit mõlema veebiserveriga ( Nginx ja Apache ), mis on konfigureeritud kohaliku domeeni võltsimisega - phpsrvmon.lan - läbi /etc/hosts fail.

2. Uue Nginxi virtuaalhosti lisamiseks looge uus konfiguratsioonifail saidil /etc/nginx/sites-available/ nimega phpsrvmon.conf ja kasutage järgmist malli konfiguratsiooninäide.

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

Lisage järgmine kood faili phpsrvmon.conf .

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. Kui soovite pääseda PHP Sever Monitorile turvalise HTTP-protokolli kaudu, looge selle SSL-i samaväärne konfiguratsioonifail.

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

Lisage järgmine kood faili phpsrvmon-ssl.conf .

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. Pärast Nginx conf-failide redigeerimist looge dokumendi juurteekond, juhul kui muutsite selle nagu siin: /srv/www/phpsrvmon/, aktiveerige mõlemad virtuaalsed hostid, kasutades utiliiti n2ensite ja taaskäivitage Nginx muudatuste kajastamiseks.

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

Kui vajate oma virtuaalhosti jaoks uut SSL-sertifikaati, genereerige see oma domeeninimega käsuga nginx_gen_ssl ja muutke vastavalt ka phpsrvmon-ssl.conf .

5. Kui kasutate Apache'i veebiserverina, looge uus virtuaalse masina konfiguratsioonifail saidil /etc/httpd/conf/sites-available/ nimega phpsrvmon.conf ja kasutage mallina järgmisi failide määratlusi.

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

Lisage järgmine kood faili phpsrvmon.conf .

<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. Kui vajate ka HTTPS-protokollil juurdepääsu PHP Server Monitorile, looge uus virtuaalse hosti SSL-i konfiguratsioonifail järgmiste lausetega.

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

Lisage järgmine kogu kood faili phpsrvmon-ssl.conf .

<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. Kasutage sama protseduuri nagu Nginxi puhul, looge dokumendi juurkataloog, kui veebifailide teenindamise tee on muutunud, aktiveerige Apache Virtual Hosts käsuga a2ensite ja taaskäivitage deemon muudatuste rakendamiseks.

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

Selle virtuaalse hosti jaoks uue SSL-sertifikaadi ja võtme loomiseks kasutage utiliiti apache_gen_ssl , lisage oma domeeninimi sertifikaadi nimele ja muutke /etc/httpd/conf/sites-available/phpsrvmon-ssl.conf fail, asendades vana SSL-sertifikaadi ja võtme tee ning nimed uutega.

2. samm: muutke PHP konfiguratsioone

8. Paigaldusvigade vältimiseks viskab see PHP Server Monitor süsteeminõuete kontrollimisel faili php.ini lahti ja teeb järgmised muudatused.

$ sudo nano /etc/php/php.ini

Kui Nginxi/Apache'i dokumendi juurteed on muudetud (vaikimisi on see /srv/http/), kasutage open_basedir leidmiseks [Ctrl + w] lause ja lisage uus tee, lisades kooloniga eesliide\": \" - antud juhul on uus tee /srv/www/ - näites välja nägemiseks allpool.

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

Otsige ja lubage PHP pdo, mysqli ja curl laiendused, märkimata neid (eemaldage semikoolon nende eest).

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

Leidke ajavöönd ja määrake kohalik aeg selle lehe kasutuseks.

date.timezone = Continent/City

9. Pärast kõigi muudatuste tegemist taaskäivitage oma teenused muudatuste rakendamiseks.

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

3. samm: looge PHP Server Monitor MySQL andmebaas

10. PHP Server Monitori jaoks teabe salvestamiseks vajaliku andmebaasi loomiseks logige sisse MySQL/MariaDB andmebaasi ja looge uus andmebaas järgmiste käskude abil (asendage andmebaas, kasutaja ja parool eelistatud mandaatidega).

mysql -u root -p

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

Kui teie arvutisse on installitud PhpMyAdmin, saate PHP Server Monitori andmebaasi luua, kui pääsete selle veebiliidese kaudu MySQL/MariaDB juurde.

4. samm: installige PHP Server Monitor

11. Enne PHP Server Monitori tööriista allalaadimisega jätkamist veenduge, et olete installinud käsu wget.

$ sudo pacman -S wget

12. PHP Server Monitori uusima versiooni haaramiseks minge järgmisele lingile ja laadige alla tar.gz arhiivifail või kasutage allpool toodud ametlikku Giti allalaadimislinki.

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

Teise võimalusena võite alla laadida ka otse järgmise käsuga wget.

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

13. Pärast uusima versiooni allalaadimist eraldage see käsuga tar ja kopeerige kogu väljavõtte sisu veebiserveri dokumendi juurteele järgmiste käskude abil.

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

14. Seejärel avage brauser ja navigeerige oma domeeninime juurde (kui kasutate virtuaalseid hoste, nagu selles õpetuses on näidatud, kasutage muul juhul oma serveri IP-aadressi) ja vajutage tervituslehel nuppu Let’s go.

15. Järgmisel ekraanil sisestage oma MySQL-i andmebaasi teave ja vajutage nuppu Salvesta konfiguratsioon .

16. Kui kuvatakse viga, mis ütleb, et teie konfiguratsioonifaili ei saanud kirjutada, kasutage kirjutatavate faili confing.php loomiseks järgmisi käske ja vajutage nuppu Olen konfiguratsiooni salvestanud .

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

17. Pärast konfiguratsiooni salvestamist looge PHP Server Monitori jaoks administraatorikasutaja, valides oma mandaadid ja vajutades nuppu Install .

18. Kui installiprotsess on lõpule jõudnud, vajutage nuppu Minge monitori juurde ja teid suunatakse sisselogimislehele. Logige sisse oma mandaadiga ja teil palutakse PHP Server Monitori vaikeleht. Samuti ennistage PHP Server Monitori config.php faili muudatused.

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

19. Uue veebisaidi lisamiseks jälgimiseks minge saidile Serverid -> Lisa uus , täitke vajalikud väljad oma serveri seadetega ja vajutage nuppu Salvesta .

20. Kõigi serverite ja teenuste jälgimisprotsessi alustamiseks vajutage nuppu Värskenda ja teid suunatakse vaikeküljele, kus teile kuvatakse teie veebisaitide/teenuste olek.

21. Selleks, et PHP Server Monitor saaks teie serverite/teenuste olekut regulaarsete ajavahemike järel automaatselt kontrollida, peate oma süsteemi installima Cron tööajakava ja lisama croni faili jälgimisperioodi sisestuse.

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

22. Uue kirje lisamiseks cron-faili, mis kontrollib teie veebisaiti iga 5 minuti järel, kasutage käsku sudo crontab –e või, parem, muutke käsitsi /var/spool/asuvat root cron-faili käsitsi cron/ kataloogi, kohandades teed vastavalt teie PHP Server Monitori installikataloogile. Kõigi crontab-kirjete loetlemiseks kasutage käsurida sudo crontab -l .

$ sudo nano /var/spool/cron/root

Lisage järgmine kirje - kohandage vastavalt ajavahemikku ja installimise teed

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

Järeldus

Kuigi PHP Server Monitor ei muutu keerukamaks kui muud seireteenused nagu Nagios , Cacti või Zabbix , kipub see ressurssides olema väga kerge tarbimist ja suudab täita tööd jälgimisplatvormina, seadistades meilisõnumite või SMS-ide saatmise suure SMS-lüüsi loendi kaudu juhul, kui teie jälgitavatel veebisaitidel ja teenustel on tehnilisi probleeme või need on all.

Koduleht : PHP Server Monitor