כיצד להתקין את Laravel על אובונטו 20.04

כל מה שאתה צריך לדעת כדי לפרוס יישום אינטרנט של Laravel על מכונת Ubuntu 20.04 LTS

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

במדריך זה, אתה הולך ללמוד כיצד להתקין את Laravel עם LAMP מחסנית בשרת אובונטו 20.04 כדי להפעיל את יישום האינטרנט שלך.

דרישות מוקדמות

כדי לעקוב אחר מדריך זה, תזדקק לשרת אובונטו 20.04 LTS ולהיכנס כ- סודו מִשׁתַמֵשׁ. לפני שנתחיל, עדכן ושדרג את חבילות אובונטו 20.04 על ידי הפעלת:

sudo apt update && sudo apt upgrade

התקנת LAMP Stack

LAMP הוא ראשי תיבות של ל מערכת הפעלה אינקס, א שרת אינטרנט pache, M מסד נתונים ySQL ו פ שפת תכנות של HP. אנחנו כבר על אובונטו 20.04 שמתקתק את הלינוקס בערימת LAMP. אז אנחנו הולכים להתקין את שאר שלוש החבילות כדי להשלים ערימת LAMP עבור יישום Laravel שלנו.

אין חבילת מטא זמינה להתקנת מחסנית LAMP במאגרי Ubuntu 20.04. אבל אנחנו יכולים להשתמש בתכונה קטנה ומסודרת של מַתְאִים מנהל החבילות שנקרא משימות. משימות מסומנות באמצעות שם המשימה הזמינה עם צוער (^) צורף אליו.

sudo apt install lamp-server^

פקודה זו תחפש בקבצי רשימת החבילות את כל השדה "משימה:" ותתקין את כל החבילות עם "lamp-server" בשדה המשימה שלהם. אז ערימת LAMP המורכבת מחבילות Apache, MySQL ו-PHP עם כל התלות שלהן תותקן בשרת אובונטו שלך.

הגדר חומת אש

לאחר שהתקנת LAMP stack, עליך גם להגדיר את חומת האש הלא מסובכת (UFW) ולשנות את הכללים שלה כך שתוכל לגשת לשרת Apache מהאינטרנט.

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

רשימת אפליקציות sudo ufw

תראה פלט כמו זה:

יישומים זמינים: Apache Apache Full Apache Secure OpenSSH

יציאות הרשת שפרופילים אלה פתוחים בשרת Ubuntu 20.04 שלך מפורטות להלן:

  • Apache: פרופיל זה פותח רק את הפורט 80 (מאפשר תעבורת HTTP)
  • Apache Full: פרופיל זה פותח את שניהם 80 & 443 יציאות (מאפשר תעבורת HTTP ו-HTTPS)
  • Apache Secure: פרופיל זה פותח רק את היציאה 443 (מאפשר תעבורת HTTPS)
  • OpenSSH: פרופיל זה פותח יציאה 22 המאפשר פרוטוקול SSH

עליך להפעיל את פרופיל 'Apache Full' שיאפשר תעבורה לשרת האינטרנט של Apache מהאינטרנט. בנוסף, תצטרך גם להפעיל את פרופיל 'OpenSSH' המאפשר את התעבורה ביציאה 22 (SSH) בשרת Ubuntu 20.04 שלך. אם תפעיל את UFW מבלי לאפשר פרופיל 'OpenSSH', לא תוכל להתחבר לשרת שלך באמצעות SSH.

כדי לשנות את כלל UFW ולאפשר תעבורה בנמל 80 ו 22, הרץ:

sudo ufw allow 'Apache Full' sudo ufw allow 'OpenSSH'

לאחר מכן הפעל את חומת האש של UFW באמצעות הפקודה הבאה:

sudo ufw enable

