الفرق بين المراجعتين لصفحة: «Laravel/installation»
رؤيا-بنعطية (نقاش | مساهمات) |
عاطف-بن-علي (نقاش | مساهمات) مراجعة الترجمة |
||
(14 مراجعة متوسطة بواسطة 3 مستخدمين غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: | <noinclude>{{DISPLAYTITLE:تثبيت Laravel }}</noinclude> | ||
== متطلبات الخادوم == | |||
يتطلب إطار [[Laravel]] بعض متطلبات النظام. بالطبع ، يتم استيفاء جميع هذه المتطلبات من خلال النظام الوهمي لبيئة -Laravel (باسم [[Laravel/homestead|Homestead]])- لذلك يوصى باستخدام بيئة [[Laravel/homestead|Homestead]] بيئة تطوير [[Laravel]] المحلية الخاصة بك. | |||
ومع ذلك، إذا لم تكن بيئة [[Laravel/homestead|Homestead]] متاحةً لك أو لم ترغب في استخدامها، فستحتاج إلى التأكد من أن الخادوم يلبي المتطلبات التالية: | |||
* PHP >= 7.1.3 | |||
* ملحق OpenSSL PHP | |||
ومع ذلك، إذا لم تكن | * ملحق PDO PHP | ||
* ملحق Mbstring PHP | |||
* ملحق Tokenizer PHP | |||
* ملحق XML PHP | |||
* ملحق Ctype PHP | |||
* ملحق JSON PHP | |||
* ملحق BCMath PHP | |||
== تثبيت Laravel == | == تثبيت Laravel == | ||
يستخدم إطار العمل Laravel برمجية Composer لإدارة | يستخدم إطار العمل [[Laravel]] برمجية Composer لإدارة التبعيات. لذا تأكد من تثبيت Composer على حاسوبك، قبل استخدام [[Laravel]]. | ||
=== باستخدام مُثبِّت [[Laravel]] === | |||
حمّل أوّلًا مثبّت Laravel باستخدام Composer :<syntaxhighlight lang="text"> | حمّل أوّلًا مثبّت [[Laravel]] باستخدام Composer :<syntaxhighlight lang="text"> | ||
composer global require "laravel/installer" | composer global require "laravel/installer" | ||
</syntaxhighlight>احرص على إضافة مجلد vendor/bin الخاصة ببرنامج Composer إلى متغير البيئة $PATH بحيث يمكن تحديد موقع الملف القابل للتنفيذ لإطار عمل Laravel بواسطة النظام الخاص بك. يوجد هذا المجلد في مواقع مختلفة اعتمادًا على نظام التشغيل الخاص بك؛ ومع ذلك، من الشائع أن يوجد في المسارات الآتية: | </syntaxhighlight>احرص على إضافة مجلد <code>vendor/bin</code> الخاصة ببرنامج Composer إلى متغير البيئة <code>$PATH</code> بحيث يمكن تحديد موقع الملف القابل للتنفيذ لإطار عمل [[Laravel]] بواسطة النظام الخاص بك. يوجد هذا المجلد في مواقع مختلفة اعتمادًا على نظام التشغيل الخاص بك؛ ومع ذلك، من الشائع أن يوجد في المسارات الآتية: | ||
· في نظام | · في نظام ماك: في المسار <code>$HOME/.composer/vendor/bin</code> | ||
· في توزيعات لينكس: في المسار <code>$HOME/.config/composer/vendor/bin</code> | · في توزيعات لينكس: في المسار <code>$HOME/.config/composer/vendor/bin</code> | ||
بعد تثبيته، سيُنشِئ الأمر laravel new مجلدًا يحتوي على نسخة جديدة من إطار Laravel. على سبيل | بعد تثبيته، سيُنشِئ الأمر <code>laravel new</code> مجلدًا يحتوي على نسخة جديدة من إطار [[Laravel]]. على سبيل المثال، سيُنشِئ الأمر <code>laravel new blog</code> مجلدًا جديدًا باسم blog يحتوي على تثبيت [[Laravel]] جديد مع جميع تبعيات [[Laravel]] اللازمة.<syntaxhighlight lang="text"> | ||
laravel new blog | laravel new blog | ||
</syntaxhighlight> | |||
=== باستخدام Composer === | |||
بدلا عن ذلك، يمكنك أيضًا تثبيت [[Laravel]] بتنفيذ الأمر <code>create-project</code> الخاص ببرمجية Composer في الطرفية على جهازك:<syntaxhighlight lang="text"> | |||
composer create-project --prefer-dist laravel/laravel blog | composer create-project --prefer-dist laravel/laravel blog | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== باستخدام خادوم التطوير المحلي === | |||
إذا كنت قد قمت بتثبيت PHP محليًا وترغب في استخدام | إذا كنت قد قمت بتثبيت [[PHP]] محليًا وترغب في استخدام خادوم التطوير الخاص بلغة PHP لخدمة تطبيقك، فيمكنك استخدام الأمر <code>Artisan serve</code>. سيبدأ هذا الأمر خادوم تطوير على<code><nowiki>http://localhost:8000</nowiki></code>:<syntaxhighlight lang="text"> | ||
php artisan serve | php artisan serve | ||
</syntaxhighlight>بالطبع، تتوفر خيارات التطوير المحلية | </syntaxhighlight>بالطبع، تتوفر خيارات التطوير المحلية الأكثر قوة من خلال [[Laravel/homestead|Homestead]] و [[Laravel/valet|Valet]]. | ||
== الضبط == | |||
=== المجلد العام === | |||
بعد تثبيت Laravel ، يجب عليك ضبط جذر | بعد تثبيت [[Laravel]] ، يجب عليك ضبط جذر لخادوم الويب الخاص بك ليكون المجلد public. يعمل الملف <code>index.php</code> في هذا المسار بصفته وحدة تحكم أمامية لجميع طلبات HTTP التي تدخل التطبيق الخاص بك. | ||
=== ملفات الضبط === | |||
تُخزَّن كافة ملفات الضبط الخاصة بإطار Laravel في مجلد config. كل خيار من تلك الخيارات موثقٌ توثيقًا كاملًا، لذلك لا تتردد في | تُخزَّن كافة ملفات الضبط الخاصة بإطار [[Laravel]] في مجلد <code>config.</code> كل خيار من تلك الخيارات موثقٌ توثيقًا كاملًا، لذلك لا تتردد في إلقاء نظرة على الملفات والتعرف على الخيارات المتاحة لك. | ||
=== أذونات المجلد === | |||
بعد تثبيت Laravel، قد تحتاج إلى ضبط بعض الأذونات (permissions). يجب أن تكون المجلدات داخل مجلد storage ومجلد <code>bootstrap/cache</code> قابلةً للكتابة بواسطة | بعد تثبيت Laravel، قد تحتاج إلى ضبط بعض الأذونات (permissions). يجب أن تكون المجلدات داخل مجلد storage ومجلد <code>bootstrap/cache</code> قابلةً للكتابة بواسطة خادوم الويب أو فلن يعمل Laravel. إذا كنت تستخدم بيئة عمل [[Laravel/homestead|Homestead]]، فستكون الأذونات المطلوبة مضبوطةً مسبقًا. | ||
=== مفتاح التطبيق === | |||
أول ما عليك فعله بعد تثبيت Laravel هو ضبط مفتاح التطبيق الخاص بك إلى سلسلة نصية عشوائية. إذا | أول ما عليك فعله بعد تثبيت Laravel هو ضبط مفتاح التطبيق الخاص بك إلى سلسلة نصية عشوائية. إذا قمت بتثبيت [[Laravel]] باستخدام Composer أو مثبت Laravel، فقد ضُبِطَ هذا المفتاح لك باستخدام الأمر <code>php artisan key:generate</code>. | ||
يجب أن تكون هذه السلسلة 32 محرفًا عادةً. يمكن تعيين المفتاح في ملف البيئة .env. إذا لم تُعِد تسمية الملف <code>.env.example</code> إلى <code>.env</code>، فيجب عليك القيام بذلك الآن. إذا لم يُضبَط مفتاح التطبيق، فلن تكون جلسات المستخدم الخاصة بك وغيرها من البيانات المشفرة آمنة! | يجب أن تكون هذه السلسلة بطول 32 محرفًا عادةً. يمكن تعيين المفتاح في ملف البيئة .env. إذا لم تُعِد تسمية الملف <code>.env.example</code> إلى <code>.env</code>، فيجب عليك القيام بذلك الآن. إذا لم يُضبَط مفتاح التطبيق، فلن تكون جلسات المستخدم الخاصة بك وغيرها من البيانات المشفرة آمنة! | ||
=== الضبط الإضافي === | |||
لا يحتاج Laravel إلى أي ضبط آخر مبدئيًا. يمكنك البدء بالتطوير فورًا. ومع ذلك، قد ترغب في مراجعة الملف <code>config/app.php</code> وتوثيقه. يحتوي على العديد من الخيارات مثل المنطقة الزمنية (timezone) والمحليّة (locale ) والتي قد ترغب في تغييرها وفقًا لتطبيقك. | لا يحتاج Laravel إلى أي ضبط آخر مبدئيًا. يمكنك البدء بالتطوير فورًا. ومع ذلك، قد ترغب في مراجعة الملف <code>config/app.php</code> وتوثيقه. هذا الملف يحتوي على العديد من الخيارات مثل المنطقة الزمنية (timezone) والمحليّة (locale ) والتي قد ترغب في تغييرها وفقًا لتطبيقك. | ||
قد ترغب أيضًا في تكوين بعض المكونات الإضافية في | قد ترغب أيضًا في تكوين بعض المكونات الإضافية في [[Laravel]]، مثل: | ||
* ذاكرة التخزين المؤقتة | * ذاكرة التخزين المؤقتة | ||
* قاعدة البيانات | * قاعدة البيانات | ||
* الجلسة | * الجلسة | ||
== ضبط | == ضبط خادوم الويب == | ||
=== عناوين URL جذابة === | === عناوين URL جذابة === | ||
==== | ==== خادوم [[Apache]] ==== | ||
يتضمن Laravel الملف <code>public/.htaccess</code> الذي يُستخدم لتوفير عناوين URL | يتضمن Laravel الملف <code>public/.htaccess</code> الذي يُستخدم لتوفير عناوين URL دون وحدة التحكم <code>index.php</code> الأمامية في المسارات. قبل تخديم <nowiki/>[[Laravel]] مع [[Apache]]، تأكد من تفعيل الوحدة <code>mod_rewrite</code> بحيث تُنفَّذ محتويات ملف <code>.htaccess</code> بواسطة الخادوم. | ||
إذا كان ملف <code>.htaccess</code> الذي يأتي مع Laravel لا يعمل مع تثبيت Apache عندك، فجرّب هذا الملف البديل:<syntaxhighlight lang="text"> | إذا كان ملف <code>.htaccess</code> الذي يأتي مع [[Laravel]] لا يعمل مع تثبيت [[Apache]] عندك، فجرّب هذا الملف البديل:<syntaxhighlight lang="text"> | ||
Options+FollowSymLinks | Options +FollowSymLinks -Indexes | ||
RewriteEngine On | |||
RewriteCond %{HTTP:Authorization} . | |||
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] | |||
RewriteCond %{REQUEST_FILENAME} !-d | RewriteCond %{REQUEST_FILENAME} !-d | ||
RewriteCond %{REQUEST_FILENAME} !-f | RewriteCond %{REQUEST_FILENAME} !-f | ||
RewriteRule ^ index.php [L] | RewriteRule ^ index.php [L] | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==== | ==== خادوم <nowiki/>[[Nginx]] ==== | ||
إذا كنت تستخدم | إذا كنت تستخدم خادوم [[Nginx]]، فإن تعليمة الضبط الآتية في ملف ضبط موقعك سيوجه جميع الطلبات إلى وحدة التحكم الأمامية <code>index.php</code>: <syntaxhighlight lang="php"> | ||
إلى وحدة التحكم الأمامية <code>index.php</code>:<syntaxhighlight lang="php"> | |||
location / { | location / { | ||
try_files $uri $uri/ /index.php?$query_string; | try_files $uri $uri/ /index.php?$query_string; | ||
} | } | ||
</syntaxhighlight>بالطبع، عند استخدام Homestead أو | </syntaxhighlight>بالطبع، عند استخدام [[Laravel/homestead|Homestead]] أو [[Laravel/valet|Valet]]، سيتم ضبط عناوين URL جذابة تلقائيًا. | ||
== مصادر == | == مصادر == | ||
* [https://laravel.com/docs/5. | * [https://laravel.com/docs/5.7/installation صفحة Installation في توثيق Laravel الرسمي.] | ||
[[تصنيف:Laravel|{{SUBPAGENAME}}]] | |||
[[تصنيف:Laravel Getting started|{{SUBPAGENAME}}]] |
المراجعة الحالية بتاريخ 05:22، 3 أغسطس 2020
متطلبات الخادوم
يتطلب إطار Laravel بعض متطلبات النظام. بالطبع ، يتم استيفاء جميع هذه المتطلبات من خلال النظام الوهمي لبيئة -Laravel (باسم Homestead)- لذلك يوصى باستخدام بيئة Homestead بيئة تطوير Laravel المحلية الخاصة بك.
ومع ذلك، إذا لم تكن بيئة Homestead متاحةً لك أو لم ترغب في استخدامها، فستحتاج إلى التأكد من أن الخادوم يلبي المتطلبات التالية:
- PHP >= 7.1.3
- ملحق OpenSSL PHP
- ملحق PDO PHP
- ملحق Mbstring PHP
- ملحق Tokenizer PHP
- ملحق XML PHP
- ملحق Ctype PHP
- ملحق JSON PHP
- ملحق BCMath PHP
تثبيت Laravel
يستخدم إطار العمل Laravel برمجية Composer لإدارة التبعيات. لذا تأكد من تثبيت Composer على حاسوبك، قبل استخدام Laravel.
باستخدام مُثبِّت Laravel
حمّل أوّلًا مثبّت Laravel باستخدام Composer :
composer global require "laravel/installer"
احرص على إضافة مجلد vendor/bin
الخاصة ببرنامج Composer إلى متغير البيئة $PATH
بحيث يمكن تحديد موقع الملف القابل للتنفيذ لإطار عمل Laravel بواسطة النظام الخاص بك. يوجد هذا المجلد في مواقع مختلفة اعتمادًا على نظام التشغيل الخاص بك؛ ومع ذلك، من الشائع أن يوجد في المسارات الآتية:
· في نظام ماك: في المسار $HOME/.composer/vendor/bin
· في توزيعات لينكس: في المسار $HOME/.config/composer/vendor/bin
بعد تثبيته، سيُنشِئ الأمر laravel new
مجلدًا يحتوي على نسخة جديدة من إطار Laravel. على سبيل المثال، سيُنشِئ الأمر laravel new blog
مجلدًا جديدًا باسم blog يحتوي على تثبيت Laravel جديد مع جميع تبعيات Laravel اللازمة.
laravel new blog
باستخدام Composer
بدلا عن ذلك، يمكنك أيضًا تثبيت Laravel بتنفيذ الأمر create-project
الخاص ببرمجية Composer في الطرفية على جهازك:
composer create-project --prefer-dist laravel/laravel blog
باستخدام خادوم التطوير المحلي
إذا كنت قد قمت بتثبيت PHP محليًا وترغب في استخدام خادوم التطوير الخاص بلغة PHP لخدمة تطبيقك، فيمكنك استخدام الأمر Artisan serve
. سيبدأ هذا الأمر خادوم تطوير علىhttp://localhost:8000
:
php artisan serve
بالطبع، تتوفر خيارات التطوير المحلية الأكثر قوة من خلال Homestead و Valet.
الضبط
المجلد العام
بعد تثبيت Laravel ، يجب عليك ضبط جذر لخادوم الويب الخاص بك ليكون المجلد public. يعمل الملف index.php
في هذا المسار بصفته وحدة تحكم أمامية لجميع طلبات HTTP التي تدخل التطبيق الخاص بك.
ملفات الضبط
تُخزَّن كافة ملفات الضبط الخاصة بإطار Laravel في مجلد config.
كل خيار من تلك الخيارات موثقٌ توثيقًا كاملًا، لذلك لا تتردد في إلقاء نظرة على الملفات والتعرف على الخيارات المتاحة لك.
أذونات المجلد
بعد تثبيت Laravel، قد تحتاج إلى ضبط بعض الأذونات (permissions). يجب أن تكون المجلدات داخل مجلد storage ومجلد bootstrap/cache
قابلةً للكتابة بواسطة خادوم الويب أو فلن يعمل Laravel. إذا كنت تستخدم بيئة عمل Homestead، فستكون الأذونات المطلوبة مضبوطةً مسبقًا.
مفتاح التطبيق
أول ما عليك فعله بعد تثبيت Laravel هو ضبط مفتاح التطبيق الخاص بك إلى سلسلة نصية عشوائية. إذا قمت بتثبيت Laravel باستخدام Composer أو مثبت Laravel، فقد ضُبِطَ هذا المفتاح لك باستخدام الأمر php artisan key:generate
.
يجب أن تكون هذه السلسلة بطول 32 محرفًا عادةً. يمكن تعيين المفتاح في ملف البيئة .env. إذا لم تُعِد تسمية الملف .env.example
إلى .env
، فيجب عليك القيام بذلك الآن. إذا لم يُضبَط مفتاح التطبيق، فلن تكون جلسات المستخدم الخاصة بك وغيرها من البيانات المشفرة آمنة!
الضبط الإضافي
لا يحتاج Laravel إلى أي ضبط آخر مبدئيًا. يمكنك البدء بالتطوير فورًا. ومع ذلك، قد ترغب في مراجعة الملف config/app.php
وتوثيقه. هذا الملف يحتوي على العديد من الخيارات مثل المنطقة الزمنية (timezone) والمحليّة (locale ) والتي قد ترغب في تغييرها وفقًا لتطبيقك.
قد ترغب أيضًا في تكوين بعض المكونات الإضافية في Laravel، مثل:
- ذاكرة التخزين المؤقتة
- قاعدة البيانات
- الجلسة
ضبط خادوم الويب
عناوين URL جذابة
خادوم Apache
يتضمن Laravel الملف public/.htaccess
الذي يُستخدم لتوفير عناوين URL دون وحدة التحكم index.php
الأمامية في المسارات. قبل تخديم Laravel مع Apache، تأكد من تفعيل الوحدة mod_rewrite
بحيث تُنفَّذ محتويات ملف .htaccess
بواسطة الخادوم.
إذا كان ملف .htaccess
الذي يأتي مع Laravel لا يعمل مع تثبيت Apache عندك، فجرّب هذا الملف البديل:
Options +FollowSymLinks -Indexes
RewriteEngine On
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
خادوم Nginx
إذا كنت تستخدم خادوم Nginx، فإن تعليمة الضبط الآتية في ملف ضبط موقعك سيوجه جميع الطلبات إلى وحدة التحكم الأمامية index.php
:
location / {
try_files $uri $uri/ /index.php?$query_string;
}
بالطبع، عند استخدام Homestead أو Valet، سيتم ضبط عناوين URL جذابة تلقائيًا.