סקוניל ןויכראב LAMP Stack וא LEMP תועצמאב "PHP תרש גצ" ילכ תנקתה


תרש גצ PHP ב בתכנש טנרטניאל ימדק דוק רוטינ ילכ אוה- PHP, ךלש םיתרשה םא תמאל לוכיש (IP, םיניימוד) וא ראוד יתוריש תועצמאב תוארתה ךל חולשל םילוכיו םילעופ םיתורישה וא SMS בצמ דוק תוע

.רתויב םכל םיאתמה הנקתהה ךילהת תא רוחבל ולכות ,ןכל ,טנרטניא תרש Nginx וא תרשכ י'צאפא תועצמאב סקוניל כרא תרש תביבסב ןיקתהל לכות הב ךרדה תא ךינפב הגיצמ

.תונקתומה תואבה תוליבחל קוקז ךלש תרשה ,תורחא סקוניל תומרופטלפ לכ רובע PHP תרש גצ תנקתהלו הנקתהל תויללכ תושירדכ

    .Arch לע םיילאוטריו םיחראמו LEMP תינסחמ תרדגהל םיכירדמכ תואבה תוכרדהב שמתשה Nginx םע PHP תרש גצ תנקתהל

      .Arch Linux -ב LAMP תינסחמ תרדגהל אבה ךירדמב שמתשה Apache םע PHP תרש גצ תנקתהל

        Nginx/Apache טנרטניאה תרש תא רדגה :1 בלש

        . ךרד - phpsrvmon.lan - ףיוזמ ימוקמ ןיימוד םע םירדגומ ( Apache Nginx ) טנרטניאה יתרש ינש םע ילאוטריו ןוסחאב תשמתשמ וז הכרדה .DNS תרש

        .הרוצתל המגוד כ האבה תינבתב שמתשהו phpsrvmon.conf םש םע /etc/nginx/sites-available/ -ב שדח הרוצת ץבוק רוצ ,Nginx לש שדח ילאוטריו חראמ ףיסוהל ידכ .2

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

        . 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;
            }
        }

        .ולש ליבקמה הרוצתה ץבוק תא רוצ ,חטבואמ HTTP לוקוטורפ תועצמאב PHP Sever Monitor -ל תשגל ךנוצרב םא .3

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

        . 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;
            }
        }

        .םייוניש ףקשל ידכ Nginx תא שדחמ לעפהו n2ensite תורישה ילכ תועצמאב םיילאוטריווה םיחראמה ינש תא לעפה ,/srv/www/phpsrvmon/ ל ןאכ ומכ ותוא תינישש הרקמב ,ךמסמ שרוש ביתנ

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

        .םאתהב phpsrvmon-ssl.conf הנשו ךלש ןיימודה םש םע nginx_gen_ssl הדוקפה תועצמאב הז רוצ ,ךלש ילאוטריווה חראמה רובע שדח SSL רושיאל קוקז התא םא

        .תינבתכ תואבה ץבוקה תורדגהב שמתשה ו phpsrvmon.conf םש םע /etc/httpd/conf/sites-available/ -ב ילאוטריו חראמ לש שדח הרוצת ץבוק רוצ ,טנרטניא תרשכ י'צפאב שמתשמ התא םא

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

        . 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>

        .תואבה תורהצהה םע Virtual Host SSL לש שדח הרוצת ץבוק רוצ ,HTTPS לוקוטורפב PHP Server תרשל השיגל קוקז התא םג םא .6

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

        . 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>

        .םייוניש ליחהל ידכ ןומדה תא שדחמ לעפהו a2ensite הדוקפה תועצמאב Apache לש םיילאוטריו יחראמ תא לעפה ,הנתשה טנרטניאה יצבקל שגוהש ביתנהו הדימב ,םיכמסמ שרוש תיירפס רוצ ,Nginx -ב ומכ ךי

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

        .םישדח תומשו חתפמ ביתנו ןשי SSL רושיא ףילחמ ,ץבוק /etc/httpd/conf/sites-available/phpsrvmon-ssl.conf תא הנשו רושיאה םש לע ךלש ןיימודה םש תא ףסוה , apache_gen_ssl -ב שמתשה

        PHP תורוצת ךורע :2 בלש

        .תואבה תומאתהה תא עצבלו php.ini ץבוק תחיתפל תכרעמה תושירד תא תמאמ אוה רשאכ קורזי PHP Server -ה תרש ,תומיוסמ הנקתה תואיגשמ ענמיהל תנמ לע .8

        $ sudo nano /etc/php/php.ini

        .ןלָהַלְ המגודב ומכ תואריהל ידכ - /srv/www/ אוה שדחה ביתנה הז הרקמב - "\ : "\םייתדוקנ םע תמודיק ידי לע שדחה ביתנה תא ףסוהו הרהצה open_basedir רותיאל [Ctrl +

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

        .(המידקמ קיספ-הדוקנ רסה) םהילא תוסחייתה לוטיב ידי לע םילתלתו PHP pdo, mysqli יפסות לעפהו שפח

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

        .הז ףד תועצמאב ךלש תימוקמה העשה תא רדגהו ןמזה רוזא תא רתא

        date.timezone = Continent/City

        .םייוניש ליחהל ידכ ךלש םיתורישה תא שדחמ לעפה ,םייונישה לכ עוציב רחאל .9

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

        PHP תרש לע חקפל MySQL לש םינותנ דסמ רוצ :3 בלש

        .(ךילע םיפדעומה םירושיאה תועצמאב המסיסהו שמתשמה ,םינותנה דסמ תא ףלחה) תואבה תודוקפה תועצמאב שדח םינותנ דסמ רוצו MySQL/MariaDB םינותנה דסמל סנכיה ,עדימ ןוסחאל Server Server תרשל שורדה םינ

        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

        .ולש טנרטניאה קשמממ MySQL/MariaDB -ל השיג ידי לע PHP Server Monitor לש םינותנ דסמ רוציל לכות ךלש תכרעמב PhpMyAdmin תנקתה םא

        PHP Server Monitor תא ןקתה :4 בלש

        .wget הדוקפה תא תנקתהש אדו ,PHP Server Monitor ילכה תא דירוהל ךישמתש ינפל .11

        $ sudo pacman -S wget

        .ןלהל עיפומה Git לש ימשרה הדרוהה רושיקב ושמתשה וא tar.gz ןויכראה ץבוק תא ודירוהו אבה רושיקל ורבע ,PHP Server -ה תרש לש הנורחאה הסרגה תא סופתל ידכ .12

          .האבה wget תדוקפ תועצמאב תורישי דירוהל םג לכות ,ןיפולחל

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

          .תואבה תודוקפה תועצמאב טנרטניאה תרש יכמסמ שרוש ביתנל ץלוחש ןכותה לכ תא קתעהו tar הדוקפב התוא ץליח ,הנורחאה הסרגה תדרוה רחאל .13

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

          .ךלנ אוב רותפכ לע ץחל הכרבה ףדבו (ךלש תרשה לש IP -ה תבותכב שמתשה תרחא ,הז ךירדמב גצומש יפכ םיילאוטריו םיחראמב שמתשמ התאש הרקמב) ךלש ןיימודה םשל טוונו ןפדפד חתפ ןכמ רחאל .14

          . הרוצת רומש לע שקהו MySQL לש םינותנה דסמ יטרפ תא ןזה אבה ךסמב .15

          .< b /> הרוצתה תא יתרמש לע ץחלו בותכל ןתינש confing.php ץבוק רוציל ידכ תואבה תודוקפב שמתשה ךלש הרוצתה ץבוק תא בותכל היה ןתינ אלש תרמואש האיגשב תלקתנ םא .16

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

          . ןקתה ןצחלה לע ץחלו ךירושיא תא רחבו PHP תרש תרשמ רובע יביטרטסינימדא שמתשמ רוצ ,הרוצתה תרימש רחאל .17

          .Monitor Server Server לש config.php ץבוקב םייוניש םג לטב .PHP תרש גצ לש לדחמה תרירב ףדל שקבתתו ךלש םירושיאה םע סנכיה .הסינכה ףדל הנפותו ךלש ךסמה לע חקפל רובע ןצחלה לע ץ

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

          . רומש ןצחלה לע ץחלו ךלש תרשה תורדגהב םישרדנה תודשה תא אלמ , שדח ףסוה -> םיתרש לא רובע רוטינל שדח רתא תפסוהל .19

          .ךלש םיתוריש/םירתאה סוטטס ךינפב גצוי םש ,לדחמ תרירבכ רדגומה תיבה ףדל הנפותו ןכדע רותפכ לע ץחל םיתורישהו םיתרשה לכב רוטינה ךילהתב ליחתהל ידכ .20

          .cron ץבוקב רוטינל ןמז קרפ ךרע ףיסוהלו ךלש תכרעמב Cron הדובע ןמזתמ ןיקתהל ךילע ,םיעובק ןמז יחוורמב ךלש םיתוריש/םיתרשה בצמ תא יטמוטוא ןפואב קודבי PHP -ה תרש תרשש תנמ לע .21

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

          . sudo crontab -l הדוקפה תרושב שמתשה crontab יכרע לכ תא םושרל ידכ .ךלש PHP -ה תרש לש הנקתהה תיירפסל םיאתתש ךכ ביתנה תמאתה ידי לע /b הירפס/var/spool> ב אצמנש cron

          $ sudo nano /var/spool/cron/root

          םאתהב הנקתהה ביתנו ןמזה קרפ תא םאתה - אבה ךרעה תא ףסוה

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

          םוכיס

          .ליעפ אל בצמב םהש וא תוינכט תויעבב םילקתנ ךלש םיחקופמה םיתורישהו םירתאהש הרקמב ,הבחר SMS רעש תמישר תועצמאב SMS וא ל"אוד תחילש תרדגה ידי לע רוטינ תמרופטלפכ הדובעה תא אלמל הלוכיו הכירצ .םיבא

          תיב ףד : תרש גצ PHP


כל הזכויות שמורות. © Linux-Console.net • 2019-2024