Instalowanie narzędzia „Monitor serwera PHP” za pomocą stosu LEMP lub lampy w Arch Linux

Instalowanie narzędzia „Monitor serwera PHP” za pomocą stosu LEMP lub lampy w Arch Linux

Monitor serwera PHP jest narzędziem monitorowania frontend open source napisanych w PHP, które może sprawdzić, czy Twoje serwery (IP, domeny) lub usługi są uruchomione i może wysyłać powiadomienia za pośrednictwem usług pocztowych lub SMS, jeśli wystąpił problem w monitorowanej usłudze lub porcie. Sprawdza strony internetowe za pomocą kodu stanu HTTP, może wyświetlać wykresy historii czasu aktualizacji i opóźnienia oraz może używać dwóch poziomów uwierzytelnienia (administrator i zwykły użytkownik).

Zainstaluj monitor serwera PHP w Arch Linux

Ten samouczek przedstawia sposób zainstalowania Monitor serwera PHP w środowisku serwera Arch Linux za pomocą tego, czy Apache Jako serwer lub Nginx serwer WWW, więc możesz wybrać proces instalacji, który najlepiej Ci odpowiada.

Wymagania dotyczące monitorowania serwera PHP

Jako ogólne wymagania dotyczące instalacji i konfigurowania monitora serwera PHP dla dowolnych innych platform Linux, serwer potrzebuje następujących zainstalowanych pakietów.

  1. PHP 5.3.7+
  2. Pakiety PHP: Curl, MySQL
  3. Baza danych MySQL
  4. Serwery internetowe Nginx lub Apache

wymagania systemowe

Aby zainstalować monitor serwera PHP z Nginx, użyj następujących samouczków jako przewodników do konfigurowania stosu LEMP i wirtualnych hostów na Arch.

  1. Zainstaluj LEMP (Linux, Nginx, MySQL, PHP) w Arch Linux
  2. Utwórz wirtualne hosty Nginx w Arch Linux

Aby zainstalować monitor serwera PHP z Apache, użyj następującego przewodnika, aby skonfigurować stos lampy na Arch Linux.

  1. Zainstaluj lampę (Linux, Apache, MySQL, PHP) w Arch Linux

Krok 1: Skonfiguruj Webserver Nginx/Apache

1. Zanim zaczniemy, jeśli Twoja konfiguracja używa wirtualnego hostingu, musisz zapewnić, że masz prawidłowe wejście DNS wskazujące na domenę lub używać lokalnych zastępy niebieskie plik w przypadku, gdy nie masz serwera DNS. Ten samouczek wykorzystuje wirtualne hosting z obiema serwerami internetowymi (Nginx I Apache) skonfigurowane z fałszywą domeny lokalnej - phpsrvmon.Lan - Poprzez /etc/hosts plik.

Utwórz wirtualne pliki konfiguracji hosta Nginx

2. Aby dodać nowy wirtualny host Nginx, utwórz nowy plik konfiguracyjny /etc/nginx/witryny-dostępny/ z phpsrvmon.conf Nazwij i użyj następującego szablonu jako przykładu konfiguracji.

$ sudo nano/etc/nginx/witryny-dostępne/phpsrvmon.conf

Dodaj następujący kod do phpsrvmon.conf plik.

serwer Słuchaj 80; Server_name phpsrvmon.Lan; access_log/var/log/nginx/phpsrvmon.Lan-Access.dziennik; error_log/var/log/nginx/phpsrvmon.Lan-error.dziennik; root/srv/www/phpsrvmon; lokalizacja / indeks indeksu.Wskaźnik PHP.Indeks HTML.HTM; autoindex on;  Lokalizacja ~ \.php $ fastcgi_pass unix:/run/php-fpm/php-fpm.skarpetka; indeks fastcgi_index.php; Dołącz FastCGI.conf; 
Utwórz wirtualny host Nginx

3. Jeśli chcesz uzyskać dostęp do monitora pHP za pomocą bezpiecznego protokołu HTTP, utwórz jego równoważny plik konfiguracyjny SSL.

$ sudo nano/etc/nginx/witryny-dostępne/phpsrvmon-ssl.conf

Dodaj następujący kod do phpsrvmon-ssl.conf plik.

serwer Słuchaj 443 SSL; Server_name phpsrvmon.Lan; root/srv/www/phpsrvmon; SSL_Certificate/etc/nginx/ssl/nginx.crt; SSL_Certificate_Key/etc/nginx/ssl/nginx.klucz; SSL_SESSION_CACHE SHARED: SSL: 1M; ssl_session_timeout 5m; SSL_CIPHERS WYSOKI:!anull:!MD5; ssl_prefer_server_ciphers on; access_log/var/log/nginx/phpsrvmon.LAN-SSL_ACCESS.dziennik; error_log/var/log/nginx/phpsrvmon.LAN-SSL_ERROR.dziennik; lokalizacja / indeks indeksu.Wskaźnik PHP.Indeks HTML.HTM; autoindex on;  Lokalizacja ~ \.php $ fastcgi_pass unix:/run/php-fpm/php-fpm.skarpetka; indeks fastcgi_index.php; Dołącz FastCGI.conf; 
Utwórz wirtualny host Nginx SSL

