Namestitev orodja "PHP Server Monitor" z uporabo LEMP ali LAMP Stack v Arch Linux


PHP Server Monitor je odprtokodno orodje za spremljanje spletnega vmesnika, napisano v PHP, ki lahko preveri, ali vaši strežniki (IP, domene) ali storitve delujejo in vam lahko pošilja obvestila prek poštnih storitev ali sporočil SMS če je prišlo do težave v nadzorovani storitvi ali vratih. Spletna mesta preverja s kodo stanja HTTP, lahko prikaže grafe zgodovine uptime in zakasnitev ter lahko uporabi dve ravni preverjanja pristnosti (skrbnik in navaden uporabnik).

Ta vadnica vam predstavlja način, kako lahko PHP Server Monitor namestite v strežniško okolje Arch Linux, pri čemer uporabite Apache kot strežnik ali spletni strežnik Nginx , tako lahko izberete postopek namestitve, ki vam najbolj ustreza.

Kot splošne zahteve za namestitev in nastavitev PHP Server Monitor za katero koli drugo platformo Linux morate strežnik namestiti naslednje pakete.

  1. PHP 5.3.7+
  2. PHP paketi: cURL, MySQL
  3. Zbirka podatkov MySQL
  4. Nginx ali Apache spletni strežniki

Če želite namestiti PHP Server Monitor z Nginx, uporabite naslednje vadnice kot vodila za nastavitev LEMP sklada in navideznih gostiteljev na Arch.

  1. Namestite LEMP (Linux, Nginx, MySQL, PHP) v Arch Linux
  2. Ustvarite navidezne gostitelje Nginx v Arch Linuxu

Če želite namestiti PHP Server Monitor z Apache, uporabite naslednji vodnik za nastavitev LAMP stacka na Arch Linux.

  1. Namestite LAMP (Linux, Apache, MySQL, PHP) v Arch Linux

1. korak: Konfigurirajte spletni strežnik Nginx/Apache

1. Preden začnemo, če vaša namestitev uporablja navidezno gostovanje, morate zagotoviti, da imate veljaven vnos DNS, ki kaže na vašo domeno, ali uporabiti lokalno datoteko gostitelji , če nimate strežnika DNS. Ta vadnica uporablja navidezno gostovanje z obema spletnima strežnikoma ( Nginx in Apache ), konfiguriranima z lažno lokalno domeno - phpsrvmon.lan - do /etc/hosts .

2. Če želite dodati novega virtualnega gostitelja Nginx, ustvarite novo konfiguracijsko datoteko na /etc/nginx/sites-available/ z imenom phpsrvmon.conf in uporabite naslednjo predlogo kot primer konfiguracije.

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

V datoteko phpsrvmon.conf dodajte naslednjo kodo.

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. Če želite do PHP Sever Monitorja dostopati prek varnega protokola HTTP, ustvarite njegovo konfiguracijsko datoteko, enakovredno SSL.

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

V datoteko phpsrvmon-ssl.conf dodajte naslednjo kodo.

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. Po urejanju datotek Nginx conf ustvarite korensko pot dokumenta, če jo spremenite kot tukaj v /srv/www/phpsrvmon/, aktivirajte oba navidezna gostitelja s pripomočkom n2ensite in znova zaženite Nginx, da odraža spremembe.

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

Če potrebujete novo potrdilo SSL za svoj navidezni gostitelj, ga ustvarite z ukazom nginx_gen_ssl z imenom domene in ustrezno spremenite phpsrvmon-ssl.conf .

5. Če Apache uporabljate kot spletni strežnik, ustvarite novo konfiguracijsko datoteko navideznega gostitelja na /etc/httpd/conf/sites-available/ z imenom phpsrvmon.conf in kot predlogo uporabite naslednje definicije datotek.

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

V datoteko phpsrvmon.conf dodajte naslednjo kodo.

<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. Če tudi vi potrebujete dostop do PHP Server Monitor na protokolu HTTPS, ustvarite novo konfiguracijsko datoteko SSL Virtual Host z naslednjimi izjavami.

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

V datoteko phpsrvmon-ssl.conf dodajte naslednjo celo kodo.

<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. Z enakim postopkom kot za Nginx ustvarite korenski imenik dokumentov, če se spremeni pot do spletnih strežnikov, z ukazom a2ensite aktivirajte Apache Virtual Hosts in znova zaženite demon, da uveljavite spremembe.

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

Če želite ustvariti novo potrdilo SSL in ključ za tega navideznega gostitelja, uporabite pripomoček apache_gen_ssl , dodajte svoje ime domene imenu potrdila in spremenite /etc/httpd/conf/sites-available/phpsrvmon-ssl.conf datoteko, ki nadomešča staro potrditev SSL in pot ter imena ključev z novimi.

2. korak: Uredite konfiguracije PHP

8. Da bi se izognili nekaterim namestitvenim napakam, bo PHP Server Monitor pri preverjanju sistemskih zahtev vrgel datoteko php.ini in naredil naslednje prilagoditve.

$ sudo nano /etc/php/php.ini

