Installéiere vum PHP Server Monitor Tool mat LEMP oder LAMP Stack am Arch Linux
PHP Server Monitor ass en Open Source Web Frontend Iwwerwachungsinstrument geschriwwen a PHP, dat verifizéiere kann ob Är Serveren (IP, Domains) oder Servicer op a lafen sinn a kann Iech Notifikatiounen iwwer Mail Servicer oder SMS schécken wann e Problem op engem iwwerwaachte Service oder port geschitt ass. Et iwwerpréift Websäite mat HTTP-Statuscode, kann Geschichtsgrafiken vun Uptime a Latenz affichéieren a kann zwee Authentifikatiounsniveauen benotzen (Administrator a regelméisseg Benotzer).
Dësen Tutorial präsentéiert Iech e Wee wéi Dir PHP Server Monitor an engem Arch Linux Server Ëmfeld installéiere kënnt, ob Apache als Server oder Nginx Webserver benotzt, sou, Dir kënnt d'Installatioun Prozess wielen dass beschte passt Dir.
Als allgemeng Ufuerderunge fir PHP Server Monitor fir all aner Linux Plattformen z'installéieren an opzestellen, brauch Dir Server déi folgend Packagen installéiert.
- PHP 5.3.7+
- PHP Packagen: cURL, MySQL
- MySQL Datebank
- Nginx oder Apache Webserver
Fir PHP Server Monitor mat Nginx z'installéieren benotzt déi folgend Tutorials als Guiden fir LEMP Stack a Virtual Hosts op Arch opzestellen.
- Install LEMP (Linux, Nginx, MySQL, PHP) an Arch Linux
- Erstellt Nginx Virtual Hosts am Arch Linux
Fir PHP Server Monitor mat Apache z'installéieren benotzt de folgende Guide fir de LAMP Stack op Arch Linux opzestellen.
- LAMP (Linux, Apache, MySQL, PHP) an Arch Linux installéieren
Schrëtt 1: Nginx/Apache Webserver konfiguréieren
1. Ier mer ufänken, wann Äre Setup Virtual Hosting benotzt, musst Dir sécher sinn datt Dir gëlteg DNS-Entrée op Är Domain weist oder lokal Hosts Datei benotzt am Fall wou Dir keen DNS-Server hutt. Dësen Tutorial benotzt Virtual Hosting mat béide Webserver (Nginx an Apache) konfiguréiert mat engem lokalen Domain gefälschte - phpsrvmon.lan - duerch /etc/hosts Datei.
2. Fir en neien Nginx Virtual Host derbäi ze ginn, erstellt eng nei Konfiguratiounsdatei op /etc/nginx/sites-available/ mam phpsrvmon.conf Numm a benotzt déi folgend Schabloun als engem Configuratioun Beispill.
$ sudo nano /etc/nginx/sites-available/phpsrvmon.conf
Füügt de folgende Code an d'phpsrvmon.conf Datei.
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. Wann Dir Zougang zu PHP Sever Monitor iwwer sécher HTTP-Protokoll wëllt, erstellt seng SSL-gläichwäerteg Konfiguratiounsdatei.
$ sudo nano /etc/nginx/sites-available/phpsrvmon-ssl.conf
Füügt de folgende Code an d'phpsrvmon-ssl.conf Datei.
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. Nodeems Dir Nginx conf Dateien geännert hutt, erstellt de Dokument Root Wee, am Fall wou Dir et geännert hutt wéi hei op /srv/www/phpsrvmon/, aktivéiert béid virtuell Hosten mat der n2ensite Utility a restart Nginx fir Ännerungen ze reflektéieren.
$ sudo mkdir -p /srv/www/phpsrvmon/ $ sudo n2ensite phpsrvmon $ sudo n2ensite phpsrvmon-ssl $ sudo systemctl restart nginx
Wann Dir en neien SSL Zertifika fir Äre Virtuelle Host erfuerdert, generéiert een mam Kommando nginx_gen_ssl mat Ärem Domain Numm an ännert phpsrvmon-ssl.conf deementspriechend.
5. Wann Dir Apache als Webserver benotzt, erstellt eng nei Virtuell Host Konfiguratiounsdatei op /etc/httpd/conf/sites-available/ mam phpsrvmon.conf Numm an benotzt déi folgend Dateidefinitioune als Schabloun.
$ sudo nano /etc/httpd/conf/sites-available/phpsrvmon.conf
Füügt de folgende Code an d'phpsrvmon.conf Datei.
<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. Wann Dir och en Zougang PHP Server Monitor op HTTPS Protokoll braucht, erstellt eng nei Virtual Host SSL Konfiguratiounsdatei mat de folgenden Aussoen.
$ sudo nano /etc/httpd/conf/sites-available/phpsrvmon-ssl.conf
Füügt de folgende ganze Code op phpsrvmon-ssl.conf Datei.
<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. Mat der selwechter Prozedur wéi fir Nginx, erstellt Dokument Root Verzeechnes, am Fall wou d'Webdateien servéiert Wee geännert hunn, aktivéiert Apache Virtual Hosts benotzt a2ensite Kommando an Neistart Daemon fir Ännerungen z'applizéieren.
$ sudo mkdir -p /srv/www/phpsrvmon/ $ sudo a2ensite phpsrvmon $ sudo a2ensite phpsrvmon-ssl $ sudo systemctl restart httpd
Fir nei SSL Zertifikat a Schlëssel fir dëse virtuelle Host ze generéieren benotzt apache_gen_ssl Utility, füügt Ären Domain Numm op den Zertifikatnumm an a ännert /etc/httpd/conf/sites-available/phpsrvmon-ssl.conf Datei, ersetzt al SSL Zertifikat a Schlësselwee an Nimm mat neien.
Schrëtt 2: PHP Konfiguratiounen änneren
8. Fir e puer Installatiounsfehler ze vermeiden, wäert de PHP Server Monitor werfen wann et d'Systemfuerderunge verifizéiert, op php.ini Datei opmaachen an déi folgend Upassungen maachen.
$ sudo nano /etc/php/php.ini
Wann den Nginx/Apache Document Root Wee geännert gouf (Standard een ass /srv/http/) benotzt [Ctrl+w] fir open_basedir ze fannen Ausso an fügen den neie Wee un andeems Dir mat engem Colon \ : \ prefixéiert - an dësem Fall ass den neie Wee /srv/www/ - fir ze kucken wéi am Beispill ënnendrënner.
open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:/etc/webapps/:/srv/www/
Sicht an aktivéiert PHP pdo, mysqli a Curl Extensiounen andeems se se net kommentéieren (entfernt Semikolon vun hirer Front).
extension=curl.so extension=mysqli.so extension=pdo_mysql.so
Situéiert Zäitzone a stellt Är lokal Zäit wéi Dir Dës Säit benotzt.
date.timezone = Continent/City
9. Nodeems all Ännerungen gemaach gi Restart Är Servicer fir Ännerungen ze gëllen.
$ sudo systemctl restart php-fpm $ sudo systemctl restart nginx $ sudo systemctl restart httpd
Schrëtt 3: PHP Server Monitor MySQL Datebank erstellen
10. Fir d'Datebank ze kreéieren déi néideg ass fir PHP Server Monitor fir Informatioun ze späicheren, loggt Iech op d'MySQL/MariaDB Datebank an erstellt eng nei Datebank mat de folgende Kommandoen (ersetzt d'Datebank, Benotzer a Passwuert mat Äre bevorzugten Umeldungsinformatiounen).
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
Wann Dir PhpMyAdmin op Ärem System installéiert hutt, kënnt Dir PHP Server Monitor Datebank erstellen andeems Dir op MySQL/MariaDB vu senger Webinterface zougitt.
Schrëtt 4: PHP Server Monitor installéieren
11. Ier Dir weider mam PHP Server Monitor Tool eroflueden, gitt sécher datt Dir wget Kommando installéiert hutt.
$ sudo pacman -S wget
12. Fir déi lescht PHP Server Monitor Versioun ze gräifen, gitt op de folgende Link a luet tar.gz Archivdatei erof oder benotzt den offiziellen Git Download Link hei ënnen.
- http://www.phpservermonitor.org/download/
- https://github.com/phpservermon/phpservermon
Alternativ kënnt Dir och direkt eroflueden mat dem folgenden wget Kommando.
$ wget http://downloads.sourceforge.net/project/phpservermon/phpservermon/PHP%20Server%20Monitor%20v3.0.1/phpservermon-v3.0.1.tar.gz
13. Nodeems Dir déi lescht Versioun erofgelueden hutt, extrahéiert se mat tar Kommando a kopéiert all extrahéierten Inhalt op Web Server Dokument Root Wee mat de folgende Kommandoen.
$ tar xfvz phpservermon-v3.0.1.tar.gz $ sudo cp -r phpservermon/* /srv/www/phpsrvmon/
14. Dann öffnen e Browser a navigéiert op Ären Domain Numm (am Fall wou Dir virtuelle Hosten benotzt wéi Dir an dësem Tutorial presentéiert, soss benotzt Är Server IP Adress ) an op der Begréissungssäit klickt op Let's go button.
15. Op den nächsten Écran gitt Är MySQL Datebank Informatioun a klickt op Konfiguratioun späicheren.
16. Wann Dir e Feeler kritt deen seet datt Är Konfiguratiounsdatei net geschriwwe ka ginn, benotzt déi folgend Kommandoen fir eng schreiwenbar confing.php Datei ze kreéieren a klickt op Ech hunn d'Konfiguratioun gespäichert.
$ su -c “> /srv/www/phpsrvmon/config.php” $ sudo chmod 777 /srv/www/phpsrvmon/config.php
17. Nodeems Dir d'Konfiguratioun gespäichert hutt, erstellt en Administrateur Benotzer fir PHP Server Monitor, wielt Är Umeldungsinformatiounen a klickt op Installéieren Knäppchen.
18. Nodeems d'Installatiounsprozess fäerdeg ass, dréckt op Gitt op Äre Monitor Knäppchen an Dir wäert op Login Säit ëmgeleet ginn. Login mat Äre Umeldungsinformatiounen an Dir wäert op Standard PHP Server Monitor Säit opgefuerdert ginn. Och Ännerungen op PHP Server Monitor config.php Datei zrécksetzen.
$ sudo chmod 754 /srv/www/phpsrvmon/config.php
19. Fir eng nei Websäit fir d'Iwwerwaachung ze addéieren, gitt op Server -> Füügt nei, fëllt erfuerderlech Felder mat Äre Serverastellungen aus a dréckt op Späicheren Knäppchen .
20. Fir d'Iwwerwaachungsprozess op all Server a Servicer ze starten, dréckt Update Knäppchen an Dir wäert op d'Standard-Homepage ëmgeleet ginn, wou Dir mat Äre Websäiten/Servicerstatus presentéiert gëtt.
21. Fir datt PHP Server Monitor automatesch Är Serveren/Servicer Status a reegelméissegen Zäitintervaller iwwerpréift, musst Dir e Cron Job Scheduler op Ärem System installéieren an eng Iwwerwaachungszäitperiodentrée an enger Cron Datei derbäi.
$ sudo pacman -S cronie $ sudo systemctl start cronie $ sudo systemctl enable cronie
22. Fir en neien Entrée an der Cron-Datei ze addéieren, déi Är Websäit all 5-Minuten iwwerpréift, benotzt sudo crontab –e Kommando, oder, besser, manuell d'Root-Cron-Datei an /var/spool/ änneren. cron/ Verzeichnis andeems Dir de Wee unzepassen fir Äre PHP Server Monitor Installatiounsverzeechnes ze passen. Fir all crontab Entréen ze lëschten benotzt sudo crontab -l Kommandozeil.
$ sudo nano /var/spool/cron/root
Füügt déi folgend Entrée - d'Zäitperiod an d'Installatiounswee entspriechend unzepassen
*/5 * * * * /usr/bin/php /srv/www/phpsrvmon/cron/status.cron.php
Conclusioun
Och wann PHP Server Monitor net an der Komplexitéit eropgeet wéi aner Iwwerwaachungsservicer wéi Nagios, Cacti oder Zabbix, tendéiert et ganz liicht an der Ressource ze sinn Konsum a kann d'Aarbecht als Iwwerwaachungsplattform erfëllen andeems Dir E-Mailen oder SMSen duerch eng grouss SMS Gateway-Lëscht konfiguréiert konfiguréiert, am Fall wou Är iwwerwaachte Websäiten a Servicer technesch Probleemer stoussen oder erof sinn.
Homepage: PHP Server Monitor