vickzkater/lara-s-cms

Laravel 框架。

安装: 356

依赖者: 0

建议者: 0

安全性: 0

星标: 52

关注者: 7

分支: 15

开放问题: 2

类型:项目


README

LARA-S-CMS

LARA-S-CMS

Build Status Latest Stable Version Total Downloads License

*最新版本:2.0.7 (Laravel 7.30.4)

"Lara-S-CMS" 是什么?

这是一个使用 Bootstrap 4 管理仪表板模板 Gentelella 作为管理模板的 PHP Laravel 骨架,适用于内容管理系统 (CMS) 或(在/不在网站内)的仪表板。

作为网站示例,我们使用的是免费 Bootstrap 4 网站模板 Modern Business

Laravel (S) 内容管理系统

  • 骨架 💀
  • 简单 😃
  • 示例 🤓
  • 标准 💯
  • 智能 🧠
  • 复杂 💡
  • 超级 💪
  • 不满意? 💢
  • 旋转器 🤣

自 2019 年 9 月由 @vickzkater 开发(由 KINIDI Tech 支持)

功能

管理员面板

LARA-S-CMS Modules

网站

LARA-S-CMS Website

版本

要求

安装 Lara-S-CMS

lara-s-cms 使用 Composer 来管理其依赖项。因此,在开始使用 lara-s-cms 之前,请确保您已在您的计算机上安装了 Composer。

Composer 创建项目

您还可以通过在终端中运行 Composer 的 create-project 命令来安装 lara-s-cms。

composer create-project vickzkater/lara-s-cms --prefer-dist website

设置

创建项目后,切换到项目根目录,例如:运行 cd website 命令,并执行设置数据库和配置文件的命令(如果安装时未生成密钥)。

php artisan key:generate

应用密钥

安装 lara-s-cms 后,您应该将应用密钥设置为一个随机字符串。如果您通过 Composer 或 lara-s-cms 安装程序安装了 lara-s-cms,则此密钥已经通过 key:generate 命令为您设置。通常,此字符串应长 32 个字符。该密钥可以设置在 .env 环境文件中。如果您尚未将 .env.example 文件重命名为 .env,现在应该这样做。如果未设置应用密钥,则您的用户会话和其他加密数据将不安全!

接下来,在 .env 文件中设置环境配置

  • 设置 APP_NAME 为应用程序名称

  • 设置 DISPLAY_SESSION 以在 Admin - Footer 中启用/禁用显示会话(开发目的)

  • 设置 APP_MODE 以设置应用程序模式(预发布/LIVE)

  • 设置 APP_VERSION 以设置应用程序版本

  • 设置 APP_BACKEND 以选择应用程序后端模式(模型或 API);如果使用 API,请确保 APP_URL_API 不为空

  • 设置 ADMIN_CMS 以启用/禁用管理面板

  • 设置 ADMIN_DIR 以设置应用程序或管理系统目录名称(如果仅使用管理仪表板,则留空)

  • 设置 APP_URL_SITE 以设置用于社交媒体登录的应用程序 URL

  • 设置 APP_URL_API 以设置 API URL;如果此项目使用后端模式 API(APP_BACKEND=API),请确保此值不为空

  • 设置 API_USER 以设置 API 认证凭据(可选)

  • 设置 API_PASS 以设置 API 认证凭据(可选)

  • 设置 APP_TIMEZONE 以设置应用程序时区,例如:UTC(GMT)或 Asia/Jakarta(GMT+7)或 Asia/Kuala_Lumpur(GMT+8)

  • 设置 APP_MAINTENANCE_UNTIL 以设置应用程序维护截止日期,使用格式(年,月 - 1,日)

  • 设置 MULTILANG_MODULE 以启用/禁用应用程序中的多语言模块

  • 设置 DEFAULT_LANGUAGE 以设置应用程序中的默认语言

  • 设置 META_DESCRIPTION 以设置元描述

  • 设置 META_AUTHOR 以设置元作者

  • 设置 APP_FAVICON_TYPE 以设置favicon类型(ico/png等)

  • 设置 APP_FAVICON 以根据文件图像设置应用程序favicon(输入图像路径),例如:favicon文件位于public/images目录路径,然后设置为'images/favicon.ico'

  • 设置 APP_LOGO 以根据 Font Awesome 设置应用程序logo(输入不带'fa-'的图标名称,例如:star/laptop/bank)

  • 设置 APP_LOGO_IMAGE 以根据文件图像设置应用程序logo(输入图像路径),例如:logo图像位于"public/images"目录路径,然后设置为"images/logo.png"

  • 设置 POWERED 以显示开发者名称

  • 设置 POWERED_URL 以显示开发者URL

  • 设置 MAIL_MODULE 以启用/禁用邮件模块

  • 设置 MAIL_FROM_NAME 以设置发件人电子邮件的名称

  • 设置 MAIL_FROM_ADDRESS 以设置发件人电子邮件的地址

  • 设置 MAIL_REPLYTO_NAME 以设置回复电子邮件的名称

  • 设置 MAIL_REPLYTO_ADDRESS 以设置回复电子邮件的地址

  • 设置 MAIL_CONTACT_NAME 以设置联系电子邮件的名称(用于从“联系我们”页面接收电子邮件)

  • 设置 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 身份验证

  • 设置 GOOGLE_CALLBACK_URL 以设置 GOOGLE API 身份验证回调 URL

  • 设置 FACEBOOK_CLIENT_MODULE 以启用/禁用 FACEBOOK API 身份验证

  • 设置 FACEBOOK_CLIENT_ID 以设置 FACEBOOK API 身份验证

  • 设置 FACEBOOK_CLIENT_SECRET 以设置 FACEBOOK API 身份验证

  • 设置 FACEBOOK_CALLBACK_URL 以设置 FACEBOOK API 身份验证回调 URL

  • 设置 INSTAGRAM_CLIENT_MODULE 以启用/禁用 INSTAGRAM API 身份验证

  • 设置 INSTAGRAM_CLIENT_ID 以设置 INSTAGRAM API 身份验证

  • 设置 INSTAGRAM_CLIENT_SECRET 以设置 INSTAGRAM API 身份验证

  • 设置 INSTAGRAM_CALLBACK_URL 以设置 INSTAGRAM API 身份验证回调 URL

  • 设置 FCM_SERVER_KEY 以设置 Firebase 推送通知

  • 设置 FCM_SENDER_ID 以设置 Firebase 推送通知

  • 设置 SMS_MODULE 以启用/禁用 SMS 模块

  • 设置 GOSMS_AUTH_USER 以设置 GoSMSGateway 凭据

  • 设置 GOSMS_AUTH_PASS 以设置 GoSMSGateway 凭据

  • 设置 ONEWAYSMS_API 以设置 OnewaySMS 网关 API URL

  • 设置 ONEWAYSMS_AUTH_USER 以设置 OnewaySMS 网关凭据

  • 设置 ONEWAYSMS_AUTH_PASS 以设置 OnewaySMS 网关凭据

  • 设置 MC_KEY 以设置 Mailchimp API 密钥

  • 设置 MC_LIST_ID 以设置 Mailchimp 列表 ID

  • 设置 MC_TAG_DEFAULT 以设置 Mailchimp 标签 ID 作为默认值

