التثبيت في Laravel
متطلبات الخادم
يتطلب إطار Laravel بعض متطلبات النظام. بالطبع ، يتم استيفاء جميع هذه المتطلبات من خلال النظام الوهمي لبيئة -Laravel (باسم Homestead)- لذلك يوصى بشدة باستخدام بيئة Homestead كبيئة تطوير Laravel المحلية الخاصة بك.
ومع ذلك، إذا لم تكن تستخدم بيئة Homestead متاحةً لك أو ترغب في استخدامها، فستحتاج إلى التأكد من أن الخادم يلبي المتطلبات التالية:
· PHP >= 7.1.3
· ملحق OpenSSL PHP
· ملحق PDO PHP
· ملحق Mbstring PHP
· ملحق Tokenizer PHP
· ملحق XML PHP
· ملحق Ctype PHP
· ملحق JSON PHP
تثبيت Laravel
يستخدم إطار العمل Laravel برمجية Composer لإدارة الاعتماديات. لذا تأكد من تثبيت Composer على حاسوبك، قبل استخدام Laravel.
باستخدام مُثبِّت Laravel
composer global require "laravel/installer"
احرص على إضافة مجلد vendor/bin الخاصة ببرنامج Composer إلى متغير البيئة $PATH بحيث يمكن تحديد موقع الملف القابل للتنفيذ لإطار عمل Laravel بواسطة النظام الخاص بك. يوجد هذا المجلد في مواقع مختلفة اعتمادًا على نظام التشغيل الخاص بك؛ ومع ذلك، من الشائع أن يوجد في المسارات الآتية:
· في نظام macOS: في المسار $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
RewriteEngine On
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 جذابة تلقائيًا.