Če je bila spremenjena korenska pot dokumenta Nginx/Apache (privzeta je /srv/http/), uporabite [Ctrl + w] , da poiščete open_basedir stavek in dodajte novo pot s predpono dvopičja\": \" - v tem primeru je nova pot /srv/www/ - da bo videti tako kot v primeru spodaj.

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

Poiščite in omogočite razširitve PHP pdo, mysqli in curl tako, da jih prekinirate (odstranite podpičje z njihove sprednje strani).

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

Poiščite časovni pas in nastavite svoj lokalni čas, kot da uporabljate to stran.

date.timezone = Continent/City

9. Po izvedbi vseh sprememb znova zaženite storitve, da uveljavite spremembe.

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

3. korak: Ustvarite bazo podatkov MySQL Monitor PHP Server Monitor

10. Če želite ustvariti bazo podatkov, ki jo PHP Server Monitor potrebuje za shranjevanje informacij, se prijavite v bazo podatkov MySQL/MariaDB in ustvarite novo bazo podatkov z naslednjimi ukazi (bazo podatkov, uporabnika in geslo zamenjajte z želenimi poverilnicami).

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

Če imate v sistemu nameščen PhpMyAdmin, lahko ustvarite bazo podatkov PHP Server Monitor z dostopom do MySQL/MariaDB iz njegovega spletnega vmesnika.

4. korak: Namestite PHP Server Monitor

11. Preden nadaljujete s prenosom orodja PHP Server Monitor, se prepričajte, da ste namestili ukaz wget.

$ sudo pacman -S wget

12. Če želite pridobiti najnovejšo različico programa PHP Server Monitor, pojdite na naslednjo povezavo in prenesite arhivsko datoteko tar.gz ali uporabite spodnjo uradno povezavo za prenos Git.

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

Lahko pa tudi neposredno prenesete z naslednjim ukazom wget.

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

13. Po prenosu najnovejše različice jo izvlecite z ukazom tar in z naslednjimi ukazi kopirajte vso ekstrahirano vsebino v korensko pot dokumenta spletnega strežnika.

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

14. Nato odprite brskalnik in se pomaknite do imena vaše domene (v primeru, da uporabljate navidezne gostitelje, kot je predstavljeno v tej vadnici, sicer uporabite naslov IP strežnika) in na pozdravni strani pritisnite gumb Gremo.

15. Na naslednjem zaslonu vnesite podatke o zbirki podatkov MySQL in pritisnite Shrani konfiguracijo .

16. Če se prikaže napaka, v kateri piše, da vaše konfiguracijske datoteke ni mogoče zapisati, uporabite naslednje ukaze, da ustvarite zapisljivo datoteko confing.php in pritisnite na Konfiguracijo sem shranil .

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

17. Po shranjevanju konfiguracije ustvarite skrbniškega uporabnika za PHP Server Monitor, ki izbere vaše poverilnice in pritisnite gumb Namesti .

18. Po končanem namestitvenem postopku pritisnite gumb Pojdi na monitor in preusmerjeni boste na stran za prijavo. Prijavite se s svojimi poverilnicami in pozvani boste na privzeto stran PHP Server Monitor. Razveljavite tudi spremembe datoteke PHP Server Monitor config.php .

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

19. Če želite dodati novo spletno mesto za spremljanje, pojdite na Strežniki -> Dodaj novo , izpolnite potrebna polja z nastavitvami strežnika in pritisnite gumb Shrani .

20. Če želite začeti postopek spremljanja na vseh strežnikih in storitvah, pritisnite gumb Posodobi in preusmerjeni boste na privzeto domačo stran, kjer boste prejeli stanje svojih spletnih mest/storitev.

21. Če želite, da PHP Server Monitor samodejno preverja stanje vaših strežnikov/storitev v rednih časovnih intervalih, morate v sistem namestiti načrtovalnik opravil Cron in v datoteko cron dodati vnos časovnega obdobja za spremljanje.

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

22. Če želite dodati nov vnos v datoteko cron, ki vsakih 5 minut preveri vaše spletno mesto, uporabite ukaz sudo crontab –e ali, še bolje, ročno uredite korensko datoteko cron, ki se nahaja v /var/spool/cron/ s prilagoditvijo poti, ki ustreza vašemu namestitvenemu imeniku PHP Server Monitor. Če želite seznam vseh vnosov crontab, uporabite ukazno vrstico sudo crontab -l .

$ sudo nano /var/spool/cron/root

Dodajte naslednji vnos - ustrezno prilagodite časovno obdobje in pot namestitve

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

Zaključek

Čeprav se PHP Server Monitor ne zapleta kot druge nadzorne storitve, kot so Nagios , Kaktusi ali Zabbix , je navadno zelo lahek glede virov porabo in lahko opravi nalogo kot platforma za spremljanje tako, da konfigurira pošiljanje e-pošte ali besedilnih sporočil SMS prek obsežnega seznama prehodov SMS, v primeru, da imajo vaša nadzorovana spletna mesta in storitve tehnične težave ali pa ne uspejo

Domača stran : Nadzor strežnika PHP