نظرة عامة
في هذا المقال، ستتعلم كيفية استضافة تطبيق Laravel على cPanel. في حال كنت تستخدم خادمًا محليًا مثل WAMP أو XAMPP، فإن هذه الطريقة ستساعدك في تجربته قبل رفعه إلى cPanel الخاص بك.
يغطي المقال خطوتين أساسيتين:
- كيفية نشر التطبيق على استضافة مشتركة.
- كيفية نقل قواعد البيانات دون استخدام أوامر الترحيل (migrate).
تثبيت Laravel على cPanel
هذا التثبيت سيقوم فقط بتنصيب إطار العمل تحت حساب المستخدم الخاص بك، ولكن إذا كنت تستخدم خطة استضافة مشتركة (بصلاحيات SSH محدودة أو بدون صلاحية SSH)، فلن تتمكن من استخدام معظم وظائف Laravel. الطريقة الصحيحة لنشر مشروع Laravel على خطة استضافة مشتركة سيتم شرحها في القسم التالي.
- قم بتسجيل الدخول إلى حسابك في cPanel.
- ضمن قسم SOFTWARE، اختر Softaculous Apps Installer.
- اكتب Laravel في شريط البحث، وفي النافذة التالية اضغط على Install Now.
- في الصفحة التالية، قم بتعبئة المعلومات المطلوبة واختر Quick Install:
- Choose Protocol: اختر بروتوكول SSL أو بدون SSL (http/https).
- Choose Domain: اختر النطاق الذي ترغب بتثبيت البرنامج عليه.
- In Directory: اسم المجلد الذي تريد تثبيت التطبيق فيه.
- اضغط على Install.
- إذا تم التثبيت بنجاح، ستظهر الرسالة التالية:
Laravel is installed successfully
كيفية نشر تطبيقك على استضافة مشتركة
نفترض أنك أنهيت تطوير تطبيقك. ونفترض كذلك أنك تستخدم Laravel 5.0 (هذا الشرح ينطبق أيضًا على Laravel 5.1).
- قم بضغط مجلد المشروع بالكامل على جهازك المحلي. ستحصل على ملف بصيغة zip باسم:
laravelProject.zip
. - افتح لوحة التحكم cPanel الخاصة بالاستضافة المشتركة.
- اضغط على File Manager.
- اضغط على Upload.
- قم برفع ملف
laravelProject.zip
إلى المجلد الجذر (وليسpublic_html
). - بعد انتهاء الرفع، قم باستخراج الملف
laravelProject.zip
. - افتح مجلد
laravelProject
وقم بنقل محتويات مجلد public فقط إلى مجلدpublic_html
في cPanel.- يمكنك الآن حذف مجلد public الفارغ.
- انتقل إلى مجلد
public_html
وابحث عن ملفindex.php
. اضغط بزر الفأرة الأيمن واختر Code Edit. - سيتم فتح محرر الشيفرة في نافذة جديدة.
- قم بتعديل السطرين (22 و36) كالتالي، حسب اسم مجلد مشروعك:
require
__DIR__.'/../laravelProject/bootstrap/autoload.php'; $app = require_once __DIR__.'/../laravelProject/bootstrap/app.php';
:ملاحظة
لا تقم بتعديل محتوى ملف.htaccess
إلا إذا كنت تعلم تماماً ما تقوم به. - انتقل إلى الرابط:
http://yourdomain.com
قد تظهر لك أخطاء في قاعدة البيانات (خاصة إذا كانت النماذج Models تعمل في مشروعك). لا تقلق، الخطوة التالية هي ترحيل قواعد البيانات إلى استضافتك المشتركة.
ترحيل الجداول (قواعد البيانات)
من مميزات Laravel أنه يتيح إنشاء قواعد البيانات باستخدام الأمر:php artisan migrate
لكن في الاستضافة المشتركة، لا يمكن تنفيذ هذا الأمر بسبب غياب صلاحية SSH. ومع ذلك، يمكنك ترحيل الجداول يدوياً بسهولة إذا كان لديك عدد جداول يصل إلى 10.
- أنشئ قاعدة بيانات جديدة على استضافتك
- معظم لوحات cPanel تحتوي على أدوات PHPMyAdmin و Mysql Database Wizard.
- استخدم المعالج لإنشاء قاعدة بيانات ومستخدم، ثم اربط المستخدم بقاعدة البيانات ومنحه جميع الصلاحيات.
- احفظ اسم المستخدم وكلمة المرور لاستخدامها لاحقًا.
- استخدم PHPMyAdmin لإنشاء الجداول
- افتح PHPMyAdmin على جهازك المحلي.
- لكل جدول في قاعدة البيانات، أنشئ الهيكل نفسه على PHPMyAdmin في cPanel.
تصدير واستيراد قواعد البيانات من الجهاز المحلي
- من جهازك المحلي، افتح PHPMyAdmin وحدد قاعدة البيانات التي يستخدمها مشروعك.
- من شريط الأدوات، اختر Export لتصدير القاعدة.
- انتقل إلى لوحة تحكم cPanel، وافتح PHPMyAdmin، واختر قاعدة البيانات التي أنشأتها.
- اختر Import وقم بتحميل ملف SQL الذي قمت بتصديره.
- إذا تمت العملية بنجاح، سترى رسالة نجاح.
الخطوات النهائية
- من File Manager في cPanel، انتقل إلى مجلد
laravelProject
. - افتح الملف:
config/database.php
- اضغط بزر الفأرة الأيمن واختر Code Edit.
- في السطر رقم 55 تقريبًا، قم بتعديل إعدادات MySQL:
- أدخل اسم المستخدم وكلمة المرور الخاصة بقاعدة البيانات التي أنشأتها على cPanel.
إنشاء مشروع Laravel جديد
أول خطوة في هذا الدليل هي إنشاء مشروع Laravel. يمكنك تعلم ذلك من خلال التوثيق الرسمي للـ Laravel لمعرفة خطوات الإنشاء.
إزالة كلمة “public” من رابط الموقع
للوصول بسهولة إلى مشروع Laravel بدون استخدام الأمر php artisan serve
وبدون ظهور “public” في الرابط:
- قم بنقل ملفي
index.php
و.htaccess
من مجلدpublic
إلى جذر المشروع. - افتح ملف
index.php
وقم بالتعديلات التالية واحفظها:- غير السطر 24 إلى:
require __DIR__.'/vendor/autoload.php';
- غير السطر 38 إلى:
$app = require_once __DIR__.'/bootstrap/app.php';
- غير السطر 24 إلى: