"PHP Server Monitor" rīka instalēšana, izmantojot LEMP vai LAMP Stack Arch Linux


PHP Server Monitor ir PHP rakstīts atvērtā koda tīmekļa frontend uzraudzības rīks, kas var pārbaudīt, vai jūsu serveri (IP, domēni) vai pakalpojumi darbojas un darbojas, un var nosūtīt jums paziņojumus, izmantojot pasta pakalpojumus vai SMS ja uzraudzītā pakalpojumā vai ostā radās problēma. Tas pārbauda vietnes, izmantojot HTTP statusa kodu, var parādīt uptime un latentuma vēstures diagrammas un var izmantot divus autentifikācijas līmeņus (administrators un parasts lietotājs).

Šajā apmācībā ir parādīts, kā jūs varat instalēt PHP Server Monitor Arch Linux servera vidē, izmantojot Apache kā serveri vai Nginx tīmekļa serveri, Tātad, jūs varat izvēlēties sev piemērotāko instalēšanas procesu.

Kā vispārīgas prasības, lai instalētu un iestatītu PHP Server Monitor jebkurai citai Linux platformai, serverim ir jāinstalē šādas pakotnes.

  1. PHP 5.3.7+
  2. PHP pakotnes: cURL, MySQL
  3. MySQL datu bāze
  4. Nginx vai Apache tīmekļa serveri

Lai instalētu PHP Server Monitor ar Nginx, izmantojiet šādas pamācības, lai iestatītu LEMP steku un virtuālos saimniekus Arch.

  1. Instalējiet LEMP (Linux, Nginx, MySQL, PHP) Arch Linux
  2. Izveidojiet Nginx virtuālos resursdatorus Arch Linux

Lai instalētu PHP Server Monitor ar Apache, izmantojiet šo ceļvedi, lai iestatītu LAMP kaudzīti Arch Linux.

  1. Arch Linux instalējiet LAMP (Linux, Apache, MySQL, PHP)

1. darbība: konfigurējiet Nginx/Apache tīmekļa serveri

1. Pirms sākat, ja jūsu iestatījumos tiek izmantots virtuālais mitināšana, jums jāpārliecinās, vai jums ir derīgs DNS ievades norādījums uz jūsu domēnu, vai arī izmantojiet vietējo resursdatoru failu, ja jums nav DNS servera. Šajā apmācībā tiek izmantots virtuālais mitināšana ar abiem tīmekļa serveriem ( Nginx un Apache ), kas konfigurēti ar vietējā domēna viltojumu - phpsrvmon.lan - caur /etc/hosts fails.

2. Lai pievienotu jaunu Nginx virtuālo resursdatoru, izveidojiet jaunu konfigurācijas failu vietnē /etc/nginx/sites-available/ ar nosaukumu phpsrvmon.conf un izmantojiet šo veidni kā konfigurācijas piemērs.

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

Pievienojiet šo kodu failam 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. Ja vēlaties piekļūt PHP Sever Monitor, izmantojot drošu HTTP protokolu, izveidojiet tā SSL ekvivalentu konfigurācijas failu.

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

Pievienojiet šo kodu failam 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ēc Nginx conf failu rediģēšanas izveidojiet dokumenta saknes ceļu, ja to mainījāt tāpat kā šeit uz /srv/www/phpsrvmon/, aktivizējiet abus virtuālos resursdatorus, izmantojot utilītu n2ensite un restartējiet Nginx, lai atspoguļotu izmaiņas.

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

Ja jūsu virtuālajam resursdatoram ir nepieciešams jauns SSL sertifikāts, izveidojiet to, izmantojot komandu nginx_gen_ssl ar savu domēna nosaukumu un attiecīgi modificējiet phpsrvmon-ssl.conf .

5. Ja izmantojat Apache kā tīmekļa serveri, izveidojiet jaunu virtuālā resursdatora konfigurācijas failu vietnē /etc/httpd/conf/sites-available/ ar nosaukumu phpsrvmon.conf un kā veidni izmantojiet šādas failu definīcijas.

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

Pievienojiet šo kodu failam 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. Ja arī jums ir nepieciešams piekļuve PHP Server Monitor, izmantojot HTTPS protokolu, izveidojiet jaunu virtuālā resursdatora SSL konfigurācijas failu ar šādiem apgalvojumiem.

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

Pievienojiet šādu visu kodu failam 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. Izmantojot to pašu procedūru kā Nginx, izveidojiet dokumenta saknes direktoriju, ja ir mainījies tīmekļa failu apkalpotais ceļš, aktivizējiet Apache Virtual Hosts, izmantojot komandu a2ensite , un restartējiet dēmonu, lai piemērotu izmaiņas.

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

Lai šim virtuālajam resursdatoram ģenerētu jaunu SSL sertifikātu un atslēgu, izmantojiet utilītu apache_gen_ssl , pievienojiet sava domēna nosaukumu sertifikāta nosaukumam un modificējiet /etc/httpd/conf/sites-available/phpsrvmon-ssl.conf fails, aizstājot veco SSL sertifikātu un atslēgas ceļu un nosaukumus ar jauniem.

2. darbība: rediģējiet PHP konfigurācijas

8. Lai izvairītos no dažām instalēšanas kļūdām, PHP Server Monitor iemetīs, pārbaudot sistēmas prasības, atverot failu php.ini un veicot šādas korekcijas.

$ sudo nano /etc/php/php.ini

Ja Nginx/Apache dokumenta saknes ceļš ir mainīts (noklusējuma veids ir /srv/http/), izmantojiet [Ctrl + w] , lai atrastu open_basedir paziņojumu un pievienojiet jauno ceļu, pievienojot prefiksu ar kolu “: “ - šajā gadījumā jaunais ceļš ir /srv/www/ - lai izskatās šādi.

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

Meklējiet un iespējojiet PHP pdo, mysqli un čokurošanās paplašinājumus, tos nekomentējot (noņemiet semikolu no priekšpuses).

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

Atrodiet laika joslu un iestatiet vietējo laiku kā šo lapu.

date.timezone = Continent/City

9. Pēc visu izmaiņu veikšanas restartējiet savus pakalpojumus, lai piemērotu izmaiņas.

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

3. solis: izveidojiet PHP Server Monitor MySQL datu bāzi

10. Lai izveidotu PHP Server Monitor vajadzīgo datu bāzi informācijas glabāšanai, piesakieties MySQL/MariaDB datu bāzē un izveidojiet jaunu datu bāzi, izmantojot šādas komandas (aizstājiet datu bāzi, lietotāju un paroli ar vēlamajiem akreditācijas datiem).

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

Ja jūsu sistēmā ir instalēta PhpMyAdmin, varat izveidot PHP Server Monitor datu bāzi, piekļūstot MySQL/MariaDB no tās tīmekļa saskarnes.

4. darbība: instalējiet PHP Server Monitor

11. Pirms turpināt lejupielādēt PHP Server Monitor rīku, pārliecinieties, vai esat instalējis komandu wget.

$ sudo pacman -S wget

12. Lai paķertu jaunāko PHP Server Monitor versiju, dodieties uz šo saiti un lejupielādējiet tar.gz arhīva failu vai izmantojiet zemāk sniegto oficiālo Git lejupielādes saiti.

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

Varat arī lejupielādēt tieši, izmantojot šo komandu wget.

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

13. Pēc jaunākās versijas lejupielādes izvelciet to ar komandu tar un nokopējiet visu izvilkto saturu Web Server Document Root ceļā, izmantojot šādas komandas.

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

14. Pēc tam atveriet pārlūkprogrammu un dodieties uz sava domēna nosaukumu (ja izmantojat virtuālos resursdatorus, kā parādīts šajā apmācībā, citādi izmantojiet sava servera IP adresi) un apsveikuma lapā nospiediet pogu Let’s go.

15. Nākamajā ekrānā ievadiet MySQL datu bāzes informāciju un nospiediet Saglabāt konfigurāciju .

16. Ja tiek parādīta kļūda, kas saka, ka konfigurācijas failu nevarēja uzrakstīt, izmantojiet šīs komandas, lai izveidotu rakstāmu failu confing.php un nospiediet Esmu saglabājis konfigurāciju .

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

17. Pēc konfigurācijas saglabāšanas izveidojiet administratīvo lietotāju PHP Server Monitor, izvēloties akreditācijas datus un nospiežot pogu Instalēt .

18. Kad instalēšanas process ir pabeigts, nospiediet pogu Pārejiet uz monitoru un tiksiet novirzīts uz pieteikšanās lapu. Piesakieties, izmantojot savus akreditācijas datus, un jums tiks piedāvāts noklusējuma PHP Server Monitor lapa. Atjaunojiet arī izmaiņas PHP Server Monitor failā config.php .

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

19. Lai pievienotu jaunu vietni uzraudzībai, dodieties uz Serveri -> Pievienot jaunu , aizpildiet nepieciešamos laukus ar sava servera iestatījumiem un nospiediet pogu Saglabāt .

20. Lai sāktu uzraudzības procesu visos serveros un pakalpojumos, nospiediet pogu Atjaunināt un jūs tiksiet novirzīts uz noklusējuma sākumlapu, kur jums tiks parādīts jūsu vietņu/pakalpojumu statuss.

21. Lai PHP Server Monitor automātiski un regulāri pārbaudītu serveru/pakalpojumu statusu, sistēmā ir jāinstalē Cron darba plānotājs un cron failā jāpievieno uzraudzības laika perioda ieraksts.

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

22. Lai pievienotu jaunu ierakstu cron failā, kas ik pēc 5 minūtēm pārbauda jūsu vietni, izmantojiet komandu sudo crontab –e vai, labāk, manuāli rediģējiet root cron failu, kas atrodas /var/spool/cron/ direktoriju, pielāgojot ceļu, lai tas atbilstu jūsu PHP Server Monitor instalācijas direktorijai. Lai uzskaitītu visus crontab ierakstus, izmantojiet sudo crontab -l komandrindu.

$ sudo nano /var/spool/cron/root

Pievienojiet šādu ierakstu - attiecīgi pielāgojiet laika periodu un instalēšanas ceļu

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

Secinājums

Lai gan PHP servera monitors nav sarežģītāks kā citi uzraudzības pakalpojumi, piemēram, Nagios , Cacti vai Zabbix , tas parasti ir ļoti viegls patēriņu un var izpildīt darbu kā uzraudzības platforma, konfigurējot e-pastu vai īsziņu sūtīšanu, izmantojot plašu SMS vārtejas sarakstu, gadījumā, ja jūsu uzraudzītajām vietnēm un pakalpojumiem rodas tehniskas problēmas vai tās nav pieejamas.

Mājas lapa : PHP servera monitors