* أحدث إصدار: 2.0.7 (Laravel 7.30.4)
هيكل عظمي PHP Laravel لنظام إدارة المحتوى (CMS) أو لوحة معلومات المسؤول (داخل/بدون موقع ويب) باستخدام قالب لوحة معلومات Bootstrap 4 adminplate كقالب المسؤول.
للعينة كموقع ويب ، نحن نستخدم الأعمال الحديثة لقالب موقع Bootstrap 4 المجاني
نظام إدارة المحتوى Laravel (S)
تم تطويره بواسطة VickzKater (مدعوم من Kinidi Tech) منذ سبتمبر 2019
Session Driver Database ) | لارافيل | LARA-S-CMS |
|---|---|
| 5.8.x | 1.0 ؛ 1.1.0 |
| 6.x | 1.0.1 ؛ 1.1.1 |
| 7.x | 1.2.x ؛ 2.x |
تستخدم LARA-S-CMS الملحن لإدارة تبعياته. لذلك ، قبل استخدام LARA-S-CMS ، تأكد من تثبيت الملحن على جهازك.
يمكنك أيضًا تثبيت LARA-S-CMS عن طريق إصدار أمر create-project في المحطة الخاصة بك:
composer create-project vickzkater/lara-s-cms --prefer-dist website
بعد إنشاء المشروع ، انتقل إلى مجلد جذر المشروع على سبيل المثال: cd website وقم بتشغيل الأمر لإعداد ملفات قاعدة البيانات وملفات التكوين (إذا لم يتم إنشاء المفتاح أثناء التثبيت).
php artisan key:generate
مفتاح التطبيق
الشيء التالي الذي يجب عليك فعله بعد تثبيت LARA-S-CMS هو تعيين مفتاح التطبيق الخاص بك على سلسلة عشوائية. إذا قمت بتثبيت LARA-S-CMS عبر الملحن أو مثبت LARA-S-CMS ، فقد تم بالفعل تعيين هذا المفتاح لك بواسطة key:generate الأمر. عادة ، يجب أن تكون هذه السلسلة 32 حرفًا. يمكن تعيين المفتاح في ملف البيئة .env . إذا لم تقم بإعادة تسمية ملف .env.example إلى .env ، فيجب عليك القيام بذلك الآن. إذا لم يتم تعيين مفتاح التطبيق ، فلن تكون جلسات المستخدم والبيانات المشفرة الأخرى آمنة!
بعد ذلك ، تكوين بيئة الإعداد في ملف .env
اضبط APP_NAME لاسم التطبيق
set DISPLAY_SESSION لتمكين/تعطيل جلسة العرض في المشرف - تذييل (غرض التطوير)
تعيين APP_MODE لتعيين وضع التطبيق (التدريج/المباشر)
تعيين APP_VERSION لضبط إصدار التطبيق
قم بتعيين APP_BACKEND لاختيار وضع Application Back-End Mode (Model أو API) إذا استخدم API ، يرجى التأكد من APP_URL_API غير فارغ
تعيين ADMIN_CMS لتمكين/تعطيل لوحة المسؤول
SET ADMIN_DIR لمجموعة التطبيق أو اسم دليل نظام المشرف (أو اتركه فارغًا إذا كنت تستخدم لوحة معلومات المسؤول فقط)
قم بتعيين APP_URL_SITE لمجموعة URL للتطبيق المستخدم لتسجيل الدخول مع وسائل التواصل الاجتماعي
قم بتعيين APP_URL_API لمجموعة url API ، إذا كان هذا المشروع باستخدام وضع الوضع الخلفي API ( APP_BACKEND = api)
تعيين API_USER لمجموعة API Auth Credition (اختياري)
SET API_PASS لمجموعة بيانات اعتماد API (اختياري)
تعيين APP_TIMEZONE لتطبيق تعيين المنطقة الزمنية ، العينة: UTC (GMT) أو آسيا/jakarta (GMT+7) أو آسيا/kuala_lumpur (GMT+8)
تعيين APP_MAINTENANCE_UNTIL لمجموعة تطبيق صيانة الموعد النهائي باستخدام التنسيق (y ، m - 1 ، d)
تعيين MULTILANG_MODULE لتمكين/تعطيل وحدة اللغات المتعددة في التطبيق
اضبط DEFAULT_LANGUAGE لتعيين اللغة الافتراضية في التطبيق
تعيين META_DESCRIPTION لمجموعة meta الوصف
تعيين META_AUTHOR لمؤلف مجموعة meta
تعيين APP_FAVICON_TYPE لضبط نوع favicon (ICO/PNG/etc)
قم بتعيين APP_FAVICON لتعيين تطبيق Favicon استنادًا إلى صورة الملف (إدخال مع مسار Image) ، عينة: ملف Favicon في مسار الدليل العام/الصور ، ثم قم بتعيين "الصور/favicon.ico"
قم بتعيين APP_LOGO لضبط شعار التطبيق استنادًا إلى Font Awesome (إدخال بدون 'fa-' فقط اسم الأيقونة ، مثال: Star/Lampy/Bank)
قم بتعيين APP_LOGO_IMAGE لمجموعة شعار التطبيق استنادًا إلى صورة الملف (إدخال مع مسار الصورة) ، العينة: صورة الشعار في مسار الدليل "Public/Images" ، ثم قم بتعيين "الصور/logo.png"
تعيين POWERED لاسم مطور العرض
تعيين POWERED_URL لعنوان URL لمطور العرض
تعيين MAIL_MODULE لتمكين/تعطيل وحدة البريد
تعيين MAIL_FROM_NAME للحصول على اسم البريد الإلكتروني المرسل تعيين
تعيين MAIL_FROM_ADDRESS لعنوان Set Sender البريد الإلكتروني
تعيين MAIL_REPLYTO_NAME لمجموعة الرد على اسم البريد الإلكتروني
تعيين MAIL_REPLYTO_ADDRESS لمجموعة الرد على عنوان البريد الإلكتروني
set MAIL_CONTACT_NAME for set contact اسم البريد الإلكتروني (يستخدم لتلقي البريد الإلكتروني من صفحة "الاتصال بنا")
set MAIL_CONTACT_ADDRESS لمجموعة عنوان البريد الإلكتروني contact (يستخدم لتلقي البريد الإلكتروني من صفحة "الاتصال بنا")
SET RECAPTCHA_SITE_KEY لمجموعة Google Recaptcha
SET RECAPTCHA_SECRET_KEY لمجموعة Google Recaptcha
SET RECAPTCHA_SITE_KEY_ADMIN لمجموعة Google Recaptcha في لوحة معلومات المسؤول
SET RECAPTCHA_SECRET_KEY_ADMIN لمجموعة Google Recaptcha في لوحة معلومات المسؤول
اضبط AUTH_WITH_PROVIDER لتمكين/تعطيل تسجيل الدخول مع وسائل التواصل الاجتماعي/المزود
قم بتعيين GOOGLE_CLIENT_MODULE لتمكين/تعطيل مصادقة Google API
SET GOOGLE_CLIENT_ID لتعيين مصادقة Google API
تعيين GOOGLE_CLIENT_SECRET لمجموعة مصادقة Google API
SET GOOGLE_CALLBACK_URL لمجموعة عنوان URL للاتصال المصادقة API Google
اضبط FACEBOOK_CLIENT_MODULE لتمكين/تعطيل مصادقة API على Facebook
تعيين FACEBOOK_CLIENT_ID لمجموعة Facebook API مصادقة
قم بتعيين FACEBOOK_CLIENT_SECRET لمجموعة مصادقة API على Facebook
اضبط FACEBOOK_CALLBACK_URL لمجموعة عنوان URL لصالح مصادقة API على Facebook
اضبط INSTAGRAM_CLIENT_MODULE لتمكين/تعطيل مصادقة API Instagram
قم بتعيين INSTAGRAM_CLIENT_ID لتعيين مصادقة API Instagram
تعيين INSTAGRAM_CLIENT_SECRET لمجموعة مصادقة API Instagram
تعيين INSTAGRAM_CALLBACK_URL لمجموعة عنوان URL لتوصيف API Instagram API
تعيين FCM_SERVER_KEY لمجموعة الإخطار بدفع FIREBASE
تعيين FCM_SENDER_ID لمجموعة Firebase Push Attification
اضبط SMS_MODULE لتمكين/تعطيل وحدة الرسائل القصيرة
SET GOSMS_AUTH_USER لمجموعة بيانات اعتماد GOSMSGATEWAY
SET GOSMS_AUTH_PASS لمجموعة بيانات اعتماد GOSMSGATEWAY
تعيين ONEWAYSMS_API ل set Onewaysms Gateway API url
SET ONEWAYSMS_AUTH_USER لمجموعة OneWaysms Gateway بيانات الاعتماد
set ONEWAYSMS_AUTH_PASS لمجموعة OneWaysms Gateway بيانات اعتماد
تعيين MC_KEY لمجموعة MailChimp API مفتاح
تعيين MC_LIST_ID لمعرفة معرف قائمة MailChimp
اضبط MC_TAG_DEFAULT لمعرفة معرف علامة MailChimp على أنها افتراضية
يجب تشغيل ترحيل قاعدة البيانات لتشغيل هذا التطبيق.
تأكد من تعيين DB_DATABASE بشكل صحيح في ملف .env ثم قم بتشغيل الترحيل لإنشاء قاعدة بيانات الهيكل وبعض بيانات النظام
php artisan migrate
بعد الانتهاء من الترحيل ، قم بتشغيل الأمر php artisan serve أو تصفح الرابط لعرض صفحة تسجيل الدخول المشرف (عنوان URL للتطبيق مع الإضافة /ADMIN_DIR - استنادًا إلى .env ).
http://path-to-project-folder/public/manager
المسؤول
Username: superuser
Password: sudo123!
أذونات الدليل
بعد تثبيت LARA-S-CMS ، قد تحتاج إلى تكوين بعض الأذونات. يجب أن تكون الدلائل داخل storage ودليلات bootstrap/cache قابلة للكتابة بواسطة خادم الويب الخاص بك. إذا كنت تستخدم جهاز Homestead Virtual ، فيجب تعيين هذه الأذونات بالفعل.
ومع تكوين الإذن بالإضافة إلى الدليل public/uploads/ . لذا ، يمكن أن تعمل ميزة الصور في وحدة المنتج بشكل جيد.
chmod o+w -R public/uploads/
* إذا بعد إعداد جميع التكوينات ، ولكن لا يزال يعرض خطأ "500 خطأ خادم داخلي"
التعليق السطر الأول في .htaccess لإصلاح هذه المشكلة
#Header always set Content-Security-Policy: upgrade-insecure-requests
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
*) تم الإبلاغ عن هذه المشكلة تحدث فقط على بعض خوادم الاستضافة ، مثل AWS (خدمة الويب Amazon)
* لمعلوماتك
CustomFunction.php في appLibraries التي تم استدعاؤها تلقائيًا في تحميل الويب لأنه تم تعيينه في composer.jsonHelper.php in appLibraries التي يمكن استدعاؤها في وحدة التحكم/عرض رمز السطر use AppLibrariesHelper; لاستدعاء بعض وظائف المساعد يرجى تعيين APP_DEBUG على false في الإنتاج لتعطيل Debugbar Laravel.
عند استخدام برنامج تشغيل جلسة database ، ستحتاج إلى إنشاء جدول لاحتواء عناصر الجلسة. فيما يلي مثال على إعلان Schema للجدول:
Schema::create('sessions', function ($table) {
$table->string('id')->unique();
$table->foreignId('user_id')->nullable();
$table->string('ip_address', 45)->nullable();
$table->text('user_agent')->nullable();
$table->text('payload');
$table->integer('last_activity');
});
يمكنك استخدام session:table الحرفي لإنشاء هذه الترحيل:
php artisan session:table
php artisan migrate
ثم تحتاج إلى إجراء بعض التغييرات في IlluminateSessionDatabaseSessionHandler.php
...
protected function addUserInformation(&$payload)
{
if ($this->container->bound(Guard::class)) {
$payload['user_id'] = $this->userId();
}
// ADDED FOR LARA-S-CMS BY KINIDI TECH - BEGIN
if(Session::has('admin')){
$larascms_user = Session::get('admin');
$payload['user_id'] = $larascms_user->id;
}
// ADDED FOR LARA-S-CMS BY KINIDI TECH - END
return $this;
}
...
عندما يكون التطبيق الخاص بك في وضع الصيانة ، سيتم عرض عرض مخصص لجميع الطلبات في التطبيق الخاص بك. هذا يجعل من السهل "تعطيل" تطبيقك أثناء التحديث أو عند إجراء الصيانة. يتم تضمين فحص وضع الصيانة في مكدس الوسيطة الافتراضية للتطبيق الخاص بك. إذا كان التطبيق في وضع الصيانة ، فسيتم إلقاء HTTPException برمز حالة 503.
لتمكين وضع الصيانة ، ما عليك سوى تنفيذ الأمر الحرفي down :
php artisan down
لتعطيل وضع الصيانة ، استخدم الأمر up :
php artisan up
حتى أثناء وجوده في وضع الصيانة ، قد يُسمح لعناوين IP أو شبكات محددة بالوصول إلى التطبيق باستخدام الأمر
php artisan down --allow=127.0.0.1 --allow=192.168.0.0/16
المصدر: وثائق لارافيل
يقع القالب الافتراضي لاستجابات وضع الصيانة في resources/views/errors/503.blade.php public/maintenance/
شكرًا لك على المساهمة في LARA-S-CMS.
إذا اكتشفت وجود خطأ أو ثغرة أمنية في Lara-S-CMS ، فيرجى إرسال بريد إلكتروني إلى Vicky Budiman على [email protected]. سيتم معالجة جميع الطلبات على الفور.
إذا واجهت أي مشكلة/خطأ ، يرجى الإبلاغ عنها هنا.
LARA-S-CMS عبارة عن برنامج مفتوح المصدر تم تصميمه بواسطة Kinidi Tech والمساهمين والمرخصين بموجب ترخيص معهد ماساتشوستس للتكنولوجيا.
أحضر لك
كينيدي التكنولوجيا