אתה עשוי לקבל הנחיה האומרת "הפקודה עשויה לשבש חיבורי ssh קיימים. להמשיך בפעולות (י|n)?". ללחוץ י להמשיך כפי שכבר הוספנו כלל לאפשר SSH ב-UFW.

כעת אתה יכול לגשת לדף ברירת המחדל של Apache באמצעות כתובת ה-IP של שרת אובונטו שלך מהאינטרנט. כדי לעשות זאת פתח את הדפדפן שלך והקלד את כתובת ה-IP של שרת Ubuntu 20.04 שלך בשורת ה-URL והקש אנטר.

//שלך_ubuntu_server_ip

דף זה מאשר ששרת האינטרנט של Apache פועל כהלכה וכללי UFW מוגדרים כראוי.

הגדרת מסד הנתונים של MySQL עבור Laravel

Laravel 7 הופך את האינטראקציה עם מסדי נתונים לפשוטה ביותר על פני הקצה האחורי של מסדי הנתונים השונים שבהם הוא תומך כמו MySQL גרסה 5.6+, PostgreSQL 9.4+, SQLite 3.8.8+ ו-SQL Server 2017+. כבר מותקנת חבילת MySQL העדכנית ביותר עם ה מנורה-מפסק^ מְשִׁימָה. אז בסעיף זה, נגדיר את שרת MySQL ולאחר מכן נראה כיצד להגדיר משתמש MySQL ומסד נתונים חדשים עבור יישום Laravel.

הגדר את MySQL

מסד הנתונים של MySQL מגיע עם סקריפט אבטחה מותקן מראש שניתן להשתמש בו כדי להסיר כמה הגדרות ברירת מחדל לא מאובטחות. מומלץ להפעיל את הסקריפט הזה לפני שתפרוס את יישום Laravel שלך.

sudo mysql_secure_installation

הפקודה לעיל תפעיל את סקריפט האבטחה שיציג בפניך סדרה של שאלות להגדרת שרת MySQL.

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

תְפוּקָה: אבטחת פריסת שרת MySQL. התחברות ל-MySQL באמצעות סיסמה ריקה. ניתן להשתמש ב-VALIDATE PASSWORD COMPONENT לבדיקת סיסמאות ולשיפור האבטחה. זה בודק את עוצמת הסיסמה ומאפשר למשתמשים להגדיר רק את הסיסמאות שהן מאובטחות מספיק. האם תרצה להגדיר את רכיב VALIDATE PASSWORD? הקש y|Y עבור כן, כל מקש אחר עבור לא: י

לאחר מכן הגדר את רמת מדיניות אימות הסיסמה על ידי הזנה אחת 0, 1 אוֹ 2 תלוי כמה חזק אתה רוצה ליצור את הסיסמה שלך עבור מסדי הנתונים שלך.

תְפוּקָה: ישנן שלוש רמות של מדיניות אימות סיסמה: אורך נמוך >= 8 אורך בינוני >= 8, מספרי, רישיות מעורבות ותווים מיוחדים אורך חזק >= 8, מספרי, רישיות מעורבות, תווים מיוחדים וקובץ מילון נא הזן 0 = LOW, 1 = בינוני ו-2 = חזק: 2

לאחר מכן, תתבקש להזין סיסמה חדשה עבור משתמש MySQL root. הזן סיסמה מתאימה לשורש MySQL שלך. הפלאגין VALIDATE PASSWORD ייתן לך את החוזק המשוער של הסיסמה שלך בהתאם לרמת אימות הסיסמה שלך. ללחוץ י כדי להמשיך עם הסיסמה שסיפקת.

תְפוּקָה: נא להגדיר את הסיסמה ל-root כאן. סיסמה חדשה: הזן מחדש סיסמה חדשה: חוזק משוער של הסיסמה: 100 האם ברצונך להמשיך עם הסיסמה שסופקה? (הקש y|Y עבור כן, כל מקש אחר עבור לא) : י

