"PHP Server Monitor" -työkalun asentaminen LEMP:llä tai LAMP Stackilla Arch Linuxissa


PHP Server Monitor on avoimen lähdekoodin web-käyttöliittymän valvontatyökalu, joka on kirjoitettu PHP:llä ja joka voi tarkistaa, ovatko palvelimesi (IP, verkkotunnukset) tai palvelusi käynnissä ja lähettää sinulle ilmoituksia sähköpostipalveluiden tai tekstiviestien kautta. jos valvotussa palvelussa tai portissa ilmeni ongelma. Se tarkistaa verkkosivustot HTTP-tilakoodin avulla, voi näyttää historiakaaviot käytettävyydestä ja latenssista ja voi käyttää kahta todennustasoa (järjestelmänvalvoja ja tavallinen käyttäjä).

Tämä opetusohjelma esittelee tavan, jolla voit asentaa PHP Server Monitorin Arch Linux -palvelinympäristöön käyttämällä Apachea palvelimena vai Nginx-verkkopalvelinta, joten voit valita sinulle parhaiten sopivan asennusprosessin.

PHP-palvelimen näytön vaatimukset

Yleisenä vaatimuksena PHP Server Monitorin asentamiselle ja asennukselle muille Linux-alustoille, palvelimellesi on asennettava seuraavat paketit.

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

Laitteistovaatimukset

Asenna PHP Server Monitor Nginxin kanssa seuraavien opetusohjelmien avulla LEMP-pinon ja Virtual Hosts -palvelimen asentamiseen Archissa.

  1. Asenna LEMP (Linux, Nginx, MySQL, PHP) Arch Linuxiin
  2. Luo Nginx Virtual Hosts Arch Linuxissa

Asenna PHP Server Monitor Apachen kanssa seuraavan oppaan avulla LAMP-pinon asentamiseen Arch Linuxiin.

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

Vaihe 1: Määritä Nginx/Apache Webserver

1. Ennen kuin aloitamme, jos asennuksessasi käytetään virtuaalista isännöintiä, sinun on varmistettava, että sinulla on kelvollinen DNS-merkintä, joka osoittaa verkkotunnukseesi, tai käytä paikallista hosts-tiedostoa, jos et sinulla ei ole DNS-palvelinta. Tässä opetusohjelmassa käytetään virtuaalista isännöintiä molemmilla verkkopalvelimilla (Nginx ja Apache), jotka on määritetty paikallisella verkkotunnuksella - phpsrvmon.lan - /etc/hosts-tiedosto.

Luo Nginx Virtual Host -määritystiedostot

2. Lisää uusi Nginx Virtual Host luomalla uusi määritystiedosto osoitteessa /etc/nginx/sites-available/ komennolla phpsrvmon.conf nimi ja käytä seuraavaa mallia kokoonpanoesimerkkinä.

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 asiakirjan juuripolku. Jos muutit sen kuten tässä muodossa /srv/www/phpsrvmon/, aktivoi molemmat virtuaaliset isännät käyttämällä n2ensite-apuohjelma ja käynnistä Nginx uudelleen muutosten huomioimiseksi.

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 verkkotunnuksesi kanssa ja muokkaa tiedostoa phpsrvmon-ssl.conf vastaavasti.

Luo Apache Virtual Host -määritystiedostot

5. Jos käytät Apachea verkkopalvelimena, luo uusi Virtual Host -määritystiedosto osoitteessa /etc/httpd/conf/sites-available/ komennolla phpsrvmon. conf nimeä 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 PHP Server Monitorin HTTPS-protokollalla, luo uusi Virtual Host SSL -määritystiedosto seuraavilla lauseilla.

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 tavalla kuin Nginxille. Jos verkkotiedostojen polku on muuttunut, aktivoi Apache Virtual Hosts a2ensite-komennolla ja käynnistä daemon uudelleen ota muutokset käyttöön.

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

Luo uusi SSL-sertifikaatti ja -avain tälle virtuaalipalvelimelle käyttämällä apache_gen_ssl-apuohjelmaa liittämällä verkkotunnuksesi varmenteen nimeen ja muokkaamalla /etc/httpd/conf/sites-available/phpsrvmon-ssl.conf -tiedostoa, korvaamalla vanhan SSL-sertifikaatin ja -avaimen polun ja nimet uusilla.

Vaihe 2: Muokkaa PHP-asetuksia

