Installazzjoni ta 'PHP Server Monitor Għodda bl-użu ta' LEMP jew LAMP Stack f'Arch Linux


PHP Server Monitor hija għodda ta' monitoraġġ tal-web frontend ta' Sors Miftuħ miktuba f'PHP, li tista' tivverifika jekk is-servers tiegħek (IP, dominji) jew is-servizzi humiex qed jaħdmu u jistgħu jibagħtulek notifiki permezz ta' servizzi tal-posta jew SMS jekk seħħet problema fuq servizz jew port sorveljat. Jiċċekkja websajts billi juża kodiċi tal-istatus HTTP, jista 'juri graffs tal-istorja ta' uptime u latency u jista 'juża żewġ livelli ta' awtentikazzjoni (amministratur u utent regolari).

Dan it-tutorja jippreżentalek mod kif tista' tinstalla PHP Server Monitor f'ambjent ta' server Arch Linux billi tuża kemm jekk Apache bħala server jew Nginx web server, għalhekk, tista 'tagħżel il-proċess ta' installazzjoni li jixraqlek l-aħjar.

Bħala rekwiżiti ġenerali biex tinstalla u twaqqaf PHP Server Monitor għal kwalunkwe pjattaformi Linux oħra, is-server għandek bżonn il-pakketti li ġejjin installati.

  1. PHP 5.3.7+
  2. Pakketti PHP: cURL, MySQL
  3. Database MySQL
  4. Servers tal-web Nginx jew Apache

Biex tinstalla PHP Server Monitor ma 'Nginx uża t-tutorials li ġejjin bħala gwidi biex twaqqaf il-munzell LEMP u l-Ospiti Virtwali fuq Arch.

  1. Installa LEMP (Linux, Nginx, MySQL, PHP) f'Arch Linux
  2. Oħloq Hosts Virtwali Nginx f'Arch Linux

Biex tinstalla PHP Server Monitor b'Apache uża l-gwida li ġejja biex twaqqaf LAMP stack fuq Arch Linux.

  1. Installa LAMP (Linux, Apache, MySQL, PHP) f'Arch Linux

Pass 1: Ikkonfigura Nginx/Apache Webserver

1. Qabel ma nibdew, jekk is-setup tiegħek tuża Virtual Hosting trid tiżgura li għandek dħul validu tad-DNS li jindika d-dominju tiegħek jew tuża fajl hosts lokali f'każ li ma jkollokx server DNS. Dan it-tutorja juża Virtual Hosting maż-żewġ servers tal-web (Nginx u Apache) ikkonfigurati b’dominju lokali falz – phpsrvmon.lan – permezz ta’ /etc/hosts fajl.

2. Biex iżżid Nginx Virtual Host ġdid, oħloq fajl ta' konfigurazzjoni ġdid fuq /etc/nginx/sites-available/ b'isem phpsrvmon.conf u uża l-mudell li ġej bħala eżempju ta' konfigurazzjoni.

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

Żid il-kodiċi li ġej mal-fajl 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. Jekk trid taċċessa PHP Sever Monitor permezz ta' protokoll HTTP sikur, oħloq il-fajl ta' konfigurazzjoni ekwivalenti SSL tagħha.

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

Żid il-kodiċi li ġej mal-fajl 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. Wara li teditja l-fajls Nginx conf, oħloq Document Root path, f'każ li bdiltha bħal hawn għal /srv/www/phpsrvmon/, attiva ż-żewġ hosts virtwali billi tuża l-utilità n2ensite u terġa 'tibda Nginx biex tirrifletti l-bidliet.

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

Jekk teħtieġ ċertifikat SSL ġdid għall-Ospitanti Virtwali tiegħek, iġġenera wieħed billi tuża kmand nginx_gen_ssl bl-isem tad-dominju tiegħek u mmodifika phpsrvmon-ssl.conf kif xieraq.

