"PHP Server Monitor" -työkalun asentaminen LEMP- tai LAMP Stack -toiminnolla Arch Linuxissa


PHP Server Monitor on PHP: ssä kirjoitettu avoimen lähdekoodin web-käyttöliittymän seurantatyökalu, joka voi tarkistaa, ovatko palvelimesi (IP, verkkotunnukset) tai palvelut käynnissä, ja lähettää sinulle ilmoituksia postipalveluina tai tekstiviestinä jos valvotussa palvelussa tai portissa ilmeni ongelma. Se tarkistaa verkkosivustot HTTP-tilakoodin avulla, voi näyttää käyttöaika- ja viivehistoriakaaviot ja käyttää kahta todennustasoa (järjestelmänvalvoja ja tavallinen käyttäjä).

Tässä opetusohjelmassa esitellään tapa, jolla voit asentaa PHP Server Monitor Arch Linux -palvelinympäristöön käyttämällä Apache -palvelinta vai Nginx -verkkopalvelinta, joten voit valita sinulle parhaiten sopivan asennusprosessin.

Yleisenä vaatimuksena PHP Server Monitorin asennukselle ja asennukselle muille Linux-alustoille palvelin tarvitsee seuraavat paketit.

  1. PHP 5.3.7+
  2. PHP-paketit: cURL, MySQL
  3. MySQL-tietokanta
  4. Nginx- tai Apache-verkkopalvelimet

Jos haluat asentaa PHP Server Monitorin Nginx: n kanssa, käytä seuraavia oppaita oppaina LEMP-pinon ja virtuaalisten isäntien asentamiseen Archiin.

  1. Asenna LEMP (Linux, Nginx, MySQL, PHP) Arch Linuxiin
  2. Luo Nginx-virtuaalipalvelimet Arch Linuxiin

Asenna PHP Server Monitor Apache-ohjelmalla seuraavalla oppaalla LAMP-pinon asentamiseen Arch Linuxiin.

  1. Asenna LAMP (Linux, Apache, MySQL, PHP) Arch Linuxiin

Vaihe 1: Määritä Nginx/Apache-palvelin

1. Ennen kuin aloitamme, jos asetuksesi käyttää virtuaalista isännöintiä, sinun on varmistettava, että sinulla on voimassa oleva DNS-merkintä verkkotunnuksellesi, tai käytä paikallista isännät -tiedostoa, jos sinulla ei ole DNS-palvelinta. Tämä opetusohjelma käyttää virtuaalipalvelinta molempien verkkopalvelimien ( Nginx ja Apache ) kanssa, jotka on määritetty paikallisen verkkotunnuksen väärennöksellä - phpsrvmon.lan - /etc/hosts -tiedosto.

2. Jos haluat lisätä uuden Nginx-virtuaaliaseman, luo uusi määritystiedosto /etc/nginx/sites-available/ -nimellä phpsrvmon.conf ja käytä seuraavaa mallia konfigurointiesimerkki.

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

Lisää seuraava koodi phpsrvmon.conf -tiedostoon.

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. Jos haluat käyttää PHP Sever Monitoria suojatun HTTP-protokollan kautta, luo sen SSL-vastaava määritystiedosto.

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

Lisää seuraava koodi phpsrvmon-ssl.conf -tiedostoon.

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. Kun olet muokannut Nginx conf-tiedostoja, luo Document Root -polku, jos muutit sen kuten täällä /srv/www/phpsrvmon/, aktivoi molemmat virtuaaliset isännät n2ensite -apuohjelmalla ja käynnistä Nginx uudelleen vastaamaan muutoksia.

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

Jos tarvitset uuden SSL-varmenteen virtuaalipalvelimellesi, luo se käyttämällä nginx_gen_ssl -komentoa verkkotunnuksellasi ja muokkaa phpsrvmon-ssl.conf vastaavasti.

5. Jos käytät Apache-palvelinta verkkopalvelimena, luo uusi virtuaalipalvelimen määritystiedosto /etc/httpd/conf/sites-available/ -palveluun phpsrvmon.conf -nimellä ja käytä seuraavia tiedostomäärityksiä mallina.

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

Lisää seuraava koodi phpsrvmon.conf -tiedostoon.

<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. Jos tarvitset myös pääsyn PHP Server Monitoriin HTTPS-protokollalla, luo uusi Virtual Host SSL -määritystiedosto seuraavilla lausekkeilla.

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

Lisää seuraava koko koodi phpsrvmon-ssl.conf -tiedostoon.

<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. Luo asiakirjan juurihakemisto samalla tavoin kuin Nginx: llä, luo asiakirjan juurihakemisto, jos web-tiedostojen tarjoama polku on muuttunut, aktivoi Apache Virtual Hosts -ohjelma a2ensite -komennolla ja käynnistä demoni uudelleen muutosten toteuttamiseksi.

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

Jos haluat luoda uuden SSL-varmenteen ja avaimen tälle virtuaalipalvelimelle, käytä apache_gen_ssl -apuohjelmaa, liitä verkkotunnuksesi varmenteen nimeen ja muokkaa /etc/httpd/conf/sites-available/phpsrvmon-ssl.conf -tiedosto, joka korvaa vanhan SSL-varmenteen ja avaimen polun ja nimet uusilla.

Vaihe 2: Muokkaa PHP-määrityksiä

8. Joidenkin asennusvirheiden välttämiseksi PHP Server Monitor heittää, kun se tarkistaa järjestelmävaatimukset, avaa php.ini -tiedosto ja tekee seuraavat muutokset.

