使用 Laravel 快速构建网站系列 —— 内容管理系统:Bootstrap CMS

Bootstrap_CMS

1、简介

Bootstrap CMS 不是一个网站,而是一个建站CMS,由Graham Campbell维护,基于Laravel5.1Sentry。Bootstrap CMS将多个Laravel包整合到一起(但不止于此),包括Laravel CoreLaravel Credentials等,从而为我们打造一个由Laravel驱动的功能强大的CMS。

2、GitHub

https://github.com/BootstrapCMS/CMS

3、文档

3.1 安装

使用Bootstrap CMS之前要先安装PHP 5.5+或HHVM 3.6+,数据库以及Composer

  1. 有三种方式获取Bootstrap CMS代码:
    • 使用GitHub:简单下载zip格式文件即可
    • 使用Git:git clone git@github.com:BootstrapCMS/CMS.git
    • 使用Composer:composer create-project graham-campbell/bootstrap-cms --prefer-dist -s dev
  2. 在命令行进入项目根目录,运行composer install --no-dev -o然后运行npm install
  3. 将本地数据库配置信息填写到配置文件config/database.php
  4. 运行php artisan app:installgulp --production安装应用。
  5. 将邮件服务器配置信息填写到配置文件config/mail.php
    • 你可以在配置文件config/credentials.php中禁止邮件认证
    • 某些功能如密码重置和联系表单需要邮件功能
    • 必须在配置文件config/contact.php中设置联系邮箱地址
    • 推荐使用邮件队列发送大量邮件(详见下面设置队列部分)
  6. 最后,设置Apache/Nginx指向public目录
    • 本地开发的话也可以简单运行php artisan serve开启服务器

3.2 设置队列

Bootstrap CMS使用Laravel的队列系统来负载批量任务,比如发送邮件,这种任务需要较长时间完成,使用队列异步执行则用户无需等待页面的长时间加载。默认情况下,我们使用“sync”队列驱动。

  •  查看Laravel队列文档
  • 在配置文件 config/queue.php中填写你的队列服务器配置信息

3.3 设置缓存

Bootstrap CMS提供了缓存功能,启用缓存需要一个缓存服务器。需要注意的是这里的缓存不支持Laravel的filedatabase缓存驱动。

  • 选择一个缓存系统——我们推荐Redis
  • 在配置文件 config/cache.php中填写你的缓存服务器信息
  • 如果设置缓存驱动为数组的话将会禁止缓存

3.4 设置主题

Bootstrap CMS还提供了18个主题,其中16个来自Bootswatch

  • 可以在配置文件 config/theme.php中设置主题
  • 还可以在 config/theme.php中设置导航栏样式
  • 修改主题后,需要运行 php artisan app:update

3.5 设置Google Analytics

Bootstrap CMS原生支持 Google Analytics

  • 在 Google Analytics设置web属性
  • 在配置文件中 config/analytics.php填写你的跟踪ID
  • config/analytics.php中开启 Google Analytics。

3.6 设置CloudFlare Analytics

Bootstrap CMS可以通过一个包读取 CloudFlare统计数据

  •  按照 Laravel CloudFlare包安装指南安装该Laravel包
  • Bootstrap CMS会自动检测这个包,只允许管理员访问,以及添加链接到导航条

学院君 has written 619 articles

资深PHP工程师,Laravel学院院长

37 thoughts on “使用 Laravel 快速构建网站系列 —— 内容管理系统:Bootstrap CMS

  1. jackie says:

    Not Found
    What does this mean?

    Something went wrong on our servers while we were processing your request. The requested resource could not be found but may be available again in the future. This occurrence has been logged, and a highly trained team of monkeys has been dispatched to deal with your problem. We’re really sorry about this, and will work hard to get this resolved as soon as possible.

    This error can be identified by 2bd75282-ba1a-4726-951a-09a61d949b43. You might want to take a note of this code.

    Perhaps you would like to go to our home page?

  2. 何栋 says:

    安装成功显示500错误;网上搜索到:In you cms folder, run ‘php artisan key:generate’ and put that key generated into config/app.php, searching the keyword ‘APP_KEY’.解决方式在项目目录中输入“php artisan key:generate”生成一串key然后到config/app.php里面大概102行里替换成那串key

      1. Zombye says:

        You should have the default cypher in config/app.php as ‘AES-256-CBC’. It requires a 32 character string, but the default key is “SomeRandomString,” which is only 16 characters.Either you change the cypher to ‘AES-128-CBC’ that works well with 16 character key, or you generate a new 32 character string for the key.Do ‘php artisan key:generate’ on the command line. This will generate the proper key for you.Update: Cache compiled had issues and a php artisan clear-compiled fixed it.

      2. RekeyYang says:

        这个问题的主要原因是伪静态的问题!
        因为Nginx 和 Apache 的.htaccess内容写法是有区别的!
        如果是Nginx,请用以下代码替代原来public下的.htaccess.的内容
        rewrite ^/(.*)/$ /$1 permanent;
        if (!-d $request_filename){
        set $rule_1 1$rule_1;
        }
        if (!-f $request_filename){
        set $rule_1 2$rule_1;
        }
        if ($rule_1 = “21”){
        rewrite ^/ /index.php last;
        }

发表评论

标记为*的字段是必填项(邮箱地址不会被公开)

你可以使用这些HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>