5. Jekk tuża Apache bħala server tal-web, oħloq fajl tal-konfigurazzjoni tal-Ospitanti Virtwali ġdid fuq /etc/httpd/conf/sites-available/ b'isem phpsrvmon.conf u uża d-definizzjonijiet tal-fajl li ġejjin bħala mudell.

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

Żid il-kodiċi li ġej mal-fajl 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. Jekk inti, ukoll, teħtieġ aċċess PHP Server Monitor fuq protokoll HTTPS, oħloq fajl ta 'konfigurazzjoni SSL Virtual Host ġdid bid-dikjarazzjonijiet li ġejjin.

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

Żid il-kodiċi kollu li ġej fil-fajl 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. Bl-użu tal-istess proċedura bħal għal Nginx, oħloq id-direttorju tal-Għerq tad-Dokument, f'każ li l-mogħdija tal-fajls tal-web moqdija tkun inbidlet, attiva Apache Hosts Virtwali billi tuża kmand a2ensite u terġa 'tibda daemon biex tapplika l-bidliet.

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

Biex tiġġenera Ċertifikat u Ċavetta SSL ġodda għal dan l-Ospitanti Virtwali uża l-utilità apache_gen_ssl, waħħal l-isem tad-dominju tiegħek fuq l-isem taċ-Ċertifikat u mmodifika /etc/httpd/conf/sites-available/phpsrvmon-ssl.conf fajl, li jissostitwixxi Ċertifikat SSL antik u mogħdija taċ-Ċavetta u ismijiet b'oħrajn ġodda.

Pass 2: Editja l-konfigurazzjonijiet PHP

8. Sabiex jiġu evitati xi żbalji ta 'installazzjoni, dak il-Monitor tas-Server PHP se tarmi meta jivverifika r-rekwiżiti tas-sistema jiftaħ il-fajl php.ini u jagħmel l-aġġustamenti li ġejjin.

$ sudo nano /etc/php/php.ini

Jekk il-mogħdija ta' l-Għerq tad-Dokument Nginx/Apache tkun inbidel (waħda default hija /srv/http/) uża [Ctrl+w] biex issib open_basedir dikjarazzjoni u ehmeż il-mogħdija l-ġdida billi tipprefissa bil-kolon \ : \ – f'dan il-każ it-triq il-ġdida hija /srv/www/ – biex tidher bħal fl-eżempju hawn taħt.

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

Fittex u ppermetti PHP pdo, mysqli u estensjonijiet curl billi ma tikkummentahom (neħħi l-punt virgola minn quddiem).

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

Sib iż-żona tal-ħin u ssettja l-ħin lokali tiegħek billi tuża Din il-Paġna.

date.timezone = Continent/City

9. Wara li jsiru l-bidliet kollha, ibda mill-ġdid is-servizzi tiegħek biex tapplika l-bidliet.

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

Pass 3: Oħloq PHP Server Monitor MySQL Database

10. Biex toħloq id-database meħtieġa għal PHP Server Monitor biex jaħżen l-informazzjoni, idħol fid-database MySQL/MariaDB u oħloq database ġdida billi tuża l-kmandi li ġejjin (issostitwixxi d-database, l-utent u l-password bil-kredenzjali preferuti tiegħek).

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

Jekk għandek PhpMyAdmin installat fis-sistema tiegħek tista' toħloq database PHP Server Monitor billi taċċessa MySQL/MariaDB mill-interface tal-web tagħha.

Pass 4: Installa PHP Server Monitor

11. Qabel ma tipproċedi bit-tniżżil tal-għodda PHP Server Monitor, kun żgur li installajt il-kmand wget.

$ sudo pacman -S wget

12. Biex taqbad l-aħħar verżjoni tal-PHP Server Monitor mur fil-link li ġejja u niżżel il-fajl tal-arkivju tar.gz jew uża uża l-link uffiċjali tat-tniżżil ta' Git ipprovdut hawn taħt.

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

Inkella, tista 'wkoll tniżżel direttament billi tuża l-kmand wget li ġej.

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