ללחוץ י עבור שאר ההנחיות, הם יסירו כמה משתמשים אנונימיים ואת מסדי הנתונים של הבדיקה, ישביתו התחברות שורש מרחוק ויטענו מחדש את ההגדרות החדשות עבור שרת MySQL. כשתסיים, בדוק את מסד הנתונים שלך על ידי הפעלת:

sudo mysql

הפקודה לעיל תפתח את קונסולת MySQL, תתחבר למסד הנתונים של MySQL בתור שורש מִשׁתַמֵשׁ. תראה פלט כמו זה:

תְפוּקָה: ברוכים הבאים למסך MySQL. הפקודות מסתיימות ב-; או \g. מזהה החיבור שלך ב-MySQL הוא גירסת שרת 10: 8.0.20-0ubuntu0.20.04.1 (Ubuntu) זכויות יוצרים (c) 2000, 2020, Oracle ו/או החברות הקשורות אליה. כל הזכויות שמורות. Oracle הוא סימן מסחרי רשום של Oracle Corporation ו/או החברות הקשורות לה. שמות אחרים עשויים להיות סימנים מסחריים של בעליהם בהתאמה. הקלד 'עזרה;' או '\h' לעזרה. הקלד '\c' כדי לנקות את הצהרת הקלט הנוכחית. mysql>

אולי שמת לב שלא היית צריך להזין את הסיסמה שהגדרת עבור משתמש MySQL root. הסיבה לכך היא ששיטת האימות המוגדרת כברירת מחדל עבור משתמש שורש MySQL מנהלי היא caching_sha2_authentication במקום ה mysql_native_password שיטה המשתמשת בסיסמה כדי להיכנס.

אז כברירת מחדל, אתה יכול להיכנס רק כמשתמש MySQL root עם סודו משתמשים מורשים הפועלים כאבטחה נוספת עבור שרת MySQL. אבל ספריית MySQL PHP לא תומכת caching_sha2_authentication שיטה. לכן אנחנו צריכים להשתמש mysql_native_password שיטה כאשר אנו יוצרים משתמש חדש עבור Laravel שכן הוא משתמש בסיסמאות כדי להתחבר ולקיים אינטראקציה עם מסד הנתונים.

צור משתמש ומסד נתונים חדשים של MySQL

זה תמיד נוהג טוב ליצור משתמש ומסד נתונים חדשים במיוחד עבור היישום שלך במקום להשתמש בבסיסי משתמש שורש של MySQL ומסדי נתונים בדיקה. אז אנחנו הולכים להגדיר משתמש MySQL חדש בשם laravel_user ומסד נתונים בשם laravel. אם עקבת אחר המדריך עד לנקודה זו, אמור להיות לך קונסולת MySQL פתוחה. כדי ליצור את המשתמש שנקרא laravel_user הפעל את השאילתה הבאה במסוף MySQL:

הערה: החלף את ה testpass בשאילתת MySQL למטה עם סיסמה חזקה.

צור משתמש 'laravel_user'@'%' מזוהה עם mysql_native_password על ידי 'testpass';

לאחר מכן, צור מסד נתונים בשם laravel עבור אפליקציית Laravel שלנו על ידי הפעלת השאילתה הזו:

צור מסד נתונים laravel;

רק למשתמש השורש של MySQL יש הרשאות למסד הנתונים החדש שנוצר Laravel. הענק את כל ההרשאות על laravel מסד הנתונים ל laravel_user על ידי ריצה:

הענק הכל ב-laravel.* ל-'laravel_user'@'%';

אז, יש לנו עכשיו משתמש MySQL חדש ומסד נתונים, צא ממסוף MySQL על ידי הפעלת:

יְצִיאָה;

בדוק את משתמש MySQL החדש שלך על ידי כניסה למסוף MySQL איתו, כדי לעשות זאת הרץ את הפקודה הזו בטרמינל:

mysql -u laravel_user -p

