الفرق بين المراجعتين لصفحة: «Laravel/installation»

من موسوعة حسوب
مراجعة الترجمة
 
(13 مراجعة متوسطة بواسطة 3 مستخدمين غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE:التثبيت في Laravel }}</noinclude>
<noinclude>{{DISPLAYTITLE:تثبيت Laravel }}</noinclude>
== متطلبات الخادوم ==
يتطلب إطار [[Laravel]] بعض متطلبات النظام. بالطبع ، يتم استيفاء جميع هذه المتطلبات من خلال النظام الوهمي لبيئة -Laravel (باسم [[Laravel/homestead|Homestead]])- لذلك يوصى باستخدام بيئة [[Laravel/homestead|Homestead]] بيئة تطوير [[Laravel]] المحلية الخاصة بك.


== متطلبات الخادم ==
ومع ذلك، إذا لم تكن بيئة [[Laravel/homestead|Homestead]] متاحةً لك أو لم ترغب في استخدامها، فستحتاج إلى التأكد من أن الخادوم يلبي المتطلبات التالية:
يتطلب إطار Laravel بعض متطلبات النظام. بالطبع ، يتم استيفاء جميع هذه المتطلبات من خلال النظام الوهمي لبيئة -Laravel (باسم Homestead)- لذلك يوصى بشدة باستخدام بيئة [[Laravel/homestead|Homestead]] كبيئة تطوير Laravel المحلية الخاصة بك.
* PHP >= 7.1.3
 
* ملحق OpenSSL PHP
ومع ذلك، إذا لم تكن تستخدم بيئة Homestead متاحةً لك أو ترغب في استخدامها، فستحتاج إلى التأكد من أن الخادم يلبي المتطلبات التالية:
* ملحق PDO PHP
 
* ملحق Mbstring PHP
·       PHP >= 7.1.3
* ملحق Tokenizer PHP
 
* ملحق XML PHP
·        ملحق OpenSSL PHP
* ملحق Ctype PHP
 
* ملحق JSON PHP
·        ملحق PDO PHP
* ملحق BCMath PHP
 
·        ملحق Mbstring PHP
 
·        ملحق Tokenizer PHP
 
·        ملحق XML PHP
 
·        ملحق Ctype PHP
 
·        ملحق JSON PHP


== تثبيت Laravel ==
== تثبيت Laravel ==
يستخدم إطار العمل Laravel برمجية Composer لإدارة الاعتماديات. لذا تأكد من تثبيت Composer على حاسوبك، قبل استخدام Laravel.
يستخدم إطار العمل [[Laravel]] برمجية Composer لإدارة التبعيات. لذا تأكد من تثبيت Composer على حاسوبك، قبل استخدام [[Laravel]].


==== باستخدام مُثبِّت Laravel ====
=== باستخدام مُثبِّت [[Laravel]] ===
حمّل أوّلًا مثبّت Laravel باستخدام Composer :<syntaxhighlight lang="text">
حمّل أوّلًا مثبّت [[Laravel]] باستخدام Composer :<syntaxhighlight lang="text">
composer global require "laravel/installer"
composer global require "laravel/installer"


</syntaxhighlight>احرص على إضافة مجلد <code>vendor/bin</code> الخاصة ببرنامج Composer إلى متغير البيئة ‎<code>$PATH</code> بحيث يمكن تحديد موقع الملف القابل للتنفيذ لإطار عمل Laravel بواسطة النظام الخاص بك. يوجد هذا المجلد في مواقع مختلفة اعتمادًا على نظام التشغيل الخاص بك؛ ومع ذلك، من الشائع أن يوجد في المسارات الآتية:
</syntaxhighlight>احرص على إضافة مجلد <code>vendor/bin</code> الخاصة ببرنامج Composer إلى متغير البيئة ‎<code>$PATH</code> بحيث يمكن تحديد موقع الملف القابل للتنفيذ لإطار عمل [[Laravel]] بواسطة النظام الخاص بك. يوجد هذا المجلد في مواقع مختلفة اعتمادًا على نظام التشغيل الخاص بك؛ ومع ذلك، من الشائع أن يوجد في المسارات الآتية:


·        في نظام macOS: في المسار <code>‎$HOME/.composer/vendor/bin</code>
·        في نظام ماك: في المسار <code>‎$HOME/.composer/vendor/bin</code>


·        في توزيعات لينكس: في المسار <code>‎$HOME/.config/composer/vendor/bin</code>
·        في توزيعات لينكس: في المسار <code>‎$HOME/.config/composer/vendor/bin</code>


بعد تثبيته، سيُنشِئ الأمر <code>laravel new</code> مجلدًا يحتوي على نسخة جديدة من إطار Laravel. على سبيل المثال ، سيُنشِئ الأمر <code>laravel new blog</code> مجلدًا جديدًا باسم blog يحتوي على تثبيت Laravel جديد مع جميع اعتماديات Laravel اللازمة.<syntaxhighlight lang="text">
بعد تثبيته، سيُنشِئ الأمر <code>laravel new</code> مجلدًا يحتوي على نسخة جديدة من إطار [[Laravel]]. على سبيل المثال، سيُنشِئ الأمر <code>laravel new blog</code> مجلدًا جديدًا باسم blog يحتوي على تثبيت [[Laravel]] جديد مع جميع تبعيات [[Laravel]] اللازمة.<syntaxhighlight lang="text">
laravel new blog
laravel new blog
</syntaxhighlight>
</syntaxhighlight>


