Arch Linux-da LEMP ýa-da LAMP Stack ulanyp PHP Server Monitor guralyny gurmak


PHP Serwer Monitory serwerleriňiziň (IP, domenleriňiziň) ýa-da hyzmatlaryňyzyň işleýändigini ýa-da poçta hyzmatlary ýa-da SMS arkaly habar iberip bilýän PHP-de ýazylan açyk çeşme web frontend gözegçilik guralydyr. gözegçilik edilýän hyzmatda ýa-da portda bir mesele ýüze çykan bolsa. HTTP status koduny ulanyp web sahypalaryny barlaýar, iş wagtynyň we gijä galmagyň taryhy grafiklerini görkezip bilýär we iki derejeli tanamak (administrator we adaty ulanyjy) ulanyp biler.

Bu gollanma, Apache serwer ýa-da Nginx web serweri, ýa-da ulanyp, Arch Linux serwer gurşawynda PHP Serwer Monitory gurmagyň usulyny hödürleýär. şeýlelik bilen, özüňize laýyk gelýän gurnama amalyny saýlap bilersiňiz.

Beýleki Linux platformalary üçin PHP Server Monitoryny gurmak we gurmak üçin umumy talaplar hökmünde serweriňize aşakdaky paketler gurulmalydyr.

  1. PHP 5.3.7+
  2. PHP paketleri: CURL, MySQL
  3. MySQL maglumat bazasy
  4. Nginx ýa-da Apache web serwerleri

PHP Server Monitoryny Nginx bilen gurmak üçin, LEMP stackini we Arch-da Wirtual Hostlary gurmak üçin gollanma hökmünde aşakdaky sapaklary ulanyň.

  1. Arch Linux-da LEMP (Linux, Nginx, MySQL, PHP) guruň
  2. Arch Linux-da Nginx wirtual hostlaryny dörediň

Apache bilen PHP Server Monitoryny gurmak üçin Arch Linux-da LAMP stakasyny gurmak üçin aşakdaky gollanmany ulanyň.

  1. Arch Linux-da LAMP (Linux, Apache, MySQL, PHP) guruň

1-nji ädim: Nginx/Apache web sahypasyny sazlaň

1. Başlamazdan ozal, gurnamaňyz Wirtual Hosting ulanýan bolsa, domeniňizi görkezýän dogry DNS ýazgysynyň bardygyny ýa-da DNS serweriňiz ýok bolsa ýerli hostlar faýlyny ulanmagyňyzy üpjün etmeli. Bu gollanma, ýerli domen ýasama - phpsrvmon.lan - üsti bilen düzülen iki web serweri ( Nginx we Apache ) bilen Wirtual Hosting ulanýar./etc/hostlar faýly.

2. Täze Nginx Wirtual Host goşmak üçin phpsrvmon.conf ady bilen /etc/nginx/sites-available/ -de täze konfigurasiýa faýly dörediň we aşakdaky şablony ulanyň konfigurasiýa mysaly.

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

phpsrvmon.conf faýlyna aşakdaky kody goşuň.

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. Howpsuz HTTP protokoly arkaly PHP Sever Monitor-a girmek isleseňiz, SSL ekwiwalent konfigurasiýa faýly dörediň.

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

phpsrvmon-ssl.conf faýlyna aşakdaky kody goşuň.

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. Nginx conf faýllaryny redaktirläniňizden soň, şu ýerde /srv/www/phpsrvmon/ diýip üýtgeden bolsaňyz, Resminamanyň kök ýoluny dörediň, n2ensite kömekçi kömegi bilen iki wirtual hosty işjeňleşdiriň. üýtgeşmeleri görkezmek üçin Nginx-i täzeden açyň.

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

Wirtual Host üçin täze SSL şahadatnamasy gerek bolsa, domen adyňyz bilen nginx_gen_ssl buýrugyny ulanyp dörediň we şoňa görä phpsrvmon-ssl.conf üýtgediň.

5. Apache-ni web serweri hökmünde ulanýan bolsaňyz, phpsrvmon.conf ady bilen /etc/httpd/conf/sites-available/ -de täze Wirtual Host konfigurasiýa faýly dörediň we aşakdaky faýl kesgitlemelerini şablon hökmünde ulanyň.

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

phpsrvmon.conf faýlyna aşakdaky kody goşuň.

<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. Size hem HTTPS protokolynda PHP Serwer Monitoryna girmek zerur bolsa, aşakdaky jümleler bilen täze Wirtual Host SSL konfigurasiýa faýly dörediň.

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

Aşakdaky ähli kody phpsrvmon-ssl.conf faýlyna goşuň.

<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. Nginx ýaly prosedurany ulanyp, web faýllary hyzmat edilýän ýol üýtgän ýagdaýynda, a2ensite buýrugy ulanyp, Apache Wirtual Hostlary işjeňleşdiriň we üýtgeşmeler girizmek üçin daemon täzeden açyň.

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

Bu wirtual öý eýesi üçin täze SSL şahadatnamasy we açary döretmek üçin apache_gen_ssl peýdaly, domen adyňyzy Şahadatnamanyň adyna goşuň we /etc/httpd/conf/sites-available/phpsrvmon-ssl.conf faýl, köne SSL şahadatnamasyny we açar ýoluny we atlaryny täzeleri bilen çalyşýar.

2-nji ädim: PHP konfigurasiýalaryny redaktirläň

8. Käbir gurnama ýalňyşlyklarynyň öňüni almak üçin, PHP Serwer Monitory ulgam talaplaryny barlanda php.ini faýlyny açanda we aşakdaky düzedişleri girizeninde zyňar.

$ sudo nano /etc/php/php.ini

