«

Dcat-Admin 基本安装和配置指北

AzerothSong 发布于 阅读:357 laravel


Dcat admin 是一个基于 Laravel 的后台管理系统框架,控制器语法和laravel-admin几乎一致,它提供了丰富的功能和简洁的界面,可以非常适合快速开发后台管理功能。
环境需求:
PHP >= 7.1
Laravel 5.5.0 ~ 9.*
Fileinfo 扩展用于上传文件

  1. 安装 Laravel
    在安装 Dcat-Admin 之前,你需要先安装 Laravel。如果你还没有安装 Laravel,可以通过 Composer 创建一个新的 Laravel 项目:
    composer create-project --prefer-dist laravel/laravel dcat-admin

然后进入项目目录: 查看文件夹目录下面是否有.env文件 如果没有.evn文件,复制.env.example 到.env文件

cd dcat-admin

修改配置文件:配置好数据库和redis连接参数

#定义应用程序的名称。这个名称通常用于邮件、错误日志或其他需要显示应用程序名称的地方。
APP_NAME=Dcat-Admin
#定义应用程序的运行环境。local(本地开发环境)、staging(预发布环境)和 production(生产环境)
APP_ENV=local
#这是 Laravel 应用程序的加密密钥,用于加密和哈希操作。它是一个随机生成的字符串,通常在安装 Laravel 时通过 php artisan key:generate 命令生成。
APP_KEY=base64:syHdqWY7qMUOxLRTnrzk08cezj1kHOYRDS34Ym97vOY=
#控制是否开启调试模式。在开发环境中,通常设置为 true,以便显示详细的错误信息;在生产环境中,设置为 false,以避免泄露敏感信息
APP_DEBUG=true
#定义应用程序的根 URL。这个 URL 用于生成完整的链接,例如在邮件或重定向中使用。
APP_URL=http://www.xuesong.xin
#通常用于控制是否强制使用 HTTPS 访问后台管理界面。
ADMIN_HTTPS=false
#定义日志记录的通道。Laravel 提供了多种日志通道,例如 single、daily、syslog 等。daily 表示每天生成一个新的日志文件。
LOG_CHANNEL=daily
#定义记录弃用警告的通道。single 表示所有弃用警告记录在同一个文件中
LOG_DEPRECATIONS_CHANNEL=single
#定义日志记录的级别。常见的日志级别包括 debug、info、notice、warning、error、critical、alert 和 emergency。debug 是最详细的级别
LOG_LEVEL=debug

#设置数据库链接参数
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=dcat-admin
DB_USERNAME=dcat-admin
DB_PASSWORD=dcat-admin

#广播系统使用的驱动程序。广播用于实现实时通信功能,如 WebSocket 或 Pusher。
BROADCAST_DRIVER=log
#缓存系统使用的驱动程序。缓存用于存储频繁访问的数据,以提高应用程序性能。
CACHE_DRIVER=redis
#文件存储系统使用的默认驱动程序。文件存储用于管理文件上传和存储。
FILESYSTEM_DRIVER=local
#队列系统使用的默认连接。队列用于异步处理耗时任务
QUEUE_CONNECTION=redis
#Laravel 会话系统使用的驱动程序。会话用于存储用户会话数据
SESSION_DRIVER=redis
#定义会话的生命周期,即会话的超时时间,单位-分钟
SESSION_LIFETIME=120

#设置memcache缓存参数
MEMCACHED_HOST=127.0.0.1
#设置redis缓存参数
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
REDIS_DB=0

#设置发送邮件参数
MAIL_MAILER=smtp
MAIL_HOST=mailhog
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME="${APP_NAME}"

#Amazon Web Services (AWS) 的服务参数,与 AWS S3(Simple Storage Service)相关的配置
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
AWS_USE_PATH_STYLE_ENDPOINT=false

#配置 Pusher 的服务参数。实时通信服务,实现实时功能,例如实时聊天、通知推送、实时数据更新等
PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1

MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
#JWT 配置
JWT_SECRET=552b888a33164925c08acaf8d68d9111
JWT_EXPIRE_TIME=86400
#rabbitmq 链接配置
RABBITMQ_HOST=127.0.0.1
RABBITMQ_PORT=5672
RABBITMQ_VHOST=dcat_admin
RABBITMQ_LOGIN=dcat_admin
RABBITMQ_PASSWORD=dcat_admin

#AliyunOSS
ALIYUN_OSS_KEY=
ALIYUN_OSS_SECRET=
ALIYUN_OSS_ENDPOINT=oss-cn-zhangjiakou.aliyuncs.com
ALIYUN_OSS_BUCKET=

#易签宝
ESIGN_API_URL=https://smlopenapi.esign.cn
ESIGN_APP_ID=
ESIGN_SECRET=

#更多自定义的key都可以写在这个下面,通过config/*.php 自己定义参数使用env()方法获取对应的值

2.安装Dcat-Admin
Dcat-Admin 是通过 Composer 安装的。在项目根目录下运行以下命令:

    composer require dcat/laravel-admin:"2.*" -vvv
  1. 发布 Dcat-Admin 资源
    安装完成后,需要发布 Dcat-Admin 的配置文件、资源文件和数据库迁移文件。运行以下命令:
    php arisan admin:publish //发布资源生成config/admin.php配置文件
    php artisan admin:install

    如果出现Specified key was too long ... 767 bytes,请在 app/Providers/AppServiceProvider.php 文件的 boot 方法中加入代码\Schema::defaultStringLength(191);然后删除掉数据库中的所有数据表,再重新运行一遍 php artisan admin:install 命令即可。`
    这个命令会执行以下操作:
    发布 Dcat-Admin 的配置文件到 config/admin.php。
    发布 Dcat-Admin 的资源文件(CSS、JS 等)到 public 目录。
    创建管理员表(admin_users)和权限表(admin_permissions 等)的迁移文件。

  2. 配置管理员用户
    默认情况下,admin:install 命令会创建一个管理员用户。你可以通过以下命令创建管理员用户(如果需要):
    php artisan admin:make-user

    运行后,系统会提示你输入用户名、邮箱和密码。

  3. 配置路由
    Dcat-Admin 的路由文件默认位于 routes/admin.php。你可以在这个文件中定义后台管理的路由。例如:
    use Dcat\Admin\Admin;
    Admin::routes();
    route('admin', function () {
        return view('admin::index');
    });
  4. 配置中间件
    Dcat-Admin 使用中间件来保护后台路由。默认情况下,admin:install 命令会自动注册中间件,你可以在 app/Http/Kernel.php 中检查是否已注册:
    protected $routeMiddleware = [
        // 其他中间件...
        'admin' => \Dcat\Admin\Middleware\Authenticate::class,
    ];
  5. 配置权限
    Dcat-Admin 支持角色和权限管理。你可以在后台管理界面中手动配置角色和权限,也可以通过代码生成权限。例如:
    
    use Dcat\Admin\Models\AdminUser;
    use Dcat\Admin\Models\Role;
    use Dcat\Admin\Models\Permission;

// 创建角色
$role = Role::firstOrCreate(['name' => '管理员']);
// 创建权限
$permission = Permission::firstOrCreate(['name' => '访问后台', 'slug' => 'admin']);
// 将权限分配给角色
$role->givePermissionTo($permission);
// 将角色分配给用户
$user = AdminUser::find(1); // 假设用户 ID 为 1
$user->assignRole($role);

8. 启动开发服务器
运行 Laravel 的开发服务器,访问后台管理界面:
```bash
    php artisan serve

访问 http://localhost:8000/admin,使用管理员账号登录

  1. 其他配置
    修改登录页面
    你可以通过修改 config/admin.php 文件中的 login_path 来改变登录页面的路径。
    修改后台标题
    在 config/admin.php 文件中,找到 title 配置项,修改为你需要的标题。

php laravel