13. Wara li tniżżel l-aħħar verżjoni, iġbedha bil-kmand tar u kkopja l-kontenut kollu estratt fil-mogħdija ta 'l-Għerq tad-Dokument tal-Web Server billi tuża l-kmandi li ġejjin.

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

14. Imbagħad iftaħ browser u naviga lejn l-isem tad-dominju tiegħek (f'każ li tuża hosts virtwali kif ippreżentat f'dan it-tutorja, inkella uża l-indirizz IP tas-server tiegħek ) u fuq il-paġna ta' greeting agħfas Ejja buttuna.

15. Fuq l-iskrin li jmiss daħħal l-informazzjoni tad-database MySQL tiegħek u agħfas fuq Save configuration.

16. Jekk ikollok żball li jgħid li l-fajl tal-konfigurazzjoni tiegħek ma setax jinkiteb uża l-kmandi li ġejjin biex toħloq fajl confing.php li jista’ jinkiteb u agħfas fuq Issejvjajt il-konfigurazzjoni.

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

17. Wara li ssalva l-konfigurazzjoni oħloq utent amministrattiv għal PHP Server Monitor billi tagħżel il-kredenzjali tiegħek u agħfas fuq il-buttuna Installa.

18. Wara li l-proċess ta 'installazzjoni jitlesta, agħfas fuq il-buttuna Mur fil-monitor tiegħek u tkun ridirett lejn il-paġna tal-Login. Idħol bil-kredenzjali tiegħek u tkun imħeġġa tagħmel il-paġna default PHP Server Monitor. Ibdel ukoll il-bidliet fil-fajl PHP Server Monitor config.php.

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

19. Biex iżżid websajt ġdida għall-monitoraġġ mur Servers -> Żid ġdid, imla l-oqsma meħtieġa bis-settings tas-server tiegħek u agħfas fuq il-buttuna Save .

20. Biex tibda l-proċess ta' monitoraġġ fuq is-servers u s-servizzi kollha agħfas il-buttuna Aġġorna u inti tiġi ridirett lejn il-paġna ewlenija awtomatika fejn tiġi ppreżentata l-istatus tal-websajts/servizzi tiegħek.

21. Sabiex PHP Server Monitor jiċċekkja awtomatikament l-istatus tas-servers/servizzi tiegħek f'intervalli ta 'ħin regolari għandek bżonn tinstalla skedar tax-xogħol Cron fis-sistema tiegħek u żżid entrata ta' perjodu ta 'żmien ta' monitoraġġ f'fajl cron.

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

22. Biex iżżid entrata ġdida fil-fajl cron li tiċċekkja l-websajt tiegħek kull 5 minuti uża sudo crontab –e kmand, jew, aħjar, editja manwalment il-fajl tal-għeruq tal-cron li jinsab f'/var/spool/ cron/direttorju billi taġġusta l-mogħdija biex taqbel mad-direttorju tal-installazzjoni tiegħek PHP Server Monitor. Biex telenka l-entrati kollha tal-crontab uża l-linja tal-kmand sudo crontab -l.

$ sudo nano /var/spool/cron/root

Żid l-entrata li ġejja - aġġusta l-perjodu ta 'żmien u l-passaġġ ta' installazzjoni kif xieraq

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

Konklużjoni

Għalkemm PHP Server Monitor ma jogħlax fil-kumplessità bħal servizzi oħra ta' monitoraġġ bħal Nagios, Cacti jew Zabbix, għandu tendenza li jkun ħafif ħafna fir-riżorsi konsum u tista 'twettaq ix-xogħol bħala pjattaforma ta' monitoraġġ billi tikkonfigura biex tibgħat emails jew SMS permezz ta 'lista vasta ta' gateway SMS, f'każ li l-websajts u s-servizzi mmonitorjati tiegħek qed jiltaqgħu ma 'problemi tekniċi jew huma stabbiliti.

Homepage: PHP Server Monitor