Installation af "PHP Server Monitor" -værktøj ved hjælp af LEMP eller LAMP Stack i Arch Linux


PHP Server Monitor er et open source-overvågningsværktøj til webfrontend skrevet i PHP, der kan verificere, om dine servere (IP, domæner) eller tjenester kører og kan sende dig meddelelser via mailtjenester eller SMS hvis der opstod et problem i en overvåget tjeneste eller port. Det kontrollerer websteder ved hjælp af HTTP-statuskode, kan vise historikgrafer over oppetid og latenstid og kan bruge to niveauer af godkendelse (administrator og almindelig bruger).

Denne tutorial giver dig en måde, hvorpå du kan installere PHP Server Monitor i et Arch Linux-servermiljø ved hjælp af Apache som server eller Nginx webserver, så du kan vælge den installationsproces, der passer bedst til dig.

Som generelle krav til installation og opsætning af PHP Server Monitor til andre Linux-platforme, skal din server have følgende pakker installeret.

  1. PHP 5.3.7+
  2. PHP-pakker: cURL, MySQL
  3. MySQL-database
  4. Nginx- eller Apache-webservere

For at installere PHP Server Monitor med Nginx skal du bruge følgende tutorials som vejledninger til opsætning af LEMP stack og Virtual Hosts på Arch.

  1. Installer LEMP (Linux, Nginx, MySQL, PHP) i Arch Linux
  2. Opret Nginx virtuelle værter i Arch Linux

For at installere PHP Server Monitor med Apache skal du bruge følgende guide til at konfigurere LAMP stack på Arch Linux.

  1. Installer LAMP (Linux, Apache, MySQL, PHP) i Arch Linux

Trin 1: Konfigurer Nginx/Apache webserver

1. Før din start, hvis din opsætning bruger Virtual Hosting, skal du sikre dig, at du har en gyldig DNS-post, der peger på dit domæne eller bruge en lokal vært -fil, hvis du ikke har en DNS-server. Denne tutorial bruger Virtual Hosting med begge webservere ( Nginx og Apache ) konfigureret med en lokal domæne falsk - phpsrvmon.lan - gennem /etc/hosts -fil.

2. For at tilføje en ny Nginx Virtual Host skal du oprette en ny konfigurationsfil på /etc/nginx/sites-available/ med phpsrvmon.conf navn og bruge følgende skabelon som et konfigurationseksempel.

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

Føj følgende kode til filen 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. Hvis du vil have adgang til PHP Sever Monitor via en sikker HTTP-protokol, skal du oprette dens SSL-ækvivalente konfigurationsfil.

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

Føj følgende kode til filen 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. Efter redigering af Nginx conf-filer skal du oprette Document Root-sti, hvis du ændrede det som her til /srv/www/phpsrvmon/, aktiver begge virtuelle værter ved hjælp af værktøjet n2ensite og genstart Nginx for at afspejle ændringer.

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

Hvis du har brug for et nyt SSL-certifikat til din virtuelle vært, skal du oprette et ved hjælp af kommandoen nginx_gen_ssl med dit domænenavn og ændre phpsrvmon-ssl.conf i overensstemmelse hermed.

5. Hvis du bruger Apache som en webserver, skal du oprette en ny Virtual Host-konfigurationsfil på /etc/httpd/conf/sites-available/ med phpsrvmon.conf navn og Brug følgende fildefinitioner som en skabelon.

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

Føj følgende kode til filen 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. Hvis du også har brug for adgang til PHP Server Monitor på HTTPS-protokol, skal du oprette en ny Virtual Host SSL-konfigurationsfil med følgende udsagn.

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

Føj følgende hele kode til phpsrvmon-ssl.conf -filen.

<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. Opret Document Root-bibliotek ved hjælp af samme procedure som for Nginx, hvis stien til webfiler, der serveres, er ændret, skal du aktivere Apache Virtual Hosts ved hjælp af kommandoen a2ensite og genstarte dæmonen for at anvende ændringer.

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

For at generere nyt SSL-certifikat og nøgle til denne virtuelle vært skal du bruge apache_gen_ssl hjælpeprogrammet, tilføje dit domænenavn på certifikatnavnet og ændre /etc/httpd/conf/sites-available/phpsrvmon-ssl.conf -fil, der erstatter gammelt SSL-certifikat og nøglesti og navne med nye.

Trin 2: Rediger PHP-konfigurationer

8. For at undgå nogle installationsfejl vil den PHP Server Monitor kaste, når den verificerer systemkravene for en php.ini -fil og foretage følgende justeringer.

$ sudo nano /etc/php/php.ini

