Total Pageviews

Friday, 26 August 2016

Bootstrap CMS

A PHP CMS powered by Laravel 5 and Sentry 
Bootstrap CMS was created by, and is maintained by Graham Campbell, and is a PHP CMS powered by Laravel 5.1 and Sentry. It utilises many of my packages including Laravel Core and Laravel Credentials. Feel free to check out the releaseslicensescreenshots, and contribution guidelines.
Build Status Coverage Status Quality Score Software License Latest Version


PHP 5.5+ or HHVM 3.6+, a database server, and Composer are required.
  1. There are 3 ways of grabbing the code:
    • Use GitHub: simply download the zip on the right of the readme
    • Use Git: git clone
    • Use Composer: composer create-project graham-campbell/bootstrap-cms --prefer-dist -s dev
  2. From a command line open in the folder, run composer install --no-dev -o and then npm install.
  3. Enter your database details into config/database.php.
  4. Run php artisan app:install followed by gulp --production to setup the application.
  5. You will need to enter your mail server details into config/mail.php.
    • You can disable verification emails in config/credentials.php
    • Mail is still required for other functions like password resets and the contact form
    • You must set the contact email in config/contact.php
    • I'd recommend queuing email sending for greater performance (see below)
  6. Finally, setup an Apache VirtualHost to point to the "public" folder.
    • For development, you can simply run php artisan serve

Setting Up Queuing

Bootstrap CMS uses Laravel's queue system to offload jobs such as sending emails so your users don't have to wait for these activities to complete before their pages load. By default, we're using the "sync" queue driver.
  1. Check out Laravel's documentation.
  2. Enter your queue server details into config/queue.php.

Setting Up Caching

Bootstrap CMS provides caching functionality, and when enabled, requires a caching server. Note that caching will not work with Laravel's file or database cache drivers.
  1. Choose your poison - I'd recommend Redis.
  2. Enter your cache server details into config/cache.php.
  3. Setting the driver to array will effectively disable caching if you don't want the overhead.

Setting Up Themes

Bootstrap CMS also ships with 18 themes, 16 from Bootswatch.
  1. You can set your theme in config/theme.php.
  2. You can also set your navbar style in config/theme.php.
  3. After making theme changes, you will have to run php artisan app:update.

Setting Up Google Analytics

Bootstrap CMS natively supports Google Analytics.
  1. Setup a web property on Google Analytics.
  2. Enter your tracking id into config/analytics.php.
  3. Enable Google Analytics in config/analytics.php.

Setting Up CloudFlare Analytics

Bootstrap CMS can read CloudFlare analytic data through a package.
  1. Follow the install instructions for my Laravel CloudFlare package.
  2. Bootstrap CMS will auto-detect the package, only allow admin access, and add links to the navigation bar.