Fifi sori “Ọpa Olupin olupin PHP” Ọpa nipa lilo LEMP tabi LAMP Stack ni Arch Linux


Olupin Server PHP jẹ irinṣẹ ibojuwo iwaju wẹẹbu Open Source ti a kọ sinu PHP, ti o le ṣayẹwo boya awọn olupin rẹ (IP, awọn ibugbe) tabi awọn iṣẹ wa ni ṣiṣe ati pe o le fi awọn iwifunni ranṣẹ si ọ nipasẹ awọn iṣẹ meeli tabi SMS ti iṣoro kan ba waye lori iṣẹ abojuto tabi ibudo. O ṣayẹwo awọn oju opo wẹẹbu nipa lilo koodu ipo HTTP, le ṣe afihan awọn aworan itan ti akoko ati aisimi ati pe o le lo awọn ipele meji ti ijẹrisi (olutọju ati olumulo deede).

Itọsọna yii ṣafihan fun ọ ọna kan ti o le fi sori ẹrọ PHP Oluyẹwo Server ni agbegbe olupin Arch Linux nipa lilo boya Apache bi olupin tabi Nginx olupin wẹẹbu, nitorina, o le yan ilana fifi sori ẹrọ ti o dara julọ fun ọ.

Gẹgẹbi awọn ibeere gbogbogbo lati fi sori ẹrọ ati iṣeto Eto Atẹle Server PHP fun eyikeyi awọn iru ẹrọ Linux miiran, iwọ olupin nilo awọn idii atẹle ti a fi sii.

  1. PHP 5.3.7+
  2. Awọn idii PHP: cURL, MySQL
  3. Ibi ipamọ data MySQL
  4. Nginx tabi awọn olupin ayelujara Apache

Lati fi sori ẹrọ Olupin Server PHP pẹlu Nginx lo awọn itọnisọna wọnyi bi awọn itọsọna si ipilẹ LEMP ati Awọn alejo gbigba foju lori Arch.

  1. Fi sori ẹrọ LEMP (Linux, Nginx, MySQL, PHP) ni Arch Linux
  2. Ṣẹda Awọn alejo gbigba Nginx ni Arch Linux

Lati fi sori ẹrọ Olupin Server PHP pẹlu Apache lo itọsọna atẹle si tito LAMP ipilẹ lori Arch Linux.

  1. Fi atupa sii (Lainos, Apache, MySQL, PHP) ni Arch Linux

Igbesẹ 1: Tunto Nginx/Apache Webserver

1. Ṣaaju ki a to bẹrẹ, ti iṣeto rẹ ba lo Alejo gbigba o nilo lati rii daju pe o ni titẹsi titẹsi DNS ti o tọka si agbegbe rẹ tabi lo agbegbe ogun faili ti o ko ba ni olupin DNS kan. Itọsọna yii lo Alejo gbigba Foju pẹlu awọn olupin wẹẹbu mejeeji ( Nginx ati Apache ) tunto pẹlu iro aye agbegbe kan - phpsrvmon.lan - nipasẹ /ati be be lo/ogun faili.

2. Lati ṣafikun Gbalejo foju foju Nginx tuntun, ṣẹda faili iṣeto tuntun lori /etc/nginx/sites-available/ pẹlu orukọ phpsrvmon.conf ki o lo awoṣe atẹle bi apẹẹrẹ iṣeto kan.

$ sudo nano /etc/nginx/sites-available/phpsrvmon.conf

Ṣafikun koodu atẹle si faili phpsrvmon.conf .

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. Ti o ba fẹ lati wọle si PHP Sever Monitor nipasẹ ilana HTTP to ni aabo, ṣẹda faili iṣeto SSL deede rẹ.

$ sudo nano /etc/nginx/sites-available/phpsrvmon-ssl.conf

Ṣafikun koodu atẹle si faili phpsrvmon-ssl.conf .

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. Lẹhin ṣiṣatunkọ awọn faili Nginx conf, ṣẹda ọna gbongbo Iwe, ni idi ti o yi pada bi nibi si /srv/www/phpsrvmon/, mu awọn agbalejo foju mejeeji ṣiṣẹ nipa lilo iwulo n2ensite ki o tun bẹrẹ Nginx lati ṣe afihan awọn ayipada.

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

Ti o ba beere fun ijẹrisi SSL tuntun fun Ile-iṣẹ Gbalejo rẹ, ṣe ina ọkan nipa lilo pipaṣẹ nginx_gen_ssl pẹlu orukọ ibugbe rẹ ki o ṣe atunṣe phpsrvmon-ssl.conf ni ibamu.

