CentOS 8 -ב Nginx םע Laravel PHP Framework תא ןיקתהל דציכ


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

.תמא ןמזב םיעוריא רודישו קזח עקר תודובע דוביע ,יביטיאוטניאו יביסרפסקא םינותנ דסמ לש (טקייבוא יסחי-יופימ) ORM ,הרימשו תולעפה ןוסחאל םיבורמ ירוחא ירוחא ,המצוע בר תולת תקרזה לכימ ,ריהמו טושפ

.טנרטניא ימושיי לש לוהינו היינבל הדוקפ תרוש קשממ - Artisan ו תולת לוהינל PHP תוליבח להנמ - Composer ומכ םילכב תשמתשמ איה ,ןכ ומכ

.CentOS 8 Linux תצפה לע Laravel PHP טנרטניאה תרגסמ לש הנורחאה הסרגה תא ןיקתהל דציכ דמלת הז רמאמב

:תואבה תושירדה תא שי Laravel תרגסמל

    CentOS 8 -ב LEMP תינסחמ תנקתה :1 בלש

    .תואבה dnf -ה תודוקפ תועצמאב (PHP -ו Linux, Nginx, MariaDB/MySQL) LEMP תינסחמ תא ןיקתהו תכרעמ תנכות תוליבח ןכדע ,ליחתהל ידכ .1

    # dnf update
    # dnf install nginx php php-fpm php-common php-xml php-mbstring php-json php-zip mariadb-server php-mysqlnd
    

    .תואבה systemctl תודוקפ תועצמאב MariaDB -ו PHP-PFM, Nginx יתוריש תא ליעפהל ךילע ,LEMP -ה תנקתה תמלשה רחאל .2

    # systemctl start php-fpm nginx mariadb
    # systemctl enable php-fpm nginx mariadb
    # systemctl status php-fpm nginx mariadb
    

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

    # mysql_secure_installation
    

    .תרשה תנקתה תא חטבאל ידכ תואבה תולאשה לע הנע

    Enter current password for root (enter for none): Enter Set root password? [Y/n] y #set new root password Remove anonymous users? [Y/n] y Disallow root login remotely? [Y/n] y Remove test database and access to it? [Y/n] y Reload privilege tables now? [Y/n] y

    .Nginx תרשל חוקל תושקב רשפאל ידכ שאה תמוחב HTTPS -ו HTTP תוריש תא חותפל ךילע ,לעופ דלוורייפ תוריש םא .4

    # firewall-cmd --zone=public --permanent --add-service=http
    # firewall-cmd --zone=public --permanent --add-service=https
    # firewall-cmd --reload
    

    .םכלש תכרעמה לש IP -ה תבותכב ןפדפד תועצמאב תלעופ LEMP -ה תינסחמ יכ רשאל ולכות ,ףוסבל .5

    http://server-IP
    

    Nginx -ו PHP-FPM לש החטבאו הרוצת תעיבק :2 בלש

    .etc/php-fpm.d/www.conf/ הרוצתה ץבוקב הנזאה רטמרפ ידי לע רדגומ הזו TCP עקשב וא Unix עקשב ןיזאהל לוכי Nginx, PHP-FPM טנרטניאה תרשמ תושקב דוביעל .6

    # vi /etc/php-fpm.d/www.conf
    

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

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

    listen.owner = nginx
    listen.group = nginx
    listen.mode = 066
    

    .etc/php.ini/ הרוצתה ץבוקב תכרעמה לכל ןמזה רוזא תא םג רדגה ,ןכמ רחאל .8

    # vi /etc/php.ini
    

    .(ךלש הנידמהו תשבי/רוזאה לע םילחש םיכרעב שמתשה) ךסמה םוליצב גצומש יפכ הלש ךרעה תא רדגה זאו ,הלש הבוגתה תא לטבו \"; date.timezone" הרושה תא שפח

     
    date.timezone = Africa/Kampala
    

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

    cgi.fix_pathinfo=1
    

    .ףסונ רבסהל הרעהה תא ארק .etc/php-fpm.d/www.conf/ ץבוקב אבה רטמרפה תרעה תא םג לטב ,תמדוקה הדוקנל סחיב .10

    security.limit_extensions = .php .php3 .php4 .php5 .php7
    

    Laravel PHP Framework -ו Composer תנקתה :3 בלש

    .PHP תועצמאב ותוא הליעפמ זאו ןיקתמה תא הדירומ הנושארה הדוקפה .תואבה תודוקפה תלעפה ידי לע Composer תליבח תא ןקתה ,ןכמ רחאל .11

    # curl -sS https://getcomposer.org/installer | php
    # mv composer.phar /usr/local/bin/composer
    # chmod +x /usr/local/bin/composer
    

    .var/www/html/mysite.com/ היהי (Nginx לש הרוצתה ץבוקב סיסבה ביתנ וא) טלחומה ביתנה ,Laravel יצבק ונסחואי הב היירפסה םשב mysite.com תא ףלחה .ןמקלדכ תולתו Laravel יצבק תנקתהל וב שמתשה ,Compos

    # cd /var/www/html/
    # composer create-project --prefer-dist laravel/laravel mysite.com
    

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

    .ls הדוקפה תועצמאב laravel שרושה תיירפס לש הכורא המישר לעפה ,תאז רשאל ידכ .םדוק ומכ ינדי ןפואב םתוא רוציל ךירצ ךניאש ךכ ,אוה םג רצונ שרדנה םושייהו .env הביבסה ץבוק רצונ הנקת

    # ls -la mysite.com/
    

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

    # chown -R :nginx /var/www/html/mysite.com/storage/
    # chown -R :nginx /var/www/html/mysite.com/bootstrap/cache/
    # chmod -R 0777 /var/www/html/mysite.com/storage/
    # chmod -R 0775 /var/www/html/mysite.com/bootstrap/cache/
    

    .bootstrap/cache -הו ןוסחאה תוירפס לש החטבאה רשקה תא ןכדעל ךילע ,ךלש תרשב לעפומ SELinux םא .15

    # semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/mysite.com/storage(/.*)?'
    # semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/mysite.com/bootstrap/cache(/.*)?'
    # restorecon -Rv '/var/www/html/mysite.com'
    

    Laravel רובע Nginx לש םיתרשה תמיסח תא רדגה :4 בלש

    .גצומש יפכ היירפס /etc/nginx/conf.d/ תחת .conf ץבוקב ורובע תרש תמיסח רוציל ךילע ,ךלש םושייה וא רתאה תא תרשל ליחתי Nginx -ש ידכ .16

    # vi /etc/nginx/conf.d/mysite.com.conf
    

    .fastcgi_pass -הו שרושה ירטמרפל בל םיש .ץבוקב האבה הרוצתה תא קבדהו קתעה

    server {
    	listen      80;
           server_name mysite.com;
           root        /var/www/html/mysite.com/public;
           index       index.php;
    
           charset utf-8;
           gzip on;
    	gzip_types text/css application/javascript text/javascript application/x-javascript  image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;
            location / {
            	try_files $uri $uri/ /index.php?$query_string;
            }
    
            location ~ \.php {
                    include fastcgi.conf;
                    fastcgi_split_path_info ^(.+\.php)(/.+)$;
                    fastcgi_pass unix:/run/php-fpm/www.sock;
            }
            location ~ /\.ht {
                    deny all;
            }
    }
    

    .הצירה ידי לע ןיקת Nginx לש הרוצתה ריבחת םא קודבו ץבוקה תא רומש .17

    # nginx -t
    

    .ףקותל וסנכיי םינורחאה םייונישהש ידכ Nginx -ו PHP-FPM יתוריש תא שדחמ לעפה זאו .18

    # systemctl restart php-fpm
    # systemctl restart Nginx
    

    טנרטניא ןפדפדמ Laravel רתאל השיג :5 בלש

    .ימוקמ DNS רוציל ידכ .ךלש ימוקמה בשחמב etc/hosts/ץבוקב שמתשנ ,(הקידב יכרוצל קר שמשמ אוה) םושר וניא אוהו (FQDN) אלמ םוחת םש וניאש ,mysite.com -ב Laravel רתאל תשגל ידכ .19

    .(ךלש תורדגהל םאתהב ךרעה תא ףלחה) שרדנה ץבוקב םוחתה תאו תרשה לש IP -ה תבותכ תא ףיסוהל ידכ האבה הדוקפה תא לעפה

    # ip add		#get remote server IP
    $ echo "10.42.0.21  mysite.com" | sudo tee -a /etc/hosts
    

    .טוונל ידכ האבה תבותכב שמתשהו ימוקמה בשחמב טנרטניא ןפדפד חתפ ,ןכמ רחאל .20

    http://mysite.com
    

    .Laravel לש הדובעה תליחתל ךירדמב ןייע ,ףסונ עדימל .Laravel תועצמאב ךלש טנרטניאה םושיי וא ךלש טנרטניאה רתא תא חתפל ליחתהל לכות תעכ .CentOS 8 -ב Laravel תא החלצהב תסירפ