$ sudo nano /etc/php/php.ini

Jos Nginx/Apache Document Root -polkua on muutettu (oletusarvo on /srv/http/), käytä [Ctrl + w] paikantaa open_basedir ja lisää uusi polku etuliitteellä kaksoispisteellä : “- tässä tapauksessa uusi polku on /srv/www/ - näyttämään alla olevasta esimerkistä.

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

Etsi ja ota käyttöön PHP: n pdo-, mysqli- ja curl-laajennukset poistamalla kommentit (poista puolipiste niiden edestä).

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

Etsi aikavyöhyke ja aseta paikallinen aika tällä sivulla.

date.timezone = Continent/City

9. Kun kaikki muutokset on tehty, käynnistä palvelut uudelleen, jotta muutokset otetaan käyttöön.

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

Vaihe 3: Luo PHP Server Monitor MySQL-tietokanta

10. Jos haluat luoda tietokannan, jota PHP Server Monitor tarvitsee tietojen tallentamiseen, kirjaudu MySQL/MariaDB-tietokantaan ja luo uusi tietokanta seuraavilla komennoilla (korvaa tietokanta, käyttäjä ja salasana haluamillasi tunnistetiedoilla).

mysql -u root -p

MariaDB > create database phpsrvmon;
MariaDB > create user [email st identified by "user_password";
MariaDB > grant all privileges on phpsrvmon.* to [email ;
MariaDB > flush privileges;
MariaDB > quit

Jos tietokoneellasi on asennettuna PhpMyAdmin, voit luoda PHP Server Monitor -tietokannan avaamalla MySQL/MariaDB: n sen verkkokäyttöliittymästä.

Vaihe 4: Asenna PHP Server Monitor

11. Ennen kuin jatkat PHP Server Monitor -työkalun lataamista, varmista, että olet asentanut wget-komennon.

$ sudo pacman -S wget

12. Tartu uusimpaan PHP Server Monitor -versioon siirtymällä seuraavaan linkkiin ja lataa tar.gz-arkistotiedosto tai käytä alla olevaa virallista Gitin latauslinkkiä.

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

Vaihtoehtoisesti voit ladata myös suoraan seuraavalla wget-komennolla.

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

13. Kun olet ladannut uusimman version, pura se tar -komennolla ja kopioi kaikki purettu sisältö Web-palvelimen asiakirjan juuripolkuun seuraavien komentojen avulla.

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

14. Avaa sitten selain ja siirry verkkotunnukseesi (jos käytät virtuaalisia isäntiä tässä opetusohjelmassa esitetyllä tavalla, käytä muuten palvelimesi IP-osoitetta) ja paina tervehdyssivulla Mennään.

15. Syötä seuraavalla näytöllä MySQL-tietokannan tiedot ja paina Tallenna kokoonpano .

16. Jos saat virheen, jonka mukaan määritystiedostoa ei voitu kirjoittaa, luo seuraavat komennot kirjoitettavan confing.php -tiedoston luomiseksi ja paina Olen tallentanut määritykset .

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

17. Kun olet tallentanut kokoonpanon, luo järjestelmänvalvojan käyttäjä PHP Server Monitorille, valitse kirjautumistiedot ja paina Asenna -painiketta.

18. Kun asennus on valmis, paina Siirry näyttöön -painiketta ja sinut ohjataan sisäänkirjautumissivulle. Kirjaudu sisään kirjautumistiedoillasi ja sinua pyydetään oletussivulle PHP Server Monitor. Palauta myös muutokset PHP Server Monitor config.php -tiedostoon.

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

19. Jos haluat lisätä uuden verkkosivuston valvontaa varten, siirry kohtaan Palvelimet -> Lisää uusi , täytä pakolliset kentät palvelinasetuksillasi ja paina Tallenna -painiketta. .

20. Aloita seuranta kaikissa palvelimissa ja palveluissa painamalla Päivitä -painiketta ja sinut ohjataan oletussivulle, jossa sinulle näytetään verkkosivustojesi/palvelusi tila.

21. Jotta PHP Server Monitor voi tarkistaa palvelimesi/palvelusi tilan automaattisesti säännöllisin väliajoin, sinun on asennettava järjestelmään Cron -työaikataulu ja lisättävä valvonta-ajanjakson merkintä cron-tiedostoon.

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

22. Jos haluat lisätä uuden merkinnän cron-tiedostoon, joka tarkistaa verkkosivustosi 5 minuutin välein, käytä sudo crontab –e -komentoa tai, parempi, muokkaa manuaalisesti root cron -tiedostoa, joka sijaitsee /var/spool/cron/ -hakemistoa säätämällä polku vastaamaan PHP Server Monitor -asennushakemistoa. Luettele kaikki crontab-merkinnät käyttämällä sudo crontab -l -komentoriviä.

$ sudo nano /var/spool/cron/root

Lisää seuraava merkintä - säädä ajanjakso ja asennuspolku vastaavasti

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

Johtopäätös

Vaikka PHP Server Monitor ei ole monimutkaisempi kuin muut valvontapalvelut, kuten Nagios , Cacti tai Zabbix , se on yleensä erittäin kevyt resurssi kulutusta ja voi täyttää työn seurantaympäristönä määrittämällä lähettämään sähköposteja tai tekstiviestejä laajan SMS-yhdyskäytäväluettelon kautta, jos valvotuilla verkkosivustoilla ja palveluissa on teknisiä ongelmia tai ne ovat poissa käytöstä.

Kotisivu : PHP Server Monitor