* เวอร์ชันล่าสุด: 2.0.7 (Laravel 7.30.4)
Skeleton PHP Laravel สำหรับระบบการจัดการเนื้อหา (CMS) หรือแดชบอร์ดผู้ดูแลระบบ (ภายใน/ไม่มีเว็บไซต์) โดยใช้ Bootstrap 4 Dashboard Dashboard แม่แบบ Gentelella เป็นแม่แบบผู้ดูแลระบบ
สำหรับตัวอย่างเป็นเว็บไซต์เราใช้เทมเพลตเว็บไซต์ Bootstrap 4 ฟรี
ระบบการจัดการเนื้อหา Laravel (S)
พัฒนาโดย @vickzkater (ขับเคลื่อนโดย Kinidi Tech) ตั้งแต่เดือนกันยายน 2562
Session Driver Database ) | Laravel | 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 ได้โดยการออกคำสั่ง composer create-project ในเทอร์มินัลของคุณ:
composer create-project vickzkater/lara-s-cms --prefer-dist website
หลังจากสร้างโครงการย้ายไปยังโฟลเดอร์รูทโครงการเช่น cd website และเรียกใช้คำสั่งเพื่อตั้งค่าฐานข้อมูลและไฟล์การกำหนดค่า (หากคีย์ไม่ได้สร้างขณะติดตั้ง)
php artisan key:generate
คีย์แอปพลิเคชัน
สิ่งต่อไปที่คุณควรทำหลังจากติดตั้ง LARA-S-CMS คือการตั้งค่าปุ่มแอปพลิเคชันของคุณเป็นสตริงสุ่ม หากคุณติดตั้ง LARA-S-CMS ผ่าน Composer หรือตัวติดตั้ง LARA-S-CMS คีย์นี้ได้รับการตั้งค่าให้คุณโดย key:generate คำสั่ง โดยทั่วไปแล้วสตริงนี้ควรมีความยาว 32 อักขระ คีย์สามารถตั้งค่าในไฟล์สภาพแวดล้อม. .env หากคุณยังไม่ได้เปลี่ยนชื่อไฟล์. env.example เป็น. ENV คุณควรทำตอนนี้ หากคีย์แอปพลิเคชันไม่ได้ตั้งค่าเซสชันผู้ใช้และข้อมูลที่เข้ารหัสอื่น ๆ ของคุณจะไม่ปลอดภัย!
ถัดไปการกำหนดค่าสภาพแวดล้อมการตั้งค่าในไฟล์ .env
ตั้งค่า APP_NAME สำหรับชื่อแอปพลิเคชัน
SET DISPLAY_SESSION สำหรับการเปิดใช้งานเซสชันการแสดงผล/ปิดการใช้งานในผู้ดูแลระบบ - ส่วนท้าย (วัตถุประสงค์การพัฒนา)
ตั้งค่า APP_MODE สำหรับโหมดแอปพลิเคชันที่ตั้งไว้ (การจัดเตรียม/สด)
SET APP_VERSION สำหรับชุดแอปพลิเคชันที่ตั้งไว้
ตั้งค่า APP_BACKEND สำหรับเลือกโหมดแบ็คเอนด์แอปพลิเคชัน (รุ่นหรือ API) หากใช้ API โปรดตรวจสอบให้แน่ใจว่า APP_URL_API ไม่ว่างเปล่า
ตั้งค่า ADMIN_CMS สำหรับการเปิด/ปิดใช้งานแผงผู้ดูแลระบบ
ตั้งค่า ADMIN_DIR สำหรับชุดแอปพลิเคชันหรือชื่อไดเรกทอรีระบบผู้ดูแลระบบ (หรือปล่อยให้ว่างถ้าใช้แดชบอร์ดผู้ดูแลระบบเท่านั้น)
ตั้งค่า APP_URL_SITE สำหรับชุดแอปพลิเคชัน URL ที่ใช้สำหรับเข้าสู่ระบบกับโซเชียลมีเดีย
ตั้งค่า APP_URL_API สำหรับ Set API URL หากโครงการนี้ใช้โหมด Back-end API ( APP_BACKEND = API)
SET API_USER สำหรับ SET API Auth Credential (ไม่บังคับ)
SET API_PASS สำหรับ SET API Auth Credential (ไม่บังคับ)
SET APP_TIMEZONE สำหรับแอปพลิเคชัน SET ZONE ตัวอย่าง: UTC (GMT) หรือ Asia/Jakarta (GMT+7) หรือ Asia/Kuala_lumpur (GMT+8)
ตั้ง APP_MAINTENANCE_UNTIL สำหรับแอปพลิเคชันการบำรุงรักษากำหนดเวลาโดยใช้รูปแบบ (y, m - 1, d)
ตั้งค่า MULTILANG_MODULE สำหรับเปิด/ปิดใช้งานโมดูลหลายภาษาในแอปพลิเคชัน
ตั้ง DEFAULT_LANGUAGE สำหรับตั้งค่าภาษาเริ่มต้นในแอปพลิเคชัน
ตั้งค่า META_DESCRIPTION สำหรับชุดคำอธิบายเมตา
SET META_AUTHOR สำหรับ SET META AUTUV
SET APP_FAVICON_TYPE สำหรับ SET FAVICON TYPE (ICO/PNG/etc)
SET APP_FAVICON สำหรับชุดแอปพลิเคชัน FAVICON ตามภาพไฟล์ (อินพุตด้วยเส้นทางของภาพ) ตัวอย่าง: ไฟล์ favicon อยู่ในเส้นทางสาธารณะ/รูปภาพไดเรกทอรีภาพจากนั้นตั้งค่า 'ภาพ/favicon.ico'
SET APP_LOGO สำหรับ SET Application Logo ตาม Font Awesome (อินพุตที่ไม่มี 'fa-' เพียงชื่อไอคอนตัวอย่าง: Star/Laptop/Bank)
SET APP_LOGO_IMAGE สำหรับ SET Application Logo ตามภาพไฟล์ (อินพุตด้วยเส้นทางของ Image) ตัวอย่าง: ภาพโลโก้อยู่ในเส้นทางไดเรกทอรี "สาธารณะ/รูปภาพ" จากนั้นตั้งค่า "รูปภาพ/โลโก้ png"
ตั้ง POWERED สำหรับชื่อนักพัฒนาจอแสดงผล
ตั้ง POWERED_URL สำหรับ url นักพัฒนาจอแสดงผล
ตั้งค่า MAIL_MODULE สำหรับการเปิด/ปิดใช้งานโมดูลเมล
set MAIL_FROM_NAME สำหรับชื่ออีเมลผู้ส่ง
set MAIL_FROM_ADDRESS สำหรับที่อยู่อีเมลผู้ส่ง
set MAIL_REPLYTO_NAME สำหรับตั้งชื่ออีเมลตอบกลับ
SET MAIL_REPLYTO_ADDRESS สำหรับการตั้งค่าที่อยู่อีเมลตอบกลับ
SET MAIL_CONTACT_NAME สำหรับตั้งชื่ออีเมลติดต่อ (ใช้สำหรับรับอีเมลรับจากหน้า "ติดต่อเรา")
SET MAIL_CONTACT_ADDRESS สำหรับชุดที่อยู่อีเมลติดต่อ (ใช้สำหรับรับอีเมลรับจากหน้า "ติดต่อเรา")
ตั้งค่า RECAPTCHA_SITE_KEY สำหรับชุด Google recaptcha
ตั้งค่า RECAPTCHA_SECRET_KEY สำหรับชุด Google recaptcha
ตั้งค่า RECAPTCHA_SITE_KEY_ADMIN สำหรับชุด Google recaptcha ในแดชบอร์ดผู้ดูแลระบบ
ตั้งค่า RECAPTCHA_SECRET_KEY_ADMIN สำหรับชุด Google recaptcha ในแดชบอร์ดผู้ดูแลระบบ
ตั้งค่า AUTH_WITH_PROVIDER สำหรับการเปิด/ปิดการเข้าสู่ระบบด้วยโซเชียลมีเดีย/ผู้ให้บริการ
ตั้งค่า GOOGLE_CLIENT_MODULE สำหรับการเปิดใช้งาน/ปิดใช้งานการรับรองความถูกต้องของ Google API
ตั้งค่า GOOGLE_CLIENT_ID สำหรับตั้งค่าการตรวจสอบสิทธิ์ Google API
ตั้งค่า GOOGLE_CLIENT_SECRET สำหรับตั้งค่าการรับรองความถูกต้องของ Google API
SET GOOGLE_CALLBACK_URL สำหรับ SET Google API Authentication URL การโทรกลับ
ตั้งค่า FACEBOOK_CLIENT_MODULE สำหรับการเปิดใช้งาน/ปิดใช้งานการรับรองความถูกต้องของ Facebook API
SET FACEBOOK_CLIENT_ID สำหรับ SET Facebook API Authentication
ตั้งค่า FACEBOOK_CLIENT_SECRET สำหรับ SET Facebook API Authentication
ตั้งค่า FACEBOOK_CALLBACK_URL สำหรับ set facebook api uthentication url callback url
ตั้งค่า INSTAGRAM_CLIENT_MODULE สำหรับการเปิดใช้งาน/ปิดการตรวจสอบสิทธิ์ Instagram API
ตั้งค่า INSTAGRAM_CLIENT_ID สำหรับการตรวจสอบสิทธิ์ Instagram API
SET INSTAGRAM_CLIENT_SECRET สำหรับการตรวจสอบสิทธิ์ Instagram API
SET INSTAGRAM_CALLBACK_URL สำหรับ SET Instagram API Authentication URL การโทรกลับ
ตั้งค่า FCM_SERVER_KEY สำหรับการแจ้งเตือนการส่ง Firebase Push
ตั้งค่า FCM_SENDER_ID สำหรับ SET Firebase Push Notification
ตั้งค่า SMS_MODULE สำหรับเปิด/ปิดการใช้งานโมดูล SMS
ตั้งค่า GOSMS_AUTH_USER สำหรับชุดข้อมูลรับรอง GOSMSGATEWAY
ตั้งค่า GOSMS_AUTH_PASS สำหรับชุดข้อมูลรับรอง GOSMSGATEWAY
ตั้งค่า ONEWAYSMS_API สำหรับ SET ONEWAYSMS Gateway API URL
SET ONEWAYSMS_AUTH_USER สำหรับ SET ONEWAYSMSMES
SET ONEWAYSMS_AUTH_PASS
SET MC_KEY สำหรับ SET MAILCHIMP API คีย์
ตั้งค่า MC_LIST_ID สำหรับ set mailchimp list id id
ตั้ง MC_TAG_DEFAULT สำหรับ set mailchimp tag id เป็นค่าเริ่มต้น
คุณต้องเรียกใช้การโยกย้ายฐานข้อมูลเพื่อเรียกใช้แอปพลิเคชันนี้
ตรวจสอบให้แน่ใจว่าตั้งค่า 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 ควรตั้งค่าสิทธิ์เหล่านี้แล้ว
และด้วยการกำหนดค่าการอนุญาตสำหรับไดเรกทอรี public/uploads/ ดังนั้นคุณลักษณะการอัปโหลดรูปภาพในโมดูลผลิตภัณฑ์สามารถทำงานได้ดี
chmod o+w -R public/uploads/
* หากหลังจากตั้งค่าการกำหนดค่าทั้งหมด แต่ยังคงแสดงข้อผิดพลาด "500 ข้อผิดพลาดเซิร์ฟเวอร์ภายใน" 500 "
แสดงความคิดเห็นบรรทัดแรกใน .htaccess สำหรับการแก้ไขปัญหานี้
#Header always set Content-Security-Policy: upgrade-insecure-requests
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
*) รายงานปัญหานี้เกิดขึ้นเฉพาะในเซิร์ฟเวอร์โฮสติ้งบางแห่งเช่น AWS (Amazon Web Service)
* สำหรับข้อมูลของคุณ
CustomFunction.php ใน appLibraries ที่เรียกโดยอัตโนมัติในโหลดของเว็บเนื่องจากมีการตั้งค่าใน composer.jsonHelper.php ใน appLibraries ที่สามารถเรียกได้ในคอนโทรลเลอร์/ดูโดยรหัสบรรทัด use AppLibrariesHelper; สำหรับการโทรหาฟังก์ชั่นผู้ช่วย กรุณาตั้ง APP_DEBUG เป็น false ในการผลิตเพื่อปิดการใช้งาน LARAVEL DEBUGBAR
เมื่อใช้ไดรเวอร์เซสชัน 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 Artisan เพื่อสร้างการย้ายถิ่นนี้:
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 Artisan:
php artisan down
ในการปิดใช้งานโหมดการบำรุงรักษาให้ใช้คำสั่ง up :
php artisan up
แม้ในขณะที่อยู่ในโหมดการบำรุงรักษาที่อยู่ IP หรือเครือข่ายเฉพาะอาจได้รับอนุญาตให้เข้าถึงแอปพลิเคชันโดยใช้คำสั่ง
php artisan down --allow=127.0.0.1 --allow=192.168.0.0/16
ที่มา: เอกสาร Laravel
เทมเพลตเริ่มต้นสำหรับการตอบสนองโหมดการบำรุงรักษาอยู่ใน resources/views/errors/503.blade.php และ public/maintenance/
ขอขอบคุณที่พิจารณาสนับสนุน Lara-S-CMS
หากคุณค้นพบข้อผิดพลาดหรือช่องโหว่ด้านความปลอดภัยภายใน lara-s-cms โปรดส่งอีเมลไปที่ Vicky Budiman ที่ [email protected] คำขอทั้งหมดจะได้รับการแก้ไขทันที
หากคุณเจอปัญหา/ข้อผิดพลาดใด ๆ โปรดรายงานที่นี่
Lara-S-CMS เป็นซอฟต์แวร์แบบเปิดโล่งที่สร้างโดย Kinidi Tech และผู้สนับสนุนและได้รับใบอนุญาตภายใต้ใบอนุญาต MIT
นำมาให้คุณโดย
เทคโนโลยี Kinidi