Free, Open source, Simple Bootstrap Laravel CMS for any EXISTING or new Laravel website. Only add few database tables with prefix, not effect your existing database tables. Amila Laravel CMS
Free, open-source Simple Bootstrap Laravel CMS for any EXISTING Laravel 5.x or new Laravel 6 website.
Only add a few database tables with a prefix, not effect your existing database tables.
You can easily custom the database table names, the page URL path(route) and the template(theme)
Website is ready after install. Easy to use, simple enough but flexible.
Basic Laravel 5.x /Laravel 6.x syntax and blade template, no need to learn a new "language"
How to install & uninstall (Support Laravel 5.x & Laravel 6.x)
// Make sure you already configured the database in the .env// Go to the laravel project folder and install it via composer// Initialize the CMS (You can set up database table prefix and locale here)
composer require alexstack/laravel-cms && php artisan laravelcms
// Now you can access the cms frontend site: http://yourdomain/cms-home
// Access the backend with the FIRSTUSER of your site: http://yourdomain/cmsadmin
// Uninstall the CMS
php artisan laravelcms --action=uninstall
Why the uploaded image can not display (404 error)
You can fix it by creating a storage public link
php artisan storage:link
eg. The public/storage should link to ../storage/app/public, if the public/storage is a real folder, you should remove/rename it and run "php artisan storage:link" to set up the link.
Custom the cms route in config/laravel-cms.php
homepage_route: This is the frontend homepage. By default it is /cms-home, you can change it to / then remove the existing / route in the routes/web.php
# Change homepage_route to / in config/laravel-cms.php'homepage_route' => env('LARAVEL_CMS_HOMEPAGE_ROUTE', '/'),
# Remove the existing / route in the routes/web.php
// Route::get('/', function () {
// return view('welcome');// });
page_route_prefix: This is the frontend page prefix. By default it is /cms-, it will match path like /cms-*. You can change it to a folder like /xxx/ or anything like xxx-, eg. Page- Article-
Use your own PHP class / How to integrate your PHP code into the CMS
One simple option is to implement a method from your own PHP controller/class by adding it into a cms page. Tutorial for it.
Another option is to create a CMS plugin for your own project and use it for all pages. A tutorial is here. You can also publish the plugin if the feature can be used by other websites.
How to set up a brand new Laravel 6.x website & install our CMS
It's good for a local test
// Install Laravel 6.x & the CMS package
composer create-project --prefer-dist laravel/laravel cms && cd cms && composer require alexstack/laravel-cms
// Then you need to change the database settings in the .env after that initialize CMS
cd cms & vi .env
php artisan laravelcms
// Or initialize the CMS with silent mode
php artisan laravelcms --action=initialize --locale=en --table_prefix=cms_ --silent=yes
// Enable auth system for Laravel6.x
composer require laravel/ui && php artisan ui vue --auth && php artisan migrate
// Config the document root to point to the cms/public then you can access the backend
// Tips: You will need to register a new user, the first user will be the admin user
How to upgrade the CMS?
Run below command in your Laravel project folder
It will ask whether you want to copy the new view, asset and language files to your project