Bootstrap CMS was created by, and is maintained by Graham Campbell, and is a PHP CMS powered by Laravel 5.0 and Sentry. It utilises 12 of my packages including Laravel Core and Laravel Credentials. Feel free to check out the change log, releases, license, screenshots, api docs, and contribution guidelines.
Version 0.8 is currently more stable than this version (0.9), and is available on the 0.8 branch. It uses Laravel 4.2 for example, while this version is built on Laravel 5.
PHP 5.5+ or HHVM 3.3+, a database server, and Composer are required.
- There are 3 ways of grabbing the code:
- Use GitHub: simply download the zip on the right of the readme
- Use Git:
git clone [email protected]:GrahamCampbell/Bootstrap-CMS.git
- Use Composer:
composer create-project graham-campbell/bootstrap-cms --prefer-dist -s dev
- From a command line open in the folder, run
composer install --no-dev -o
. - Enter your database details into
config/database.php
. - Run
php artisan app:install
to setup and seed your database. - You will need to enter your mail server details into
config/mail.php
.
- You can disable verification emails in
config/packages/graham-campbell/navigation/config.php
- Mail is still required for other functions like password resets and the contact form
- You must set the contact email in
config/packages/graham-campbell/contact/config.php
- I'd recommend queuing email sending for greater performance (see below)
- Finally, setup an Apache VirtualHost to point to the "public" folder.
- For development, you can simply run
php artisan serve
- Additionally, you may to setup some of Bootstrap CMS's other features (see below).
- Some things, like caching and queuing, are disabled out of the box
- This is to allow Bootstrap CMS to work with minimal setup
- Also note, without caching asset generation will cause page load delay - to reduce this, I have turned off minification in
config/packages/lightgear/asset/config.php
by default
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.
- Check out Laravel's documentation.
- Enter your queue server details into
config/queue.php
.
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.
- Choose your poison - I'd recommend Redis.
- Enter your cache server details into
config/cache.php
. - You will probably want to enabled minification in
config/packages/lightgear/asset/config.php
. - Setting the driver to array will effectively disable caching if you don't want the overhead.
Bootstrap CMS also ships with 18 themes, 16 from Bootswatch.
- You can set your theme in
config/theme.php
. - You can also set your nav bar style in
config/theme.php
. - After making theme changes, you will have to run
php artisan app:update
.
Bootstrap CMS natively supports Google Analytics.
- Setup a web property on Google Analytics.
- Enter your tracking id into
config/analytics.php
. - Enable Google Analytics in
config/analytics.php
.
Bootstrap CMS can read CloudFlare analytic data through a package.
- Follow the install instructions for my Laravel CloudFlare package.
- Remember to add your credentials to
config/packages/graham-campbell/cloudflare-api/config.php
. - Bootstrap CMS will auto-detect the package, only allow admin access, and add links to the navigation bar.
GNU AFFERO GENERAL PUBLIC LICENSE
Bootstrap CMS Is A PHP CMS Powered By Laravel 5 And Sentry
Copyright (C) 2013-2014 Graham Campbell
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see http://www.gnu.org/licenses/.