Bootstrap CMS was created by, and is maintained by Graham Campbell, and is a PHP CMS powered by Laravel 4.2 and Sentry 2.1. 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.
PHP 5.4+ 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
app/config/database.php
. - Run
php artisan app:install
to setup and seed your database. - You will need to enter your mail server details into
app/config/mail.php
.
- You can disable verification emails in
app/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
app/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
app/config/packages/lightgear/asset/config.php
by default
Bootstrap CMS's queuing is powered by my Laravel Queuing package, and requires no configuration behond what Laravel's queuing would otherwise require.
- Choose your poison - I'd recommend Beanskalkd.
- Enter your queue server details into
app/config/queue.php
. - Laravel Queuing provides a quickstart command for iron queuing. Simply run
php artisan queue:iron
.
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
app/config/cache.php
. - You will probably want to enabled minification in
app/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 19 themes, 17 from Bootswatch.
- You can set your theme in
app/config/theme.php
. - You can also set your nav bar style in
app/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
app/config/analytics.php
. - Enable Google Analytics in
app/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
app/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 And Sentry 2.1
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/.