A "PHP Server Monitor" eszköz telepítése LEMP vagy LAMP Stack használatával Arch Linuxban
A PHP Server Monitor egy PHP nyelven írt nyílt forráskódú webes előtér-megfigyelő eszköz, amely képes ellenőrizni, hogy a szerverei (IP, tartományok) vagy szolgáltatásai működnek-e, és e-mailben vagy SMS-ben értesítéseket küldhet Önnek. ha probléma lépett fel egy felügyelt szolgáltatáson vagy porton. HTTP-állapotkód használatával ellenőrzi a webhelyeket, képes megjeleníteni az üzemidő és a késleltetés előzménydiagramjait, és két szintű hitelesítést (rendszergazdai és normál felhasználó) használhat.
Ez az oktatóanyag bemutatja a PHP Server Monitor telepítésének módját egy Arch Linux szerverkörnyezetben az Apache szerverként vagy az Nginx webszerver használatával, így kiválaszthatja az Önnek legmegfelelőbb telepítési folyamatot.
PHP Server Monitor követelmények
A PHP Server Monitor bármely más Linux platformra történő telepítésének és beállításának általános követelményeként a szerveren a következő csomagokat kell telepíteni.
- PHP 5.3.7+
- PHP csomagok: cURL, MySQL
- MySQL adatbázis
- Nginx vagy Apache webszerverek
rendszerkövetelmények
A PHP Server Monitor Nginx-szel való telepítéséhez használja a következő oktatóanyagokat útmutatóként a LEMP verem és a virtuális gazdagépek beállításához az Archon.
- Telepítse a LEMP-t (Linux, Nginx, MySQL, PHP) az Arch Linuxban
- Hozzon létre Nginx virtuális gazdagépeket az Arch Linuxban
A PHP Server Monitor Apache segítségével történő telepítéséhez használja a következő útmutatót a LAMP verem Arch Linux rendszeren történő beállításához.
- Telepítse a LAMP-ot (Linux, Apache, MySQL, PHP) az Arch Linuxban
1. lépés: Konfigurálja az Nginx/Apache webszervert
1. Mielőtt elkezdenénk, ha a telepítés virtuális tárhelyet használ, meg kell bizonyosodnia arról, hogy érvényes DNS-bejegyzése van, amely a domainre mutat, vagy használjon helyi hosts fájlt arra az esetre, ha nem nincs DNS-kiszolgálója. Ez az oktatóanyag Virtuális tárhelyet használ mindkét webszerverrel (Nginx és Apache), amelyek egy helyi hamis domainnel – phpsrvmon.lan – -ig konfigurálva /etc/hosts fájlt.
Hozzon létre Nginx Virtual Host konfigurációs fájlokat
2. Új Nginx Virtual Host hozzáadásához hozzon létre egy új konfigurációs fájlt a /etc/nginx/sites-available/ oldalon a phpsrvmon.conf segítségével. nevet, és konfigurációs példaként használja a következő sablont.
sudo nano /etc/nginx/sites-available/phpsrvmon.conf
Adja hozzá a következő kódot a phpsrvmon.conf fájlhoz.
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. Ha biztonságos HTTP protokollon keresztül szeretné elérni a PHP Sever Monitor szolgáltatást, hozza létre az SSL-vel egyenértékű konfigurációs fájlt.
sudo nano /etc/nginx/sites-available/phpsrvmon-ssl.conf
Adja hozzá a következő kódot a phpsrvmon-ssl.conf fájlhoz.
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. Az Nginx conf fájlok szerkesztése után hozzon létre dokumentum gyökérútvonalat, ha például itt /srv/www/phpsrvmon/-re módosította, aktiválja mindkét virtuális gazdagépet a n2ensite segédprogramot, és indítsa újra az Nginxet a változások tükrözéséhez.
sudo mkdir -p /srv/www/phpsrvmon/
sudo n2ensite phpsrvmon
sudo n2ensite phpsrvmon-ssl
sudo systemctl restart nginx
Ha új SSL-tanúsítványra van szüksége a virtuális gazdagéphez, hozzon létre egyet az nginx_gen_ssl paranccsal a domain nevével, és ennek megfelelően módosítsa a phpsrvmon-ssl.conf fájlt.
Hozzon létre Apache Virtual Host konfigurációs fájlokat
5. Ha az Apache-ot használja webszerverként, hozzon létre egy új Virtual Host konfigurációs fájlt a /etc/httpd/conf/sites-available/ oldalon a phpsrvmon segítségével. conf nevet, és használja a következő fájldefiníciókat sablonként.
sudo nano /etc/httpd/conf/sites-available/phpsrvmon.conf
Adja hozzá a következő kódot a phpsrvmon.conf fájlhoz.
<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. Ha szüksége van egy HTTPS-protokollon keresztül elérhető PHP Server Monitor-ra is, hozzon létre egy új Virtual Host SSL konfigurációs fájlt a következő utasításokkal.
sudo nano /etc/httpd/conf/sites-available/phpsrvmon-ssl.conf
Adja hozzá a következő teljes kódot a phpsrvmon-ssl.conf fájlhoz.
<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. Ugyanazzal az eljárással, mint az Nginx esetében, hozzon létre dokumentum gyökérkönyvtárat, ha a webfájlok kiszolgálási útvonala megváltozott, aktiválja az Apache Virtual Hosts szolgáltatást az a2ensite paranccsal, és indítsa újra a démont. módosítások elfogadása.
sudo mkdir -p /srv/www/phpsrvmon/
sudo a2ensite phpsrvmon
sudo a2ensite phpsrvmon-ssl
sudo systemctl restart httpd
Új SSL-tanúsítvány és kulcs létrehozásához ehhez a virtuális gazdagéphez használja az apache_gen_ssl segédprogramot, fűzze hozzá a domain nevét a tanúsítvány nevéhez, és módosítsa a /etc/httpd/conf/sites-available/phpsrvmon-ssl.conf fájlt. fájlt, lecserélve a régi SSL-tanúsítvány és kulcs elérési útját és neveit újakra.
2. lépés: Szerkessze a PHP konfigurációkat
8. A telepítési hibák elkerülése érdekében a PHP Server Monitor a rendszerkövetelmények ellenőrzésekor dobja a php.ini fájlt, és hajtsa végre a következő módosításokat.
sudo nano /etc/php/php.ini
Ha az Nginx/Apache dokumentum gyökérútvonala megváltozott (alapértelmezett az /srv/http/), használja a [Ctrl+w] gombot az open_basedir kereséséhez. utasítást, és fűzze hozzá az új elérési utat kettősponttal „ : ” – ebben az esetben az új elérési út /srv/www/ – az alábbi példában látható módon.
open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:/etc/webapps/:/srv/www/
Keresse meg és engedélyezze a PHP pdo, mysqli és curl kiterjesztéseket úgy, hogy törölje a megjegyzéseket (távolítsa el a pontosvesszőt előlük).
extension=curl.so
extension=mysqli.so
extension=pdo_mysql.so
Keresse meg az időzónát, és állítsa be a helyi időt ezen az oldalon.
date.timezone = Continent/City
9. Az összes módosítás után indítsa újra a szolgáltatásokat a módosítások alkalmazásához.
sudo systemctl restart php-fpm
sudo systemctl restart nginx
sudo systemctl restart httpd
3. lépés: Hozzon létre PHP Server Monitor MySQL adatbázist
10. A PHP Server Monitor számára az információk tárolásához szükséges adatbázis létrehozásához jelentkezzen be a MySQL/MariaDB adatbázisba, és hozzon létre egy új adatbázist a következő parancsokkal (az adatbázist, a felhasználót és a jelszót cserélje ki a kívánt hitelesítő adatokra).
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
Ha a rendszerén telepítve van a PhpMyAdmin, akkor létrehozhat PHP Server Monitor adatbázist, ha eléri a MySQL/MariaDB webes felületéről.
4. lépés: Telepítse a PHP Server Monitort
11. Mielőtt folytatná a PHP Server Monitor eszköz letöltését, győződjön meg arról, hogy telepítette a wget parancsot.
sudo pacman -S wget
12. A PHP Server Monitor legújabb verziójának letöltéséhez lépjen a következő linkre, és töltse le a tar.gz archív fájlt, vagy használja az alább található hivatalos Git letöltési linket.
- http://www.phpservermonitor.org/download/
- https://github.com/phpservermon/phpservermon
Alternatív megoldásként közvetlenül is letöltheti a következő wget paranccsal.
wget http://downloads.sourceforge.net/project/phpservermon/phpservermon/PHP%20Server%20Monitor%20v3.0.1/phpservermon-v3.0.1.tar.gz
13. A legújabb verzió letöltése után csomagolja ki a tar paranccsal, és a következő parancsokkal másolja az összes kibontott tartalmat a webszerver dokumentum gyökérútvonalába.
tar xfvz phpservermon-v3.0.1.tar.gz
sudo cp -r phpservermon/* /srv/www/phpsrvmon/
14. Ezután nyissa meg a böngészőt, és navigáljon a domain nevéhez (ha virtuális gazdagépeket használ az oktatóanyagban leírtak szerint, ellenkező esetben használja a szerver IP-címét ), majd az üdvözlő oldalon nyomja meg az Indulás gombot.
15. A következő képernyőn adja meg a MySQL adatbázis adatait, és kattintson a Konfiguráció mentése gombra.
16. Ha olyan hibaüzenetet kap, amely szerint a konfigurációs fájl nem írható, használja a következő parancsokat egy írható confing.php fájl létrehozásához, és nyomja meg az I elmentették a konfigurációt.
su -c “> /srv/www/phpsrvmon/config.php”
sudo chmod 777 /srv/www/phpsrvmon/config.php
17. A konfiguráció mentése után hozzon létre egy adminisztrátori felhasználót a PHP Server Monitor számára, válassza ki a hitelesítő adatait, és nyomja meg a Telepítés gombot.
18. A telepítési folyamat befejezése után nyomja meg a Ugrás a monitorhoz gombot, és a rendszer átirányítja a Bejelentkezés oldalra. Jelentkezzen be hitelesítő adataival, és a rendszer felkéri az alapértelmezett PHP Server Monitor oldalra. A PHP Server Monitor config.php fájl módosításainak visszaállítása is.
sudo chmod 754 /srv/www/phpsrvmon/config.php
19. Ha új webhelyet szeretne hozzáadni a megfigyeléshez, lépjen a Szerverek -> Új hozzáadása menüpontra, töltse ki a szükséges mezőket a szerverbeállításokkal, és nyomja meg a Mentés gombot.
20. Az összes szerver és szolgáltatás megfigyelési folyamatának elindításához nyomja meg a Frissítés gombot, és a rendszer átirányítja az alapértelmezett kezdőlapra, ahol megjelenik webhelyei/szolgáltatásai állapota.
21. Ahhoz, hogy a PHP Server Monitor rendszeres időközönként automatikusan ellenőrizhesse a szerverek/szolgáltatások állapotát, telepítenie kell egy Cron feladatütemezőt a rendszerére, és meg kell adnia egy megfigyelési időt. időszak bejegyzés egy cron fájlban.
sudo pacman -S cronie
sudo systemctl start cronie
sudo systemctl enable cronie
22. Ha új bejegyzést szeretne hozzáadni a cron fájlhoz, amely 5 percenként ellenőrzi webhelyét, használja a sudo crontab –e parancsot, vagy jobb, ha manuálisan szerkessze a gyökér cron fájlt, amely a következő helyen található. b>/var/spool/cron/ könyvtárba úgy, hogy az elérési utat úgy állítja be, hogy az megfeleljen a PHP Server Monitor telepítési könyvtárának. Az összes crontab bejegyzés felsorolásához használja a sudo crontab -l parancssort.
sudo nano /var/spool/cron/root
Adja hozzá a következő bejegyzést – ennek megfelelően állítsa be az időtartamot és a telepítési útvonalat
*/5 * * * * /usr/bin/php /srv/www/phpsrvmon/cron/status.cron.php
Következtetés
Bár a PHP Server Monitor nem válik bonyolultabbá, mint más megfigyelési szolgáltatások, például a Nagios, a Cacti vagy a Zabbix, általában nagyon kevés erőforrást használ. fogyasztást, és teljesítheti a felügyeleti platform feladatát azáltal, hogy beállítja, hogy e-maileket vagy szöveges SMS-eket küldjön egy hatalmas SMS-átjárólistán keresztül, ha a felügyelt webhelyek és szolgáltatások technikai problémákba ütköznek vagy nem működnek.
Kezdőlap: PHP Server Monitor