Installation de l'outil «PHP Server Monitor» à l'aide de la pile LEMP ou LAMP dans Arch Linux

Installation de l'outil «PHP Server Monitor» à l'aide de la pile LEMP ou LAMP dans Arch Linux

Moniteur de serveur PHP est un outil de surveillance du frontend Web open source écrit en PHP, qui peut vérifier si vos serveurs (IP, domaines) ou services sont opérationnels et peuvent vous envoyer des notifications via des services de messagerie ou des SMS si un problème s'est produit sur un service ou un port surveillé. Il vérifie les sites Web à l'aide du code d'état HTTP, peut afficher des graphiques historiques de la disponibilité et de la latence et peut utiliser deux niveaux d'authentification (administrateur et utilisateur régulier).

Installez le moniteur de serveur PHP dans Arch Linux

Ce tutoriel vous présente un moyen d'installer Moniteur de serveur PHP dans un environnement de serveur Arch Linux en utilisant si Apache En tant que serveur ou Nginx serveur Web, vous pouvez donc choisir le processus d'installation qui vous convient le mieux.

Exigences du moniteur du serveur PHP

Comme exigences générales pour installer et configurer le moniteur de serveur PHP pour toutes les autres plates-formes Linux, votre serveur a besoin des packages suivants installés.

  1. Php 5.3.7+
  2. Packages PHP: curl, mysql
  3. Base de données MySQL
  4. Serveurs Web Nginx ou Apache

Configuration requise

Pour installer PHP Server Monitor avec NGINX, utilisez les tutoriels suivants comme guides pour configurer la pile LEMP et les hôtes virtuels sur Arch.

  1. Installez lemp (Linux, Nginx, MySQL, PHP) dans Arch Linux
  2. Créer des hôtes virtuels Nginx dans Arch Linux

Pour installer PHP Server Monitor avec Apache, utilisez le guide suivant pour configurer la pile de lampe sur Arch Linux.

  1. Installez lampe (Linux, Apache, MySQL, PHP) dans Arch Linux

Étape 1: Configurer le serveur Web Nginx / Apache

1. Avant de commencer, si votre configuration utilise l'hébergement virtuel, vous devez vous assurer que vous avez une entrée DNS valide pointant vers votre domaine ou utilisez local hôtes Fichier au cas où vous n'avez pas de serveur DNS. Ce tutoriel utilise l'hébergement virtuel avec les deux serveurs Web (Nginx et Apache) configuré avec un faux domaine local faux - phpsrvmon.lan - à travers / etc / hôtes déposer.

Créer des fichiers de configuration de l'hôte virtuel Nginx

2. Pour ajouter un nouvel hôte virtuel Nginx, créez un nouveau fichier de configuration sur / etc / nginx / sites-disponible / avec phpsrvmon.confli Nom et utilisez le modèle suivant comme exemple de configuration.

$ sudo nano / etc / nginx / sites-disponible / phpsrvmon.confli

Ajouter le code suivant au phpsrvmon.confli déposer.

Server écouter 80; server_name phpsrvmon.lan; Access_log / var / log / nginx / phpsrvmon.accès LAN.enregistrer; error_log / var / log / nginx / phpsrvmon.error.enregistrer; root / srv / www / phpsrvmon; Emplacement / Index Index.index PHP.index html.htm; AutoIndex sur;  Emplacement ~ \.php $ fastcgi_pass Unix: / run / php-fpm / php-fpm.chaussette; Index FastCGI_INDEX.PHP; Inclure FastCGI.conf; 
Créer un hôte virtuel Nginx

3. Si vous souhaitez accéder à PHP Sever Monitor via le protocole HTTP sécurisé, créez son fichier de configuration équivalent SSL.

$ sudo nano / etc / nginx / sites-disponible / phpsrvmon-ssl.confli

Ajouter le code suivant au phpsrvmon-ssl.confli déposer.

Server écouter 443 SSL; server_name phpsrvmon.lan; root / srv / www / phpsrvmon; ssl_certificate / etc / nginx / ssl / nginx.CRT; ssl_certificate_key / etc / nginx / ssl / nginx.clé; ssl_session_cache partagée: ssl: 1m; ssl_session_timeout 5m; SSL_CIPHERS HIGH:!anull:!MD5; ssl_prefer_server_ciphers sur; Access_log / var / log / nginx / phpsrvmon.LAN-SSL_ACCESS.enregistrer; error_log / var / log / nginx / phpsrvmon.lan-ssl_error.enregistrer; Emplacement / Index Index.index PHP.index html.htm; AutoIndex sur;  Emplacement ~ \.php $ fastcgi_pass Unix: / run / php-fpm / php-fpm.chaussette; Index FastCGI_INDEX.PHP; Inclure FastCGI.conf; 
Créer un hôte virtuel Nginx SSL

4. Après avoir modifié les fichiers Nginx Conf, créez un chemin racine de document, au cas où vous l'avez changé comme ici / srv / www / phpsrvmon /, activer les deux hôtes virtuels en utilisant n2ensite utilité et redémarrer nginx pour refléter les changements.

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