שימו לב ל -עמ' דגל בפקודה, הוא יבקש ממך את הסיסמה שבה השתמשת בעת יצירת ה laravel_user (testpass בשאילתה). לאחר שנכנסת למסוף MySQL כ laravel_user, אשר שלמשתמש יש גישה ל- laravel מסד נתונים על ידי הפעלת:

הצג מסדי נתונים;
תְפוּקָה: +--------------------+ | מסד נתונים | +--------------------+ | laravel | | info_schema | +--------------------+ 2 שורות בסט (0.01 שניות)

הפלט לעיל מאשר שמשתמש MySQL laravel_user בעל הרשאות למסד הנתונים laravel. צא ממסוף MySQL באמצעות ה יְצִיאָה; שאילתה כדי שנוכל להמשיך ליצור את אפליקציית DemoApp Laravel.

התקנת Laravel

מסגרת Laravel משתמשת ב-Composer כדי להוריד ולנהל את התלות שלה. אז, אנחנו צריכים להתקין את Composer במחשב אובונטו 20.04 שלנו לפני שנוכל ליצור יישום Laravel.

התקן את Composer

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

אתה צריך להתקין כמה חבילות נוספות הנדרשות על ידי Composer כדי לתפקד כגון php-cli להפעיל סקריפטים של PHP בטרמינל ו לִפְתוֹחַ כדי לעזור ל-Composer לחלץ את החבילות. התקן את שניהם על ידי הפעלת:

sudo apt התקן את php-cli unzip

לאחר מכן כדי להתקין את Composer באופן גלובלי, הורד את סקריפט ההתקנה של Composer עם סִלְסוּל והתקן אותו באמצעות הפקודה הבאה:

curl -sS //getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

לבסוף, ודא שהמלחין הותקן כהלכה על ידי הפעלת:

מַלחִין
 ______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / /___/ /_/ / / / / / /_ / / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ מלחין גרסה 1.10.8 2020-06- 24 21:23:30 שימוש: פקודה [אפשרויות] [טיעונים]

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

צור אפליקציית Laravel

יש לנו פחות או יותר את כל מה שנדרש כדי ליצור יישום Laravel בשרת אובונטו 20.04 שלנו, מלבד כמה הרחבות PHP. התקן את ההרחבות החסרות הללו באמצעות הפקודה הבאה:

sudo apt להתקין php-mbstring php-xml php-bcmath php-zip php-json

כעת, נוכל להתקין את Laravel וליצור אפליקציה חדשה של Laravel בעזרת Composer. ראשית, ודא שאתה נמצא בספריית הבית של המשתמש שלך:

תקליטור ~

לאחר מכן צור פרויקט חדש של Laravel באמצעות ה-Composer's ליצור-פרויקט פקודה:

מלחין יצירת-פרויקט --prefer-dist laravel/laravel LaravelApp

הפקודה לעיל תיצור פרויקט חדש בשם LaravelApp והיא גם תתקין ותגדיר עבורך את Laravel Framework. תראה פלט דומה לזה:

תְפוּקָה: יצירת פרויקט "laravel/laravel" ב-"./LaravelApp" התקנת laravel/laravel (v7.12.0) התקנת laravel/laravel (v7.12.0): הורדה (100%) פרויקט נוצר ב-/home/ath/LaravelApp @php - r "file_exists('.env') || copy('.env.example', '.env');" טעינת מאגרי יוצר עם פרטי חבילה עדכון תלות (כולל require-dev) פעולות חבילה: 97 התקנות, 0 עדכונים, 0 הסרות התקנת voku/portable-ascii (1.5.2): הורדה (100%) התקנת symfony/polyfill-ctype (v1) .17.1): הורדה (100%) התקנת phpoption/phpoption (1.7.4): הורדה (100%) התקנת vlucas/phpdotenv (v4.1.7): הורדה (100%) התקנת symfony/css-selector (v5.1.2) : מוריד (100%) ....