Nginx/Apache Document kök ýoly üýtgedilen bolsa (deslapky ýol /srv/http/) open_basedir tapmak üçin [Ctrl + w] ulanyň. jümle\: \düwmesine goşulma bilen goşuň we täze ýoly goşuň - bu ýagdaýda täze ýol /srv/www/ - mysalda görünmek üçin aşakda.

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

PHP pdo, mysqli we egri giňeltmeleri gözläň we işlediň (öňündäki nokatly belligi aýyryň).

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

Wagt guşagyny tapyň we ýerli wagtyňyzy şu Sahypany ulanýan ýaly düzüň.

date.timezone = Continent/City

9. changeshli üýtgetmeler girizilenden soň üýtgeşmeleri ulanmak üçin hyzmatlaryňyzy täzeden açyň.

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

3-nji ädim: PHP Serwer Monitory MySQL maglumat bazasyny dörediň

10. Maglumat saklamak üçin PHP Serwer Monitory üçin zerur maglumatlar binýadyny döretmek üçin MySQL/MariaDB maglumat bazasyna giriň we aşakdaky buýruklary ulanyp täze maglumat bazasyny dörediň (maglumat bazasyny, ulanyjyny we paroly islän maglumatlaryňyz bilen çalşyň).

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

Ulgamyňyzda PhpMyAdmin gurlan bolsa, web interfeýsinden MySQL/MariaDB girip PHP Server Monitor maglumatlar bazasyny döredip bilersiňiz.

4-nji ädim: PHP Serwer Monitoryny guruň

11. PHP Server Monitor guralyny göçürip almazdan ozal, wget buýrugyny gurnandygyňyzy anyklaň.

$ sudo pacman -S wget

12. Iň soňky PHP Server Monitor wersiýasyny almak üçin aşakdaky baglanyşyga giriň we tar.gz arhiw faýlyny göçürip alyň ýa-da aşakda görkezilen resmi Git göçürip almak baglanyşygyny ulanyň.

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

Ativea-da bolmasa, aşakdaky wget buýrugyny ulanyp gönüden-göni göçürip alyp bilersiňiz.

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

13. Iň soňky wersiýany göçürip alanyňyzdan soň, ony tar buýrugy bilen çykaryň we aşakdaky buýruklary ulanyp, çykarylan ähli mazmuny Web Server Document Root ýoluna göçüriň.

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

14. Soňra brauzeri açyň we domen adyňyza geçiň (bu gollanmada görkezilişi ýaly wirtual hostlary ulanýan bolsaňyz, serweriňiziň IP adresini ulanyň) we gutlag sahypasynda “Geliň” düwmesine basyň.

15. Indiki ekranda MySQL maglumat bazasynyň maglumatlaryny giriziň we Sazlamany ýatda saklaň düwmesine basyň.

16. Konfigurasiýa faýlyňyzy ýazyp bolmaýar diýlen säwlik alsaňyz, ýazyp boljak confing.php faýly döretmek üçin aşakdaky buýruklary ulanyň we düwmesine basyň .

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

17. Sazlamany ýatda saklanyňyzdan soň, şahsyýet maglumatlaryňyzy saýlamak üçin PHP Server Monitor üçin administratiw ulanyjy dörediň we Gurmak düwmesine basyň.

18. Gurmak prosesi tamamlanandan soň Monitoryňyza giriň düwmesine basyň we Giriş sahypasyna ugrukdyrylarsyňyz. Şahsy maglumatlaryňyz bilen giriň we size PHP Serwer Monitor sahypasy berilmez. Şeýle hem, PHP Serwer Monitory config.php faýlyndaky üýtgeşmeleri yzyna öwüriň.

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

19. Gözegçilik üçin täze web sahypasyny goşmak üçin Serwerler -> Täze goş gidiň, zerur meýdanlary serwer sazlamalaryňyz bilen dolduryň we Saklamak düwmesine basyň. .

20. serverhli serwerlerde we hyzmatlarda gözegçilik işine başlamak üçin Täzelenme düwmesine basyň we web sahypalaryňyz/hyzmatlaryňyzyň ýagdaýy görkeziler.

21. PHP Serwer Monitorynyň yzygiderli wagt aralygynda serwerleriňiziň/hyzmatlaryňyzyň ýagdaýyny awtomatiki barlamagy üçin ulgamyňyza Kron iş meýilnamasyny gurmaly we kron faýlyna gözegçilik möhletini girizmeli.

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

22. Web sahypaňyzy her 5 minutdan barlaýan kron faýlyna täze ýazgy goşmak üçin sudo crontab –e buýrugy ulanyň, has gowusy, /var/spool/-da ýerleşýän kök kron faýlyny el bilen redaktirläň. “PHP Server Monitor” gurnama katalogyna gabat gelýän ýoly sazlap, cron/ katalogy. Crontab ýazgylarynyň hemmesini sanamak üçin sudo crontab -l buýruk setirini ulanyň.

$ sudo nano /var/spool/cron/root

Aşakdaky ýazgyny goşuň - wagt möhletini we gurnama ýoluny sazlaň

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

Netije

PHP Serwer Monitory, Nagios , Kakti ýa-da Zabbix ýaly beýleki gözegçilik hyzmatlary ýaly çylşyrymlylykda ýokarlanmasa-da, çeşmede gaty ýeňil bolýar sarp etmek we gözegçilik edilýän web sahypalaryňyz we hyzmatlaryňyz tehniki kynçylyklar bilen ýüzbe-ýüz bolsa ýa-da işlemeýän bolsa, giň SMS şlýuz sanawynyň üsti bilen e-poçta ýa-da SMS ibermek arkaly sazlamak arkaly işi ýerine ýetirip biler.

Baş sahypa : PHP Serwer Monitory