4. Po edytowaniu plików Nginx Config /srv/www/phpsrvmon/, aktywuj oba wirtualne hosty za pomocą n2ensite użyteczność i ponowne uruchomienie nginx w celu odzwierciedlenia zmian.

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

Jeśli potrzebujesz nowego certyfikatu SSL dla swojego hosta wirtualnego, wygeneruj jednego za pomocą nginx_gen_ssl Poleć swoją nazwą domeny i zmodyfikuj phpsrvmon-ssl.conf odpowiednio.

Utwórz pliki konfiguracji hosta wirtualnego Apache

5. Jeśli używasz Apache jako serwera WWW, utwórz nowy wirtualny plik konfiguracji hosta /etc/httpd/conf/witryny-dostępny/ z phpsrvmon.conf Nazwij i użyj następujących definicji plików jako szablonu.

$ sudo nano/etc/httpd/conf/witryny-dostępny/phpsrvmon.conf

Dodaj następujący kod do phpsrvmon.conf plik.

 DocumentRoot "/srv/www/phpsrvmon" Servername phpsrvmon.LAN SERVERADMIN [e-mail chroniony] errorLog "/var/log/httpd/phpsrvmon-error_log" transferlog "/var/log/httpd/phpsrvmon-access_log" Opcje +indeksy Zaufanie ZAMÓWIENIA  
Utwórz wirtualny host Apache

6. Jeśli również potrzebujesz monitor serwera PHP dostępu do protokołu HTTPS, utwórz nowy wirtualny plik konfiguracyjny hosta SSL z następującymi instrukcjami.

$ sudo nano/etc/httpd/conf/witryny-dostępny/phpsrvmon-ssl.conf

Dodaj następującą cały kod do phpsrvmon-ssl.conf plik.

 Servername phpsrvmon.Lan DocumentRoot "/srv/www/phpsrvmon" ServerAdmin [e -mail chroniony] errorLog "/var/log/httpd/phpsrvmon.LAN-ERROR_LOG „Transferlog”/var/log/httpd/phpsrvmon.Lan-Access_log "SSLENGINE na SSLCERTificateFile"/etc/httpd/conf/ssl/phpsrvmon.Lan.crt "sslcertificateKeyeKile"/etc/httpd/conf/ssl/phpsrvmon.Lan.Klucz „Ssloptions +Stdenvvars Browsmatch” MSIE [2-5] ”\ NOKEEPALIVE SSL-UNCLEAN-SHUTDOWN \ Downgrade-1.0 siły-odpowiedź-1.0 CustomLog "/var/log/httpd/ssl_request_log" \ " %t %h %ssl_protocol x %ssl_cipher x \" %r \ "" %b"" opcje +indeksy zezwolenia Wszystkie przyznane  
Utwórz wirtualny host Apache SSL

7. Korzystając z tej samej procedury, co w przypadku Nginx, utwórz katalog główny dokumentu, w przypadku, gdy zmieniła się ścieżka obsługiwana przez pliki internetowe, aktywuj hosty wirtualne Apache za pomocą A2ENSITE polecenie i ponowne uruchom demona, aby zastosować zmiany.

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

Aby wygenerować nowy certyfikat SSL i klucz do tego wirtualnego użytku hosta apache_gen_ssl narzędzie, dołącz nazwę domeny do nazwy certyfikatu i zmodyfikuj /etc/httpd/conf/sitees-dostępny/phpsrvmon-ssl.conf Plik, zastąpienie starego certyfikatu SSL oraz kluczowych ścieżek i nazwami nowymi.

Krok 2: Edytuj konfiguracje PHP

8. Aby uniknąć niektórych błędów instalacji, ten monitor serwera PHP rzuci się po otwarciu wymagań systemowych php.ini złożyć i dokonaj następujących korekty.

$ sudo nano/etc/php/php.ini

Jeśli zmieniono ścieżkę główną dokumentu nginx/apache (domyślna jest jedna /srv/http/) używać [Ctrl+W] zlokalizować Open_Basedir Oświadczenie i dołącz nową ścieżkę, prefiksem z okrężnicą ” : „ - W tym przypadku nowa ścieżka jest /srv/www/ - wyglądać w poniższym przykładzie.

open_basedir =/srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/shareps/:/etc/webapps/:/srv/www/
Włącz moduły PHP

Wyszukaj i włącz PHP PDO, MySQLI i Curl Extensions, odkształcając je (usuń Semicolon z przodu).

rozszerzenie = curl.So Extension = Mysqli.So Extension = pdo_mysql.Więc
Włącz rozszerzenia PHP

Znajdź stref czasu i ustaw czas lokalny jako za pomocą tej strony.

data.strefa czasowa = kontynent/miasto
Ustaw stref czasu w PHP

9. Po dokonaniu wszystkich zmian uruchom ponownie Twoje usługi, aby zastosować zmiany.

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

Krok 3: Utwórz bazę danych Mysql Monitor Server Monitor

10. Aby utworzyć bazę danych potrzebną do monitorowania serwera PHP do przechowywania informacji, zaloguj się do bazy danych MySQL/MARIADB i utwórz nową bazę danych za pomocą następujących poleceń (zastąp bazę danych, użytkownika i hasło preferowanymi poświadczeniami).

mysql -u root -p mariadb> Utwórz bazę danych phpsrvmon