5. Ti o ba lo Apache bi olupin ayelujara kan, ṣẹda faili iṣeto iṣeto ti Virtual Host tuntun lori /etc/httpd/conf/ojula-wa/ pẹlu orukọ phpsrvmon.conf ati lo awọn itumọ faili atẹle bi awoṣe.

$ sudo nano /etc/httpd/conf/sites-available/phpsrvmon.conf

Ṣafikun koodu atẹle si faili phpsrvmon.conf .

<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. Ti iwọ, bakanna, nilo iraye si Olupin Server Server lori ilana HTTPS, ṣẹda faili iṣeto iṣeto ti Ile-iṣẹ Gbalejo tuntun ti Virtual pẹlu awọn alaye atẹle.

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

Ṣafikun atẹle gbogbo koodu si faili phpsrvmon-ssl.conf .

<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. Lilo ilana kanna bii fun Nginx, ṣẹda itọsọna Gbongbo Iwe, ni idi ti awọn faili wẹẹbu ti o wa ni ọna ti yipada, mu Awọn ile-iṣẹ foju Apache ṣiṣẹ ni lilo a2ensite pipaṣẹ ki o tun bẹrẹ daemon lati lo awọn ayipada.

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

Lati ṣe ijẹrisi SSL tuntun ati Kokoro fun lilo Ile-iṣẹ foju yii apache_gen_ssl anfani, ṣafikun orukọ ibugbe rẹ lori orukọ Ijẹrisi ki o ṣe atunṣe /etc/httpd/conf/sites-available/phpsrvmon-ssl.conf faili, rirọpo SSL ijẹrisi atijọ ati ọna Bọtini ati awọn orukọ pẹlu awọn tuntun.

Igbesẹ 2: Ṣatunkọ awọn atunto PHP

8. Lati yago fun diẹ ninu awọn aṣiṣe fifi sori ẹrọ, pe Olupin Server PHP yoo jabọ nigbati o ba ṣayẹwo awọn ibeere eto ṣii php.ini faili ki o ṣe awọn atunṣe wọnyi.

$ sudo nano /etc/php/php.ini

Ti ọna Gbongbo Iwe-ipamọ Nginx/Apache ti yipada (aiyipada ọkan ni /srv/http/) lo [Ctrl + w] lati wa open_basedir gbólóhùn ki o fi ọna kun ọna tuntun nipa ṣiṣaaju pẹlu oluṣafihan\": \" - ninu idi eyi ọna tuntun ni /srv/www/ - lati jọ ni apẹẹrẹ ni isalẹ.

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

Wa ki o mu PHD pdo ṣiṣẹ, mysqli ati awọn amugbooro ọmọ-ọwọ nipasẹ ṣiṣi wọn (yọ semicolon kuro niwaju wọn).

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

Wa agbegbe aago ki o ṣeto akoko agbegbe rẹ bi lilo Oju-iwe yii.

date.timezone = Continent/City

9. Lẹhin ti gbogbo awọn ayipada ti tun bẹrẹ awọn iṣẹ rẹ lati lo awọn ayipada.

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

Igbesẹ 3: Ṣẹda PHP Server Monitor MySQL Database

10. Lati ṣẹda ibi ipamọ data ti o nilo fun Alabojuto olupin PHP lati tọju alaye, buwolu wọle si ibi ipamọ data MySQL/MariaDB ki o ṣẹda ipilẹ data tuntun nipa lilo awọn ofin wọnyi (rọpo ibi ipamọ data, olumulo ati ọrọ igbaniwọle pẹlu awọn iwe eri ti o fẹ).

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

Ti o ba ni fifi sori ẹrọ PhpMyAdmin lori eto rẹ o le ṣẹda ibi ipamọ data Olupin PHP Server nipa iraye si MySQL/MariaDB lati oju opo wẹẹbu rẹ.

Igbese 4: Fi sori ẹrọ Olupin Server PHP

11. Ṣaaju ki o to tẹsiwaju pẹlu gbigba irinṣẹ irinṣẹ Olupin Server PHP, rii daju pe o ti fi aṣẹ wget sii.

$ sudo pacman -S wget

12. Lati gba ẹya tuntun Olupin Server PHP lọ si ọna asopọ atẹle yii ki o ṣe igbasilẹ faili ile-iwe tar.gz tabi lo ọna asopọ igbasilẹ Git osise ti a pese ni isalẹ.

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

Ni omiiran, o tun le ṣe igbasilẹ taara lilo pipaṣẹ wget atẹle.

