Setur upp „PHP Server Monitor“ tól með LEMP eða LAMP Stack í Arch Linux


PHP Server Monitor er opinn uppspretta vöktunartól fyrir vefframenda skrifað í PHP, sem getur staðfest hvort netþjónarnir þínir (IP, lén) eða þjónusta séu í gangi og getur sent þér tilkynningar í gegnum póstþjónustu eða SMS ef vandamál kom upp á vöktuðum þjónustu eða höfn. Það athugar vefsíður með því að nota HTTP stöðukóða, getur sýnt sögurit um spenntur og leynd og getur notað tvö auðkenningarstig (stjórnandi og venjulegur notandi).

Þessi kennsla sýnir þér hvernig þú getur sett upp PHP Server Monitor í Arch Linux netþjónsumhverfi með því að nota Apache sem netþjón eða Nginx vefþjón, svo þú getur valið uppsetningarferlið sem hentar þér best.

Sem almennar kröfur til að setja upp og setja upp PHP Server Monitor fyrir aðra Linux palla, þarf þjónninn að setja upp eftirfarandi pakka.

  1. PHP 5.3.7+
  2. PHP pakkar: cURL, MySQL
  3. MySQL gagnagrunnur
  4. Nginx eða Apache vefþjónar

Til að setja upp PHP Server Monitor með Nginx skaltu nota eftirfarandi kennsluefni sem leiðbeiningar til að setja upp LEMP stafla og sýndargestgjafa á Arch.

  1. Settu upp LEMP (Linux, Nginx, MySQL, PHP) í Arch Linux
  2. Búðu til Nginx sýndargestgjafa í Arch Linux

Til að setja upp PHP Server Monitor með Apache skaltu nota eftirfarandi leiðbeiningar til að setja upp LAMP stafla á Arch Linux.

  1. Settu upp LAMP (Linux, Apache, MySQL, PHP) í Arch Linux

Skref 1: Stilltu Nginx/Apache vefþjón

1. Áður en við byrjum, ef uppsetningin þín notar sýndarhýsingu þarftu að tryggja að þú sért með gilda DNS færslu sem vísar á lénið þitt eða notaðu staðbundna hýsingaraðila skrá ef þú ert ekki með DNS netþjón. Þessi kennsla notar sýndarhýsingu með báðum vefþjónum (Nginx og Apache) sem eru stilltir með staðbundnu léni – phpsrvmon.lan – í gegnum /etc/hosts skrá.

2. Til að bæta við nýjum Nginx sýndargestgjafa skaltu búa til nýja stillingarskrá á /etc/nginx/sites-available/ með phpsrvmon.conf nafni og nota eftirfarandi sniðmát sem dæmi um stillingar.

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

Bættu eftirfarandi kóða við phpsrvmon.conf skrána.

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. Ef þú vilt fá aðgang að PHP Sever Monitor í gegnum örugga HTTP samskiptareglur skaltu búa til SSL samsvarandi stillingarskrána.

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

Bættu eftirfarandi kóða við phpsrvmon-ssl.conf skrána.

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. Eftir að hafa breytt Nginx conf skrám, búðu til Document Root slóð, ef þú breyttir henni eins og hér í /srv/www/phpsrvmon/, virkjaðu báða sýndarhýsingar með n2ensite tólinu og endurræstu Nginx til að endurspegla breytingar.

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

Ef þú þarfnast nýs SSL vottorðs fyrir sýndargestgjafann þinn skaltu búa til það með nginx_gen_ssl skipuninni með léninu þínu og breyta phpsrvmon-ssl.conf í samræmi við það.

5. Ef þú notar Apache sem vefþjón, búðu til nýja Virtual Host stillingarskrá á /etc/httpd/conf/sites-available/ með phpsrvmon.conf nafni og notaðu eftirfarandi skráarskilgreiningar sem sniðmát.

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

Bættu eftirfarandi kóða við phpsrvmon.conf skrána.

<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. Ef þú þarft líka aðgang að PHP Server Monitor á HTTPS samskiptareglum, búðu til nýja Virtual Host SSL stillingarskrá með eftirfarandi yfirlýsingum.

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

Bættu eftirfarandi heilum kóða við phpsrvmon-ssl.conf skrána.

<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. Notaðu sömu aðferð og fyrir Nginx, búðu til Document Root möppu, ef slóð vefskrár sem birt er hefur breyst, virkjaðu Apache Virtual Hosts með a2ensite skipuninni og endurræstu púkann til að beita breytingum.

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

Til að búa til nýtt SSL vottorð og lykil fyrir þennan sýndargestgjafa skaltu nota apache_gen_ssl tólið, bæta léninu þínu við nafn vottorðsins og breyta /etc/httpd/conf/sites-available/phpsrvmon-ssl.conf skrá, sem skiptir út gömlu SSL vottorði og lykilslóð og nöfnum fyrir ný.

Skref 2: Breyttu PHP stillingum

8. Til þess að forðast einhverjar uppsetningarvillur, mun PHP Server Monitor kasta þegar hann staðfestir kerfiskröfur opna php.ini skrána og gera eftirfarandi breytingar.

$ sudo nano /etc/php/php.ini