数据库设置

您必须运行数据库迁移才能运行此应用程序。

确保在 .env 文件中正确设置了 DB_DATABASE,然后运行迁移以创建数据库结构和一些系统数据

php artisan migrate

迁移完成后,运行命令 php artisan serve 或浏览链接以查看管理登录页面(应用程序 URL 加上 /ADMIN_DIR - 基于 .env)。

http://path-to-project-folder/public/manager

LARA-S-CMS Login Page

登录详细信息(默认)

管理员

Username: superuser
Password: sudo123!

配置

基本配置

目录权限

在安装 Lara-S-CMS 后,您可能需要配置一些权限。存储和 bootstrap/cache 目录内的目录应由您的 Web 服务器可写。如果您使用的是 Homestead 虚拟机,这些权限已经设置好了。

另外,还需要配置 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(亚马逊云服务)

*供您参考

  • app\Libraries\ 目录中的 CustomFunction.php,因为它已在 composer.json 中设置,会在网页加载时自动调用
  • app\Libraries\ 目录中的 Helper.php 可以通过代码 use App\Libraries\Helper; 在控制器/视图中调用,以调用一些辅助函数

重要提示!

请在生产环境中将 APP_DEBUG 设置为 false 以禁用 Laravel Debugbar

Session 驱动数据库

当使用 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

您需要在 Illuminate\Session\DatabaseSessionHandler.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;
}
...

维护模式

当您的应用程序处于维护模式时,自定义视图将显示在所有进入您应用程序的请求中。这使得在更新或进行维护时“禁用”应用程序变得容易。您的应用程序默认中间件堆栈中包含维护模式检查。如果应用程序处于维护模式,将抛出一个具有状态码503的HttpException。

要启用维护模式,只需执行 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 文档

LARA-S-CMS Maintenance Mode

维护模式响应模板

维护模式响应的默认模板位于 resources/views/errors/503.blade.phppublic/maintenance/

使用的软件包(Laravel之外)

使用的库

Lara-S-CMS 已被以下收录

LARA-S-CMS on PHP Weekly

贡献

感谢您考虑为Lara-S-CMS做出贡献。

错误、改进和安全漏洞

如果您在Lara-S-CMS中发现错误或安全漏洞,请发送电子邮件到Vicky Budiman vicky@kiniditech.com。所有请求都将得到及时处理。

问题

如果您遇到任何问题/错误,请在此报告

许可证

Lara-S-CMS 是由KINIDI Tech和贡献者构建的开源软件,并许可在 MIT 许可证 下。

致谢

KINDI Tech

KINIDI Tech