לאחר סיום ההתקנה, עבור אל ספריית השורש של היישום ולאחר מכן הפעל את Laravel אָמָן פקודה כדי לוודא שכל הרכיבים מותקנים כהלכה:

cd LaravelApp/ php artisan
תְפוּקָה: Laravel Framework 7.18.0 שימוש: פקודה [אפשרויות] [טיעונים] אפשרויות: -h, --help הצג הודעת עזרה זו -q, --quiet אין פלט שום הודעה -V, --version הצג גרסת יישום זו --ansi כפה פלט ANSI --no-ansi השבת פלט ANSI -n, --no-interaction אל תשאל שום שאלה אינטראקטיבית --env[=ENV] הסביבה שהפקודה צריכה לרוץ תחת -v|vv|vvv, --verbose הגדלה המלל של ההודעות: 1 לפלט רגיל, 2 לפלט יותר מילולי ו-3 לניפוי באגים ....

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

הגדר את אפליקציית Laravel

קבצי התצורה של Laravel ממוקמים בספרייה בשם תצורה בתוך ספריית השורש של היישום. בנוסף, כאשר התקנו את Laravel דרך Composer, הוא יצר קובץ סביבה בשם '.env' בספריית השורש של היישום. קובץ הסביבה כולל את התצורות הספציפיות לסביבה והוא מקבל עדיפות על ההגדרות בקבצי התצורה הרגילים הנמצאים בתוך ספריית התצורה.

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

כעת נערוך את ה .env קובץ כדי לשנות את התצורה ולהוסיף לו את האישורים של מסד הנתונים. פתח את הקובץ באמצעות עורך ננו על ידי הפעלת:

nano .env

ישנם משתני תצורה רבים בזה .env קוֹבֶץ. אנחנו לא צריכים לשנות כל אחד מהם, מכיוון ש-Composer הגדיר את רוב ההגדרות באופן אוטומטי. אז הנה רשימה של כמה משתני תצורה ראשיים שעליכם לדעת עליהם:

  • שם האפליקציה: שם האפליקציה המשמש להתראות והודעות, אז אנחנו הולכים להגדיר אותו ל'LaravelApp'.
  • APP_ENV: משתנה זה משמש לציון סביבת היישום הנוכחית. ניתן להגדיר אותו לסביבות מקומיות, פיתוח, בדיקות או ייצור. אנחנו הולכים להגדיר את זה לסביבת הפיתוח לעת עתה.
  • APP_KEY: מפתח יישום ייחודי המשמש ליצירת מלחים ו-hash עבור אפליקציית האינטרנט. זה נוצר אוטומטית כאשר אתה מתקין את Laravel דרך Composer, כך שאין צורך לשנות זאת.
  • APP_DEBUG: ניתן להגדיר אותו כ-true או false, תלוי אם ברצונך להציג שגיאות בצד הלקוח. הגדר אותו ל-false כאשר אתה עובר לסביבת הייצור.
  • APP_URL: בסיס כתובת URL או IP עבור היישום, שנה אותו לשם הדומיין שלך אם יש לך אחד עבור אפליקציית Laravel שלך, או השאר אותו ללא שינוי לעת עתה.
  • DB_DATABASE: שם מסד הנתונים שבו ברצונך להשתמש עם יישום Laravel. אנו הולכים להשתמש במסד הנתונים 'laravel' של MySQL שיצרנו בזמן קביעת התצורה של MySQL.
  • DB_USERNAME: שם משתמש לחיבור למסד הנתונים. אנחנו הולכים להשתמש במשתמש MySQL 'laravel_user' שיצרנו.
  • DB_PASSWORD: הסיסמה לחיבור למסד הנתונים.
 APP_NAME= LaravelApp APP_ENV= התפתחות APP_KEY= base64:Application_unique_key APP_DEBUG=true APP_URL= //domain_or_IP LOG_CHANNEL=מחסנית DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel DB_USERNAME= laravel_user DB_PASSWORD= testpass