==== باستخدام Composer ====
=== باستخدام Composer ===
بشكلٍ بديل، يمكنك أيضًا تثبيت Laravel بتنفيذ الأمر <code>create-project</code> الخاص ببرمجية Composer في الطرفية على جهازك:<syntaxhighlight lang="text">
بدلا عن ذلك، يمكنك أيضًا تثبيت [[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 لتخديم تطبيقك، فيمكنك استخدام الأمر Artisan serve. سيبدأ هذا الأمر خادم تطوير على<code><nowiki>http://localhost:8000</nowiki></code>:<syntaxhighlight lang="text">
إذا كنت قد قمت بتثبيت [[PHP]] محليًا وترغب في استخدام خادوم التطوير الخاص بلغة PHP لخدمة تطبيقك، فيمكنك استخدام الأمر <code>Artisan serve</code>. سيبدأ هذا الأمر خادوم تطوير على<code><nowiki>http://localhost:8000</nowiki></code>:<syntaxhighlight lang="text">
php artisan serve
php artisan serve
</syntaxhighlight>بالطبع، تتوفر خيارات التطوير المحلية أكثر قوة من خلال [[Laravel/homestead|Homestead]] و [[Laravel/valet|Valet]].
</syntaxhighlight>بالطبع، تتوفر خيارات التطوير المحلية الأكثر قوة من خلال [[Laravel/homestead|Homestead]] و [[Laravel/valet|Valet]].


=== الضبط ===
== الضبط ==


==== المجلد العام ====
=== المجلد العام ===
بعد تثبيت Laravel ، يجب عليك ضبط جذر لخادم الويب الخاص بك ليكون المجلد public. يعمل الملف <code>index.php</code>  في هذا المسار كوحدة تحكم أمامية لجميع طلبات HTTP التي تدخل التطبيق الخاص بك.
بعد تثبيت [[Laravel]] ، يجب عليك ضبط جذر لخادوم الويب الخاص بك ليكون المجلد public. يعمل الملف <code>index.php</code>  في هذا المسار بصفته وحدة تحكم أمامية لجميع طلبات HTTP التي تدخل التطبيق الخاص بك.


==== ملفات الضبط ====
=== ملفات الضبط ===
تُخزَّن كافة ملفات الضبط الخاصة بإطار Laravel في مجلد <code>config.</code> كل خيار من تلك الخيارات موثقٌ توثيقًا كاملًا، لذلك لا تتردد في النظر في الملفات والتعرف على الخيارات المتاحة لك.
تُخزَّن كافة ملفات الضبط الخاصة بإطار [[Laravel]] في مجلد <code>config.</code> كل خيار من تلك الخيارات موثقٌ توثيقًا كاملًا، لذلك لا تتردد في إلقاء نظرة على  الملفات والتعرف على الخيارات المتاحة لك.


==== أذونات المجلد ====
=== أذونات المجلد ===
بعد تثبيت Laravel، قد تحتاج إلى ضبط بعض الأذونات (permissions). يجب أن تكون المجلدات داخل مجلد storage ومجلد <code>bootstrap/cache</code> قابلةً للكتابة بواسطة خادم الويب أو لن يعمل Laravel. إذا كنت تستخدم بيئة عمل [[Laravel/homestead|Homestead]]، فستكون الأذونات المطلوبة مضبوطةً مسبقًا.
بعد تثبيت Laravel، قد تحتاج إلى ضبط بعض الأذونات (permissions). يجب أن تكون المجلدات داخل مجلد storage ومجلد <code>bootstrap/cache</code> قابلةً للكتابة بواسطة خادوم الويب أو فلن يعمل Laravel. إذا كنت تستخدم بيئة عمل [[Laravel/homestead|Homestead]]، فستكون الأذونات المطلوبة مضبوطةً مسبقًا.


==== مفتاح التطبيق ====
=== مفتاح التطبيق ===
أول ما عليك فعله بعد تثبيت Laravel هو ضبط مفتاح التطبيق الخاص بك إلى سلسلة نصية عشوائية. إذا ثبتت Laravel باستخدام Composer أو مثبت Laravel، فقد ضُبِطَ هذا المفتاح لك باستخدام الأمر <code>php artisan key:generate</code>.
أول ما عليك فعله بعد تثبيت 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، مثل:
قد ترغب أيضًا في تكوين بعض المكونات الإضافية في [[Laravel]]، مثل:
* ذاكرة التخزين المؤقتة
* ذاكرة التخزين المؤقتة
* قاعدة البيانات
* قاعدة البيانات
* الجلسة
* الجلسة


== ضبط خادم الويب ==
== ضبط خادوم الويب ==


=== عناوين URL جذابة ===
=== عناوين URL جذابة ===


==== خادم Apache ====
==== خادوم [[Apache]] ====
يتضمن Laravel الملف <code>public/.htaccess</code> الذي يُستخدم لتوفير عناوين URL بدون وحدة التحكم <code>index.php</code> الأمامية في المسارات. قبل تخديم  Laravel مع Apache، تأكد من تفعيل الوحدة <code>mod_rewrite</code> بحيث تُنفَّذ محتويات ملف <code>‎.htaccess</code> بواسطة الخادم.
يتضمن 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


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>


==== خادم  Nginx ====
==== خادوم  <nowiki/>[[Nginx]] ====
إذا كنت تستخدم خادم 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;
سطر 104: سطر 93:


== مصادر ==
== مصادر ==
* [https://laravel.com/docs/5.6/installation صفحة Installation في توثيق Laravel الرسمي.]
* [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 جذابة تلقائيًا.

مصادر