Kusakinisha Zana ya PHP Server Monitor kwa kutumia LEMP au LAMP Stack katika Arch Linux


PHP Server Monitor ni zana ya ufuatiliaji wa tovuti ya Open Source iliyoandikwa katika PHP, ambayo inaweza kuthibitisha kama seva zako (IP, vikoa) au huduma zinaendelea na zinaweza kukutumia arifa kupitia huduma za barua au SMS. ikiwa tatizo limetokea kwenye huduma inayofuatiliwa au bandari. Inaangalia tovuti kwa kutumia msimbo wa hali ya HTTP, inaweza kuonyesha grafu za historia ya uptime na latency na inaweza kutumia viwango viwili vya uthibitishaji (msimamizi na mtumiaji wa kawaida).

Mafunzo haya yanakuonyesha jinsi unavyoweza kusakinisha PHP Server Monitor katika mazingira ya seva ya Arch Linux ukitumia Apache kama seva au Nginx seva ya wavuti, kwa hivyo, unaweza kuchagua mchakato wa usakinishaji unaokufaa zaidi.

Kama mahitaji ya jumla ya kusakinisha na kusanidi PHP Server Monitor kwa majukwaa mengine yoyote ya Linux, seva yako inahitaji vifurushi vifuatavyo vilivyosakinishwa.

  1. PHP 5.3.7+
  2. Vifurushi vya PHP: cURL, MySQL
  3. Hifadhidata ya MySQL
  4. Seva za wavuti za Nginx au Apache

Ili kusakinisha PHP Server Monitor na Nginx tumia mafunzo yafuatayo kama miongozo ya kusanidi mrundikano wa LEMP na Majeshi Virtual kwenye Arch.

  1. Sakinisha LEMP (Linux, Nginx, MySQL, PHP) katika Arch Linux
  2. Unda Sevasji pepe za Nginx katika Arch Linux

Ili kusakinisha PHP Server Monitor na Apache tumia mwongozo ufuatao ili kusanidi stack ya LAMP kwenye Arch Linux.

  1. Sakinisha LAMP (Linux, Apache, MySQL, PHP) katika Arch Linux

Hatua ya 1: Sanidi Nginx/Apache Webserver

1. Kabla hatujaanza, ikiwa usanidi wako unatumia Upangishaji Mtandaoni, unahitaji kuhakikisha kuwa una ingizo halali la DNS linaloelekeza kwenye kikoa chako au utumie faili ya wapangishi ya ndani iwapo huna seva ya DNS. Mafunzo haya yanatumia Upangishaji Mtandaoni na seva zote mbili za wavuti (Nginx na Apache) zilizosanidiwa kwa kikoa bandia cha karibu - phpsrvmon.lan - kupitia /etc/hostsfaili.

2. Ili kuongeza Seva mpya ya Nginx Virtual, unda faili mpya ya usanidi kwenye /etc/nginx/sites-available/ yenye jina la phpsrvmon.conf na utumie kiolezo kifuatacho kama mfano wa usanidi.

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

Ongeza msimbo ufuatao kwenye faili ya 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. Ikiwa unataka kufikia PHP Sever Monitor kupitia itifaki salama ya HTTP, tengeneza faili yake ya usanidi inayolingana na SSL.

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

Ongeza msimbo ufuatao kwenye faili ya 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. Baada ya kuhariri faili za Nginx conf, unda njia ya Mizizi ya Hati, ikiwa uliibadilisha kama hapa kuwa /srv/www/phpsrvmon/, washa seva pangishi zote mbili kwa kutumia n2ensite matumizi. na anza tena Nginx ili kuonyesha mabadiliko.

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

Ikiwa unahitaji cheti kipya cha SSL kwa Mpangishi wako wa Mtandaoni, tengeneza moja kwa kutumia nginx_gen_ssl amri iliyo na jina la kikoa chako na urekebishe phpsrvmon-ssl.conf ipasavyo.

5. Ikiwa unatumia Apache kama seva ya wavuti, tengeneza faili mpya ya usanidi ya Seva Host kwenye /etc/httpd/conf/sites-available/ yenye jina la phpsrvmon.conf na tumia ufafanuzi wa faili zifuatazo kama kiolezo.

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

Ongeza msimbo ufuatao kwenye faili ya 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. Ikiwa wewe pia, unahitaji ufikiaji wa PHP Server Monitor kwenye itifaki ya HTTPS, unda faili mpya ya usanidi ya Virtual Host SSL yenye taarifa zifuatazo.

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

Ongeza msimbo mzima ufuatao kwenye faili ya 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. Kwa kutumia utaratibu sawa na wa Nginx, unda saraka ya Mizizi ya Hati, ikiwa faili za wavuti zinazotolewa zimebadilika, washa Apache Virtual Hosts ukitumia amri ya a2ensite na uanze upya daemon ili kutekeleza mabadiliko.

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

Ili kutengeneza Cheti na Ufunguo mpya wa SSL kwa Seva Pepesi hii tumia matumizi ya apache_gen_ssl, weka jina la kikoa chako kwenye jina la Cheti na urekebishe /etc/httpd/conf/sites-available/phpsrvmon-ssl.conf faili, ikibadilisha Cheti cha zamani cha SSL na njia muhimu na majina na kuweka mpya.

Hatua ya 2: Hariri usanidi wa PHP

8. Ili kuepuka baadhi ya hitilafu za usakinishaji, PHP Server Monitor hiyo itatupa wakati inapothibitisha mahitaji ya mfumo, fungua faili ya php.ini na ufanye marekebisho yafuatayo.

$ sudo nano /etc/php/php.ini