בצע שינויים ב- .env הקובץ בהתאם וכאשר תסיים לערוך, שמור וצא מהקובץ באמצעות שימוש CTRL+X לאחר מכן לחץ י ולחץ על אנטר כדי לאשר. כעת, כל מה שנותר הוא להגדיר את שרת Apache וליצור מארח וירטואלי עבור אפליקציית Laravel שלנו.

הגדרת שרת האינטרנט של Apache

התקנו את Laravel בתיקייה המקומית של ספריית הבית של המשתמש. למרות שזה עובד מצוין לפיתוח מקומי, מומלץ לתרגל למצוא את ספריית יישומי האינטרנט ב /var/www. הסיבה שבגללה לא התקנו את Laravel ב /var/www ישירות זה בגלל שהוא בבעלות שורש ואסור להשתמש ב-Composer עם סודו.

אז השתמש ב mv הפקודה כדי להעביר את תיקיית היישום Laravel ואת התוכן שלה אל /var/www:

sudo mv ~/Laravel/ /var/www

ספריית LaravelApp נמצאת בבעלות המשתמש, כך שאתה עדיין יכול לערוך ולבצע שינויים בקבצים מבלי להשתמש ב- סודו פקודה. אבל שרת האינטרנט של Apache צריך גישה למטמון ולספריות האחסון של האפליקציה, שכן Laravel מאחסן בו קבצים שנוצרו על ידי יישומים. שנה את הבעלים של תיקיות אלה ל- www-data משתמש המשתמש ב- chown פקודה:

sudo chown -R www-data.www-data /var/www/LaravelApp/storage sudo chown -R www-data.www-data /var/www/LaravelApp/bootstrap/cache

לאחר שינוי הבעלים של ספריות אלה, הפעל את ה- Apache's mod_rewrite כפי שנדרש על ידי Laravel לשנות כראוי כתובות אתרים שיתפרשו על ידי פונקציית הניתוב שלה באמצעות .htaccess קוֹבֶץ.

שכתוב sudo a2enmod

לאחר מכן, עלינו להגדיר מארח וירטואלי עבור אפליקציית Laravel. תצורות המארח הווירטואלי ממוקמות ב /etc/apache2/sites-available. אנו הולכים לערוך את קובץ המארח הוירטואלי המוגדר כברירת מחדל כדי לפרוס את יישום Laravel. פתח את קובץ התצורה של המארח הוירטואלי המוגדר כברירת מחדל באמצעות עורך ננו:

sudo nano /etc/apache2/sites-available/000-default.conf

שנה את שורש המסמך מ /var/www/html ל /var/www/LaravelApp/public והוסף את הקטע הבא מתחת לשורה DocumentRoot:

 אפשר לעקוף הכל 

שֶׁלְךָ 000-default.conf צריך להיראות משהו כזה עכשיו עם כמה הערות.

 ServerAdmin webmaster@localhost DocumentRoot /var/www/LaravelApp/public AllowOverride All ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log בשילוב 

הפעל מחדש את שרת האינטרנט של Apache על ידי הפעלת הפקודה הבאה:

sudo systemctl הפעל מחדש את apache2

כעת עבור לדפדפן שלך והקלד את כתובת ה-IP של שרת Ubuntu 20.04 שלך. אתה תראה את דף הפתיחה של Laravel במקום עמוד ברירת המחדל של Apache ברירת המחדל.

בהנחה שעקבת אחר המדריך הזה עד כה, אמור להיות לך יישום Laravel עובד עם מסד נתונים MySQL בשם laravel בשביל זה. מנקודה זו, אתה יכול להתחיל לפתח את אפליקציית Laravel שלך בעצמך. למידע נוסף על מסגרת Laravel והשימוש בה, בקר בדף המסמכים של Laravel.