Hvis Nginx/Apache-dokumentrodsstien er blevet ændret (standard er /srv/http/) skal du bruge [Ctrl + w] til at finde open_basedir erklæring og tilføj den nye sti ved at præfikere et kolon ": " - i dette tilfælde er den nye sti /srv/www/ - for at se ud i eksemplet nedenfor.

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

Søg og aktiver PHP pdo, mysqli og curl-udvidelser ved at fjerne kommentar til dem (fjern semikolon fra fronten).

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

Find tidszone, og indstil din lokale tid som ved hjælp af denne side.

date.timezone = Continent/City

9. Når alle ændringer er foretaget, genstart dine tjenester for at anvende ændringer.

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

Trin 3: Opret PHP Server Monitor MySQL-database

10. For at oprette den database, der er nødvendig for, at PHP Server Monitor kan gemme oplysninger, skal du logge ind på MySQL/MariaDB-databasen og oprette en ny database ved hjælp af følgende kommandoer (udskift database, bruger og adgangskode med dine foretrukne legitimationsoplysninger).

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

Hvis du har installeret PhpMyAdmin på dit system, kan du oprette PHP Server Monitor-database ved at få adgang til MySQL/MariaDB fra dens webgrænseflade.

Trin 4: Installer PHP Server Monitor

11. Før du fortsætter med at downloade værktøjet PHP Server Monitor, skal du kontrollere, at du har installeret wget-kommandoen.

$ sudo pacman -S wget

12. For at få fat i den nyeste version af PHP Server Monitor skal du gå til følgende link og downloade tar.gz arkivfil eller bruge et officielt Git-downloadlink, der er angivet nedenfor.

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

Alternativt kan du også downloade direkte ved hjælp af følgende wget-kommando.

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

13. Efter download af den nyeste version skal du udpakke den med kommandoen tar og kopiere alt ekstraheret indhold til stien til webserverdokumentrod ved hjælp af følgende kommandoer.

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

14. Åbn derefter en browser og naviger til dit domænenavn (i tilfælde af at du bruger virtuelle værter som præsenteret i denne vejledning, ellers brug din server IP-adresse), og tryk på Lad os gå-knappen på hilsen-siden.

15. På det næste skærmbillede skal du indtaste dine MySQL-databaseoplysninger og trykke på Gem konfiguration .

16. Hvis du får en fejl, der siger, at din konfigurationsfil ikke kunne skrives, skal du bruge følgende kommandoer til at oprette en skrivbar confing.php -fil og trykke på Jeg har gemt konfigurationen .

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

17. Efter at have gemt konfigurationen, skal du oprette en administrativ bruger til PHP Server Monitor, vælge dine legitimationsoplysninger og trykke på knappen Installer .

18. Når installationen er afsluttet, skal du trykke på knappen Gå til din skærm , og du bliver omdirigeret til login-siden. Log ind med dine legitimationsoplysninger, og du bliver bedt om at angive standard PHP Server Monitor-siden. Gendan også ændringer til config.php -filen til PHP Server Monitor.

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

19. For at tilføje et nyt websted til overvågning skal du gå til Servere -> Tilføj nye , udfyld de krævede felter med dine serverindstillinger og tryk på knappen Gem .

20. For at starte overvågningsprocessen på alle servere og tjenester skal du trykke på knappen Opdater og du vil blive omdirigeret til standardhjemmesiden, hvor du vil blive præsenteret for din websteds/servicestatus.

21. For at PHP Server Monitor automatisk skal kontrollere dine servere/tjenester status med jævne tidsintervaller, skal du installere en Cron jobplanlægning på dit system og tilføje en overvågningstidsperiode i en cron-fil.

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

22. For at tilføje en ny post i cron-fil, der kontrollerer dit websted hvert 5. minut, skal du bruge sudo crontab –e kommando , eller bedre, manuelt redigere root cron-fil, der findes i /var/spool/cron/ -mappen ved at justere stien, så den passer til din PHP Server Monitor-installationsmappe. For at liste alle crontab-poster skal du bruge kommandolinjen sudo crontab -l .

$ sudo nano /var/spool/cron/root

Tilføj følgende post - juster tidsperioden og installationsstien i overensstemmelse hermed

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

Konklusion

Selvom PHP Server Monitor ikke stiger i kompleksitet som andre overvågningstjenester som Nagios , Cacti eller Zabbix , har det en tendens til at være meget let i ressourcen forbrug og kan udføre jobbet som overvågningsplatform ved at konfigurere til at sende e-mails eller sms-sms gennem en omfattende sms-gateway-liste, hvis dine overvågede websteder og tjenester støder på tekniske problemer eller er nede.

Hjemmeside : PHP Server Monitor