Ikiwa njia ya Mizizi ya Hati ya Nginx/Apache imebadilishwa ( chaguomsingi ni /srv/http/) tumia [Ctrl+w] kupata open_basedir taarifa na kuambatisha njia mpya kwa kuweka kiambishi awali kwa koloni \ : \ - katika kesi hii njia mpya ni /srv/www/ - kuonekana kama katika mfano chini.

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

Tafuta na uwashe PHP pdo, mysqli na viendelezi vya curl kwa kutotoa maoni (ondoa semicolon mbele yao).

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

Tafuta saa za eneo na uweke saa za eneo lako kama kutumia Ukurasa Huu.

date.timezone = Continent/City

9. Baada ya mabadiliko yote kufanywa, anzisha upya huduma zako ili kutumia mabadiliko.

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

Hatua ya 3: Unda Hifadhidata ya Monitor ya Seva ya PHP ya MySQL

10. Kuunda hifadhidata inayohitajika kwa PHP Server Monitor kuhifadhi habari, ingia kwenye hifadhidata ya MySQL/MariaDB na uunde hifadhidata mpya kwa kutumia amri zifuatazo (badilisha hifadhidata, mtumiaji na nenosiri kwa stakabadhi unazopendelea).

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

Ikiwa umesakinisha PhpMyAdmin kwenye mfumo wako unaweza kuunda hifadhidata ya PHP Server Monitor kwa kufikia MySQL/MariaDB kutoka kwenye kiolesura chake cha wavuti.

Hatua ya 4: Sakinisha Monitor ya Seva ya PHP

11. Kabla ya kuendelea na kupakua zana ya PHP Server Monitor, hakikisha kuwa umesakinisha wget amri.

$ sudo pacman -S wget

12. Ili kunyakua toleo la hivi punde la PHP Server Monitor nenda kwa kiungo kifuatacho na upakue faili ya kumbukumbu ya tar.gz au tumia kiungo rasmi cha upakuaji cha Git kilichotolewa hapa chini.

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

Vinginevyo, unaweza pia kupakua moja kwa moja kwa kutumia amri ifuatayo ya wget.

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

13. Baada ya kupakua toleo jipya zaidi, litoe kwa tar amri na unakili maudhui yote yaliyotolewa kwenye njia ya Mizizi ya Hati ya Seva ya Wavuti kwa kutumia amri zifuatazo.

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

14. Kisha fungua kivinjari na uende kwenye jina la kikoa chako (ikiwa utatumia wapangishi pepe kama ilivyoonyeshwa kwenye somo hili, vinginevyo tumia anwani ya IP ya seva yako ) na kwenye ukurasa wa salamu gonga kitufe cha Twende.

15. Kwenye skrini inayofuata weka maelezo yako ya hifadhidata ya MySQL na ugonge Hifadhi usanidi.

16. Ukipata hitilafu inayosema kwamba faili yako ya usanidi haikuweza kuandikwa tumia amri zifuatazo kuunda faili ya confing.php inayoweza kuandikwa na ubonyeze Nimehifadhi usanidi.

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

17. Baada ya kuhifadhi usanidi unda mtumiaji wa msimamizi wa PHP Server Monitor akichagua kitambulisho chako na ubofye kitufe cha Sakinisha.

18. Baada ya mchakato wa usakinishaji kukamilika gonga kwenye kitufe cha Nenda kwenye kichungi chako na utaelekezwa kwenye ukurasa wa Ingia. Ingia kwa kutumia kitambulisho chako na utaongozwa kwa ukurasa chaguomsingi wa PHP Server Monitor. Pia rudisha mabadiliko kwenye faili ya config.php ya PHP Server Monitor.

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

19. Ili kuongeza tovuti mpya ya ufuatiliaji nenda kwa Seva -> Ongeza mpya, jaza sehemu zinazohitajika na mipangilio ya seva yako na ubofye kitufe cha Hifadhi .

20. Kuanza mchakato wa ufuatiliaji kwenye seva na huduma zote bonyeza kitufe cha Sasisha na utaelekezwa kwenye ukurasa wa nyumbani chaguo-msingi ambapo utawasilishwa na tovuti/huduma zako.

21. Ili PHP Server Monitor iangalie kiotomatiki hali ya seva/huduma zako kwa vipindi vya kawaida, unahitaji kusakinisha Cron kipanga ratiba cha kazi kwenye mfumo wako na kuongeza ingizo la muda wa ufuatiliaji katika faili ya cron.

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

22. Ili kuongeza ingizo jipya katika faili ya cron inayoangalia tovuti yako kila baada ya dakika 5 tumia sudo crontab -e amri, au , bora zaidi, hariri faili ya root cron iliyo /var/spool/ cron/ saraka kwa kurekebisha njia ili ilingane na saraka yako ya usakinishaji ya PHP Server Monitor. Kuorodhesha maingizo yote ya crontab tumia sudo crontab -l mstari wa amri.

$ sudo nano /var/spool/cron/root

Ongeza ingizo lifuatalo - rekebisha muda na njia ya usakinishaji ipasavyo

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

Hitimisho

Ingawa PHP Server Monitor haiendi katika ugumu kama vile huduma zingine za ufuatiliaji kama Nagios, Cacti au Zabbix, inaelekea kuwa nyepesi sana katika rasilimali. matumizi na inaweza kutimiza kazi kama jukwaa la ufuatiliaji kwa kusanidi kutuma barua pepe au SMS kupitia orodha kubwa ya lango la SMS, iwapo tovuti na huduma zako zinazofuatiliwa zinakumbana na matatizo ya kiufundi au hazifanyi kazi.

Ukurasa wa Nyumbani: Kifuatilia Seva ya PHP