$ wget http://downloads.sourceforge.net/project/phpservermon/phpservermon/PHP%20Server%20Monitor%20v3.0.1/phpservermon-v3.0.1.tar.gz

13. Lẹhin ti o ti ṣe igbasilẹ ẹya tuntun, jade pẹlu aṣẹ oda ki o daakọ gbogbo akoonu ti a fa jade si ọna gbongbo Iwe-ipamọ Server Server ni lilo awọn ofin wọnyi.

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

14. Lẹhinna ṣii ẹrọ lilọ kiri lori ayelujara kan ki o si lilö kiri si orukọ ibugbe rẹ (ni idi ti o lo awọn ọmọ ogun foju bi a ti gbekalẹ ninu ẹkọ yii, bibẹkọ ti lo adiresi IP olupin rẹ) ati lori oju iwe ikini lu Jẹ ki a lọ bọtini.

15. Lori iboju ti nbo tẹ alaye MySQL data rẹ sii ki o lu lori Fipamọ iṣeto ni .

16. Ti o ba ni aṣiṣe kan ti o sọ pe faili iṣeto rẹ ko le kọ lo awọn ofin wọnyi lati ṣẹda faili kikọ confing.php ki o lu lu Mo ti fi iṣeto naa pamọ

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

17. Lẹhin fifipamọ iṣeto naa ṣẹda olumulo iṣakoso fun Oluṣakoso Server PHP yiyan awọn ẹrí rẹ ki o lu lori bọtini Fi sori ẹrọ

18. Lẹhin ti ilana fifi sori ẹrọ ti pari lu lori Lọ si atẹle rẹ bọtini ati pe iwọ yoo darí si oju-iwe Wiwọle. Wọle pẹlu awọn iwe eri rẹ ati pe iwọ yoo ti ṣetan si oju-iwe Atẹle Server olupin PHP. Tun da awọn ayipada pada si Olupin olupin PHP config.php faili.

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

19. Lati ṣafikun oju opo wẹẹbu tuntun fun ibojuwo lọ si Awọn olupin -> Ṣafikun tuntun , fọwọsi awọn aaye ti o nilo pẹlu awọn eto olupin rẹ ki o lu bọtini Fipamọ .

20. Lati bẹrẹ ilana ibojuwo lori gbogbo awọn olupin ati awọn iṣẹ lu bọtini Imudojuiwọn ati pe iwọ yoo darí si oju-iwe ile aiyipada nibiti iwọ yoo gbekalẹ pẹlu ipo awọn aaye ayelujara/iṣẹ rẹ.

21. Ni ibere fun Olupin Server PHP lati ṣayẹwo laifọwọyi awọn olupin/ipo awọn iṣẹ rẹ ni awọn aaye arin deede o nilo lati fi sori ẹrọ Cron oluṣeto iṣẹ lori eto rẹ ati ṣafikun titẹsi akoko ibojuwo ni faili cron kan.

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

22. Lati ṣafikun titẹsi tuntun ni faili cron ti o ṣayẹwo oju opo wẹẹbu rẹ ni gbogbo iṣẹju 5 lo sudo crontab –e pipaṣẹ , tabi, dara julọ, ṣatunkọ faili cron gbongbo pẹlu ọwọ ti o wa ni /var/spool/cron/ itọsọna nipa ṣiṣatunṣe ọna lati baamu ilana fifi sori ẹrọ Olupin Server PHP rẹ. Lati ṣe atokọ gbogbo awọn titẹ sii crontab lo sudo crontab -l laini aṣẹ.

$ sudo nano /var/spool/cron/root

Ṣafikun titẹsi atẹle - ṣatunṣe akoko akoko ati ọna fifi sori ẹrọ ni ibamu

*/5 * * * * /usr/bin/php   /srv/www/phpsrvmon/cron/status.cron.php

Ipari

Botilẹjẹpe Olupin Server PHP ko dide ni idiju bi awọn iṣẹ ibojuwo miiran bii Nagios , Cacti tabi Zabbix , o duro lati jẹ imọlẹ pupọ ninu orisun agbara ati pe o le mu iṣẹ naa ṣiṣẹ bi pẹpẹ ibojuwo nipa tito leto lati firanṣẹ awọn imeeli tabi ọrọ SMS nipasẹ akojọ ẹnu-ọna SMS ti o tobi, bi o ba jẹ pe awọn oju opo wẹẹbu ati awọn iṣẹ abojuto rẹ n dojukọ awọn iṣoro imọ-ẹrọ tabi ti wa ni isalẹ.

Oju-iwe akọọkan : Abojuto Olupin PHP