Ef Nginx/Apache Document Root leið hefur verið breytt (sjálfgefin er /srv/http/) notaðu [Ctrl+w] til að finna open_basedir yfirlýsingu og bættu við nýju slóðinni með því að setja forskeyti með tvípunkti \ : \ – í þessu tilfelli er nýja slóðin /srv/www/ – til að líta út eins og í dæminu hér að neðan.

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

Leitaðu að og virkjaðu PHP pdo, mysqli og curl viðbætur með því að aflýsa þeim (fjarlægðu semíkommu að framan).

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

Finndu tímabelti og stilltu staðartíma þinn eins og þú notar þessa síðu.

date.timezone = Continent/City

9. Eftir að allar breytingar hafa verið gerðar endurræstu þjónustu þína til að beita breytingum.

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

Skref 3: Búðu til PHP Server Monitor MySQL gagnagrunn

10. Til að búa til gagnagrunninn sem þarf fyrir PHP Server Monitor til að geyma upplýsingar, skráðu þig inn í MySQL/MariaDB gagnagrunninn og búðu til nýjan gagnagrunn með því að nota eftirfarandi skipanir (skipta um gagnagrunn, notanda og lykilorð fyrir valinn persónuskilríki).

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

Ef þú ert með PhpMyAdmin uppsett á kerfinu þínu geturðu búið til PHP Server Monitor gagnagrunn með því að fá aðgang að MySQL/MariaDB frá vefviðmótinu.

Skref 4: Settu upp PHP Server Monitor

11. Áður en þú heldur áfram að hlaða niður PHP Server Monitor tólinu skaltu ganga úr skugga um að þú hafir sett upp wget skipunina.

$ sudo pacman -S wget

12. Til að grípa nýjustu PHP Server Monitor útgáfuna skaltu fara á eftirfarandi hlekk og hlaða niður tar.gz skjalasafni eða nota opinbera Git niðurhalstengil sem fylgir hér að neðan.

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

Að öðrum kosti geturðu líka halað niður beint með því að nota eftirfarandi wget skipun.

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

13. Eftir að hafa hlaðið niður nýjustu útgáfunni skaltu draga hana út með skipuninni tar og afrita allt útdregið efni á rótarslóð vefþjónsins með því að nota eftirfarandi skipanir.

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

14. Opnaðu síðan vafra og flettu að léninu þínu (ef þú notar sýndarhýsingar eins og kynntar eru í þessari kennslu, annars notaðu IP-tölu netþjónsins þíns) og á kveðjusíðunni smelltu á Let's go hnappinn.

15. Á næsta skjá skaltu slá inn MySQL gagnagrunnsupplýsingarnar þínar og smelltu á Vista stillingar.

16. Ef þú færð villu sem segir að ekki væri hægt að skrifa stillingarskrána þína skaltu nota eftirfarandi skipanir til að búa til skrifanlega confing.php skrá og smelltu á Ég hef vistað stillinguna.

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

17. Eftir að þú hefur vistað uppsetninguna skaltu búa til stjórnunarnotanda fyrir PHP Server Monitor, velja skilríki þín og smella á Setja upp hnappinn.

18. Eftir að uppsetningarferlinu er lokið smellirðu á Farðu á skjáinn þinn hnappinn og þér verður vísað á innskráningarsíðuna. Skráðu þig inn með persónuskilríkjum þínum og þú verður beðinn um sjálfgefna PHP Server Monitor síðu. Til baka einnig breytingar á PHP Server Monitor config.php skránni.

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

19. Til að bæta við nýrri vefsíðu til að fylgjast með, farðu í Netþjóna -> Bæta við nýjum, fylltu út nauðsynlega reiti með stillingum netþjónsins og smelltu á hnappinn Vista .

20. Til að hefja eftirlitsferlið á öllum netþjónum og þjónustum ýttu á Uppfæra hnappinn og þér verður vísað á sjálfgefna heimasíðu þar sem þér verður kynnt vefsvæði/þjónustustaða þín.

21. Til þess að PHP Server Monitor geti sjálfkrafa athugað netþjóna/þjónustustöðu þína með reglulegu millibili þarftu að setja upp Cron vinnuáætlun á kerfið þitt og bæta við eftirlitstímabilsfærslu í cron skrá.

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

22. Til að bæta við nýrri færslu í cron skrá sem skoðar vefsíðuna þína á 5 mínútna fresti notaðu sudo crontab –e skipunina, eða, betra, breyttu rót cron skránni handvirkt í /var/spool/ cron/ möppu með því að stilla slóðina til að passa við PHP Server Monitor uppsetningarskrána þína. Til að skrá allar crontab færslur notaðu sudo crontab -l skipanalínuna.

$ sudo nano /var/spool/cron/root

Bættu við eftirfarandi færslu - stilltu tímabil og uppsetningarleið í samræmi við það

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

Niðurstaða

Þrátt fyrir að PHP Server Monitor sé ekki flókið eins og önnur vöktunarþjónusta eins og Nagios, Cacti eða Zabbix, hefur það tilhneigingu til að vera mjög létt í auðlindum neyslu og getur uppfyllt starfið sem eftirlitsvettvangur með því að stilla til að senda tölvupóst eða SMS-skilaboð í gegnum stóran SMS-gáttarlista, ef eftirlitssíður þínar og þjónusta lenda í tæknilegum vandamálum eða liggja niðri.

Heimasíða: PHP Server Monitor