Si vous avez besoin d'un nouveau certificat SSL pour votre hôte virtuel, générez-en un en utilisant nginx_gen_ssl commande avec votre nom de domaine et modifier phpsrvmon-ssl.confli par conséquent.

Créer des fichiers de configuration de l'hôte virtuel Apache

5. Si vous utilisez Apache comme serveur Web, créez un nouveau fichier de configuration d'hôte virtuel sur / etc / httpd / conf / sites-disponible / avec phpsrvmon.confli Nom et utilisez les définitions de fichiers suivantes comme modèle.

$ sudo nano / etc / httpd / conf / sites-disponible / phpsrvmon.confli

Ajouter le code suivant au phpsrvmon.confli déposer.

 DocumentRoot "/ srv / www / phpsrvmon" Servername phpsrvmon.LAN ServerAdmin [Email Protected] ErrorLog "/ var / log / httpd / phpsrvmon-error_log" transfertlog "/ var / log / httpd / phpsrvmon-access_log" Options + index allowerverride All Order Deny, permettre à partir de toutes les exigences toutes les accordées accordées "  
Créer un hôte virtuel Apache

6. Si vous avez également besoin d'un moniteur de serveur PHP Access sur le protocole HTTPS, créez un nouveau fichier de configuration SSL hôte virtuel avec les instructions suivantes.

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

Ajouter le code entier suivant à phpsrvmon-ssl.confli déposer.

 Servername phpsrvmon.LAN DocumentRoot "/ srv / www / phpsrvmon" ServerAdmin [Protégé par e-mail] ErrorLog "/ var / log / httpd / phpsrvmon.lan-error_log "transfertlog" / var / log / httpd / phpsrvmon.LAN-ACCESS_LOG "Sslengine sur SSLCertificateFile" / etc / httpd / conf / ssl / phpsrvmon.lan.crt "sslcertificatekeyfile" / etc / httpd / conf / ssl / phpsrvmon.lan.clé "ssloptions + stdenvvars Browsermatch" msie [2-5] "\ nokeenve ssl-unclean-shutdown \ downrad-1.0 Force-Response-1.0 CUSTUMLOG "/ var / log / httpd / ssl_request_log" \ "% t% h% ssl_protocol x% ssl_cipher x \"% r \ ""% b"" Options + index allatOverride tout le deny, permettre à tous les exigences de tous les besoins tous accordés  
Créer un hôte virtuel Apache SSL

7. À l'aide de la même procédure que pour Nginx, créez un répertoire racine de document, au cas où le chemin des fichiers Web a changé, activez les hôtes virtuels Apache en utilisant a2ensite commander et redémarrer le démon pour appliquer les modifications.

$ sudo mkdir -p / srv / www / phpsrvmon / $ sudo a2ensite phpsrvmon $ sudo a2ensite phpsrvmon-ssl $ sudo systemctl redémarrage httpd

Pour générer un nouveau certificat SSL et une clé pour cette utilisation de l'hôte virtuel apache_gen_ssl utilitaire, ajoutez votre nom de domaine sur le nom du certificat et modifiez / etc / httpd / conf / sites-disponible / phpsrvmon-ssl.confli Fichier, remplacer l'ancien certificat SSL et le chemin et les noms des clés par de nouveaux.

Étape 2: modifier les configurations PHP

8. Afin d'éviter certaines erreurs d'installation, ce moniteur de serveur PHP lancera lorsqu'il vérifiera les exigences du système ouvertes php.ini fichier et effectuer les ajustements suivants.

$ sudo nano / etc / php / php.ini

Si le chemin racine du document Nginx / Apache a été modifié (par défaut, on est / srv / http /) utiliser [Ctrl + W] pour localiser Open_Basedir Déclaration et ajoutez le nouveau chemin en préfixant avec un côlon "" : «- Dans ce cas, le nouveau chemin est / srv / www / - pour ressembler dans l'exemple ci-dessous.

open_basedir = / srv / http /: / home /: / tmp /: / usr / share / pear /:: usr / share / webapps /: / etc / webapps /: / srv / www /
Activer les modules PHP

Recherchez et activez les extensions PHP PDO, MySQLI et Curl en les décomisant (retirer le point-virgule de leur front).

extension = boucle.So Extension = Mysqli.So Extension = PDO_MYSQL.donc
Activer les extensions PHP

Localisez le fuseau horaire et définissez votre heure locale en utilisant cette page.

date.fuseau horaire = continent / ville
Réglez le fuseau horaire en php

9. Une fois que toutes les modifications sont apportées à redémarrer vos services pour appliquer les modifications.

$ sudo systemctl redémarrer php-fpm $ sudo systemctl redémarrer nginx $ sudo systemctl redémarrer httpd

Étape 3: Créez la base de données MySQL du moniteur du serveur PHP

dix. Pour créer la base de données nécessaire pour PHP Server Monitor pour stocker des informations, vous connecter à la base de données MySQL / MARIADB et créer une nouvelle base de données à l'aide des commandes suivantes (remplacer la base de données, l'utilisateur et le mot de passe par vos informations d'identification préférées).

mysql -u root -p mariaDB> Créer une base de données phpsrvmon