8. Joidenkin asennusvirheiden välttämiseksi PHP Server Monitor lähettää järjestelmävaatimukset tarkistaessaan avaa php.ini-tiedoston ja tee seuraavat säädöt.

sudo nano /etc/php/php.ini

Jos Nginx/Apache-asiakirjan juuripolkua on muutettu (oletus on /srv/http/), paikanna open_basedir käyttämällä [Ctrl+w] lauseke ja liitä uusi polku lisäämällä etuliite kaksoispisteellä " : " – tässä tapauksessa uusi polku on /srv/www/ – alla olevan esimerkin kaltaiseksi.

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

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

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

Paikanna aikavyöhyke ja aseta paikallinen aika käyttämällä tätä sivua.

date.timezone = Continent/City

9. Kun kaikki muutokset on tehty, käynnistä palvelusi uudelleen ottaaksesi muutokset 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 PHP Server Monitorin tietojen tallentamiseen tarvittavan tietokannan, kirjaudu MySQL/MariaDB-tietokantaan ja luo uusi tietokanta seuraavilla komennoilla (korvaa tietokanta, käyttäjä ja salasana haluamillasi valtuustiedoilla).

mysql -u root -p

MariaDB > create database phpsrvmon;
MariaDB > create user phpsrvmon_user@localhost identified by "user_password";
MariaDB > grant all privileges on phpsrvmon.* to phpsrvmon_user@localhost;
MariaDB > flush privileges;
MariaDB > quit

Jos järjestelmääsi on asennettu PhpMyAdmin, voit luoda PHP Server Monitor -tietokannan käyttämällä MySQL/MariaDB 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. Jos haluat napata uusimman PHP Server Monitor -version, siirry seuraavaan linkkiin ja lataa tar.gz-arkistotiedosto tai käytä alla olevaa virallista Git-latauslinkkiä.

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

Vaihtoehtoisesti voit myös ladata suoraan käyttämällä seuraavaa wget-komentoa.

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 Server Document Root -polkuun seuraavien komentojen avulla.

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

14. Avaa sitten selain ja siirry verkkotunnuksesi nimeen (jos käytät tässä opetusohjelmassa esitettyjä virtuaalisia isäntiä, käytä muuten palvelimesi IP-osoitetta ) ja paina tervehdyssivulla Aloitetaan-painiketta.

15. Syötä seuraavassa näytössä MySQL-tietokantasi tiedot ja napsauta Tallenna määritykset.

16. Jos saat virheilmoituksen, jonka mukaan asetustiedostoasi ei voitu kirjoittaa, luo kirjoitettava confing.php-tiedosto seuraavien komentojen avulla ja paina I ovat tallentaneet määritykset.

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

17. Kun olet tallentanut asetukset, luo PHP Server Monitorille järjestelmänvalvojan käyttäjä, joka valitsee kirjautumistietosi ja paina Asenna-painiketta.

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

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

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

20. Aloita valvontaprosessi kaikissa palvelimissa ja palveluissa painamalla Päivitä-painiketta ja sinut ohjataan oletuskotisivulle, jossa sinulle näytetään verkkosivustojesi/palveluidesi tila.

21. Jotta PHP Server Monitor voi tarkistaa palvelimesi/palvelusi tilan automaattisesti säännöllisin väliajoin, sinun on asennettava järjestelmääsi Cron-työn ajoitus ja lisättävä valvontaaika kauden merkintä cron-tiedostossa.

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

22. Jos haluat lisätä cron-tiedostoon uuden merkinnän, joka tarkistaa verkkosivustosi 5 minuutin välein, käytä sudo crontab –e -komentoa tai, mikä parempi, muokkaa manuaalisesti hakemistossa < sijaitsevaa root cron -tiedostoa. b>/var/spool/cron/-hakemistoon säätämällä polku vastaamaan PHP Server Monitor -asennushakemistoasi. Listaa kaikki crontab-merkinnät sudo crontab -l-komentorivin avulla.

sudo nano /var/spool/cron/root

Lisää seuraava merkintä – säädä ajanjaksoa ja asennuspolkua 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, sen resurssit ovat yleensä hyvin kevyitä kulutusta ja voi suorittaa tehtävän valvontaalustana konfiguroimalla lähettämään sähköpostiviestejä tai tekstiviestejä laajan SMS-yhdyskäytäväluettelon kautta, jos valvotuilla verkkosivustoillasi ja palveluissasi on teknisiä ongelmia tai ne eivät toimi.

Kotisivu: PHP Server Monitor