Coaster CMS a full featured, Laravel based Content Management System

Overview

The repository for Coaster CMS (coastercms.org) a Laravel based Content Management System with advanced features and Physical Web integration.

Table of Contents

Features

We aim to make Coaster CMS as feature rich as possible. Built upon the Laravel PHP framework, Coaster CMS is both fast and secure. Create beautiful content with TinyMCE and take a look into the future with the Internet Of Things.

  • Built with Laravel 8 (v8)
  • Responsive file manager
  • WYSIWYG editor
  • Block based templating system
  • Beacon support

Quick Start

To get up and running with Coaster CMS as quickly as possible you can use Laravel's built-in php artisan serve command. Simply run the following command from your project's directory:

php artisan serve

This will take care of the web server side of things, but you'll still need to install and configure a local MySQL database.

Install

(This installation assumes you have nginx/apache, php and MySQL already installed)

Install Coaster CMS using composer: Get composer:

https://getcomposer.org/

Run the following:

composer create-project coastercms/coastercms [project-name]

Set up a MySQL database to host your content

Make sure the following folders/file are/is writable:

  • /public/uploads

  • /.env

  • /storage

Then follow the simple instructions in the install script.

For more details go to https://www.coastercms.org/documentation/developer-documentation

Add to an Existing Project

If you'd rather add Coaster CMS to an existing Laravel (v8) project, follow the steps through below:

  1. Go to the root directory of your project
  2. Run composer require coastercms/framework:~8.0 to install package
  3. Run php artisan coaster:update-assets to download admin assets
  4. Add the provider CoasterCms\Providers\CoasterRoutesProvider::class to your config/app.php file (near end as it registers a catch-all route)
  5. Go to a web browser and follow the install script that should have appeared
  6. Upload or create a theme
Comments
  • Access denied for user ''@'localhost' (using password: NO)

    Access denied for user ''@'localhost' (using password: NO)

    Hello, Every time I go through the installation process, there seems to be an issue with the database connection. I changed the details in the .env file plus also changed the data in config/database.php file.

    help wanted 
    opened by PhillipMwaniki 23
  • Is there a way to write new admin module or override existing admin module as per requirements?

    Is there a way to write new admin module or override existing admin module as per requirements?

    Hi, I want to write new admin module in CMS for my client. he wants additional form module form for lead generation. so I just need help to override existing admin route and admin layouts with the help of COASTCMS control or file extends.

    opened by vrdvishwas 13
  • File Manager - No input file specified

    File Manager - No input file specified

    Hello, first of all I want to congratulate you for the excellent work you have done! I installed your CMS and all are OK except the file manager option in backend. When I choose File Manager I get the message "No input file specified." and nothing is displayed. I send you a capture image with this issue. Could you help me with this please? Thanks in advance, George

    capture

    opened by gkouk 13
  • Error whilst installing Coaster via command line on live server

    Error whilst installing Coaster via command line on live server

    Hi there,

    I've decided to have a go at installing Coaster CMS alongside Laravel Spark on a live server, using the command line and following the instructions found here: https://www.coastercms.org/documentation/developer-documentation.

    It's a similar issue to that which I experienced with WAMP server, in that the process fell over at the same point.

    This time, I ran the script

    php vendor/web-feet/coasterframework/updateAssets

    which resulted in the following error:

    [ErrorException] copy(/var/www/vhosts/example.co.uk/laravel-b-coast/public/ace/mode-html_blade.js): failed to open stream: No such file or directory

    Not sure how to fix this. So, any pointers would be most useful. I've had a look at the folder tree and there is a folder /ace that's been created under /public/coaster but nothing under /public. Should I have created this myself?

    With kind regards,

    Mark

    opened by SYPOMark 11
  • Demo page/data carousel :: caption wrecks havok on the image

    Demo page/data carousel :: caption wrecks havok on the image

    I'm still trying to figure out what the is causing the caption to push the height of the visible area of the banners.

    Basically if you have the same image for 2 slides: the first slide has 1 line of text and the second slide has 2 lines of text. The image will repeat itself.

    currently in the carousel.blade I've been tweeking the code like this:

    `

                <div class="row">
                    <div class="col-sm-10 col-sm-offset-1">
                        <{{ ($count == 1)?'h1':'h2' }}>{{ PageBuilder::block('slide_title') }}</{{ ($count == 1)?'h1':'h2' }}>
                        <p>{!! PageBuilder::block('slide_text') !!}</p>
                        @if (PageBuilder::block('slide_button_link') != '')
                            <button class="btn btn-default" id="scrollbutton">{{ PageBuilder::block('slide_button_text') }}{!! PageBuilder::block('slide_button_icon')?' &nbsp; '.PageBuilder::block('slide_button_icon'):'' !!}</button>
                        @endif
                    </div>
                </div>
    
        </div>
    

    `

    I have added to the inline style and removed the container div.

    Notice that I deleted the else code. I did that because it would show a button even if the button text and link is empty. I also changed the == to !=

    Actually, I just commented out that area but github is giving me grief over Blade notation.

    If I come across a solution I will post back.

    opened by illuminate3 8
  • external routes

    external routes

    Hi, I'm trying to load a separate routes file.

    I've tried loading them from my own provider.

            $routeFile = base_path('/Modules/Test/Routes/web.php');
            event(new LoadRouteFile($routeFile));
            if ($routeFile && file_exists($routeFile)) {
                include $routeFile;
            }
    

    and

    if (\CoasterCms\Helpers\Cms\Install::isComplete()) {
    
        include __DIR__ . '/routes/admin.php';
        include __DIR__ . '/routes/cms.php';
    
        include base_path('/Modules/Test/Routes/web.php');
    
    } else {
    

    I know the routes are there because artisan route:list is showing them.

    Every time I try to hit my page I get redirected back to the admin area. (I'm exploring and testing through the admin area).

    if I comment out

    // Route::any($adminUrl . '{other}', 'CoasterCms\Http\Controllers\AdminController@catchAll')->where('other', '.*');
    

    I get a 404 page.

    Basically my routes file looks like:

    $routeNamePrefix = 'coaster.admin.';
    $adminUrl = config('coaster::admin.url') . '/';
    // $adminController = '';
    $nameSpace = 'Modules\Test\Http\Controllers';
    
    
    Route::group(['prefix' => $adminUrl, 'middleware' => ['web', 'coaster.admin']], function () use ($adminUrl, $routeNamePrefix, $nameSpace) {
    
        Route::get('test', ['uses' => $nameSpace . '\TestController@getIndex', 'as' => $routeNamePrefix . 'system']);
        
    });
    

    My routes do work if I add them directly to the admin.php routes file.

    $nameSpaceCore = 'Modules\Test\Http\Controllers';
    Route::group(['prefix' => $adminUrl, 'middleware' => ['web', 'coaster.admin']], function () use ($adminUrl, $routeNamePrefix, $nameSpaceCore) {
    
        Route::get('test', ['uses' => $nameSpaceCore . '\TestController@getIndex', 'as' => $routeNamePrefix . 'system']);
    
    });
    

    But I really don't want to be editing your package routes like this.

    I must be missing something, could you give me an idea or a heads up where to look next?

    Thanks!

    help wanted 
    opened by illuminate3 8
  • Trying to get property of non object 5_2_19_0_update_theme_actions.php (line 43)

    Trying to get property of non object 5_2_19_0_update_theme_actions.php (line 43)

    I'm getting an error on the following file: 5_2_19_0_update_theme_actions.php (line 43)

    First time install coastercms and run the migrations. But there isn't an update action on a theme controller inserted.

    Anyone who has this same issue and already fixed it?

    Before i runned this migration script, I let composer update my project to be sure it is the latest version

    opened by jva91 7
  • Installation Errors

    Installation Errors

    I got an vast errors when I'm installing the coaster.

    (1) Firstly, I got a ssl certificate error when install by composer. (2) I got a error when install a theme at installation process. (3) I got a 404 error message when go to front end page. (4) I can't install themes even can't press the Install button.

    Help me please. Thanks. 1 2 3

    opened by commanderinchief 7
  • Problem with videos from youtube

    Problem with videos from youtube

    Hello, I tried to add video to page but now I cant even edit page back.

    I have seen the api keys in settings page, when I first did this they are blank but then I update them from:console.developers.google.com when I tried that again still same.

    When I go to updated page it says: Video does not exist, it may have been removed from youtube

    ErrorException in a443fb6d45f634e921228ba3960637ad385cd3f7.php line 6: Call to undefined method CoasterCms\Libraries\Blocks\Video::dl() (View: D:\work7\htdocs\sarpaykent\vendor\web-feet\coasterframework\resources\views\admin\blocks\video\main.blade.php)

    FatalThrowableError in a443fb6d45f634e921228ba3960637ad385cd3f7.php line 6: Call to undefined method CoasterCms\Libraries\Blocks\Video::dl()

    opened by sarpaykent 6
  • Error 'Table 'users' already exists' during install of CoasterCms on an existing Laravel (v8) project

    Error 'Table 'users' already exists' during install of CoasterCms on an existing Laravel (v8) project

    https://github.com/CoasterCms/coastercms says CoasterCms can be installed on an existing Laravel (v8) project. When i do that, i get error 'Table 'users' already exists' during install of CoasterCms. This is not suprisingly, because CoasterCms tries to make table users again. While on an existing Laravel, table users is allready made. What is suprisingly, is that CoasterCms says is can be installed on an existing Laravel project, but tries to install the excisting tables again. Is it really possible to install CoasterCms on an existing Laravel project? What needs to be done to accomplish that? Ofcourse, i could modify the CoaserCms migrations, and check id tables exist( \Schema::hasTable('users');) and than add custom migrations, to add the extra colums that CoasterCms needs. But will other problems arise after that?

    opened by cvlug 5
  • php artisan coaster:update-assets failed to work on forge

    php artisan coaster:update-assets failed to work on forge

    I am trying to deploy the CMS on a prod server by forge.

    I am getting an error that on 'php artisan coaster:update-assets' that it doesnt exists. All the other instructions I have done and it works on my local - however for this it doesnt.

    Any idea? also i tried to use your read me and you have a mistake from your own command: echo "This script is deprecated, you should now run: php artisan coaster:update-assets \n";

    opened by beerbuddha 5
  • Script @php artisan coaster:update-assets handling the post-update-cmd event returned with error code 1

    Script @php artisan coaster:update-assets handling the post-update-cmd event returned with error code 1

    After getting back to work today and starting up the project. It told me "access denied" when trying to access the admin panel.

    And after doing composer install / update it tells me "Script @php artisan coaster:update-assets handling the post-update-cmd event returned with error code 1".

    Nothing I tried works. I don't know what it is that went wrong.

    opened by Hazekaya 0
  • Custom admin route not working.

    Custom admin route not working.

    Route::group(['middleware' => ['coaster.admin']], function () {
        Route::prefix('admin')->group(function () {
            // Dashboard
            Route::get('/', [\App\Http\Controllers\DashboardController::class, 'index'])
                ->name('coaster.admin.dashboard');
    
            // CMS Website
            Route::get('/cms-website', [\App\Http\Controllers\CmsWebsiteController::class, 'index'])
                ->name('coaster.admin.cms-website');
        });
    

    Those are my routes. The first one to the Dashboard works fine, but the cms-website route gives me the error "coaster.admin is not defined"

    Any solutions?

    opened by Hazekaya 0
  • Error when installing Coaster in Windows

    Error when installing Coaster in Windows

    I'm trying to install Coaster in Windows 8.1, but when in the setup the database connnection I receive the following error "can't write settings to the .env file, check it is writable for the installation". What can I do for fix it?

    opened by jlolartef 0
  • install coaster on win10/bitnami

    install coaster on win10/bitnami

    i try to install coaster with help from: https://www.coastercms.org/docs/developer/install-coaster-cms-windows#php-and-composer but the url for: https://www.webtechgadgetry.com/install-php-7-windows/ is not working.

    need help in install coaster after bitnami installed on win10, and from there list of steps needed to install coaster. (bitnami has php/mysql/apache/phpadmin inside)

    help wanted 
    opened by meir100 0
  • Hi can you help me how to show from latest to first in blog archive page, What to change heere ?

    Hi can you help me how to show from latest to first in blog archive page, What to change heere ?

    Hi can you help me how to show from latest to first in blog archive page, What to change heere ?

    startOfMonth(); $toDate = clone $fromDate; $toDate->modify('+1 '.$range); $pages = PageBuilder::categoryFilter('post_date', [$fromDate, $toDate], ['view' => PageBuilder::block('category_view'), 'match' => 'in', 'renderIfEmpty' => false]); $archive = ($range == 'year') ? 'Year ' . $fromDate->format('Y') : $fromDate->format('F Y'); } catch (\Exception $e) { $pages = []; $archive = 'None'; } ?>
    opened by SarajevoNo1 3
Releases(v8.0.0)
Owner
Coaster CMS
Full featured Laravel based, Content Management System
Coaster CMS
NukeViet 132 Nov 27, 2022
Flextype is an open-source Hybrid Content Management System with the freedom of a headless CMS and with the full functionality of a traditional CMS

Flextype is an open-source Hybrid Content Management System with the freedom of a headless CMS and with the full functionality of a traditional CMS. Building this Content Management System, we focused on simplicity. To achieve this, we implemented a simple but powerful API's.

Flextype 524 Dec 30, 2022
Baicloud CMS is a lightweight content management system (CMS) based on PHP and MySQL and running on Linux, windows and other platforms

BaiCloud-cms About BaiCloud-cms is a powerful open source CMS that allows you to create professional websites and scalable web applications. Visit the

null 5 Aug 15, 2022
An advanced yet user-friendly content management system, based on the full stack Symfony framework combined with a whole host of community bundles

An advanced yet user-friendly content management system, based on the full stack Symfony framework combined with a whole host of community bundles. It provides a full featured, multi-language CMS system with an innovative page and form assembling process, versioning, workflow, translation and media managers and much more.

Kunstmaan | Accenture Interactive 374 Dec 23, 2022
Fully CMS - Multi Language Content Management System - Laravel

Fully CMS Laravel 5.1 Content Managment System not stable! Features Laravel 5.1 Bootstrap Authentication Sentinel Ckeditor Bootstrap Code Prettify Fil

Sefa Karagöz 479 Dec 22, 2022
Aimeos is THE professional, full-featured and ultra fast e-commerce package for Laravel 5 and 6

Aimeos is THE professional, full-featured and ultra fast e-commerce package for Laravel 5 and 6! You can install it in your existing Laravel application within 5 minutes and can adapt, extend, overwrite and customize anything to your needs.

Aimeos 5.9k Jan 2, 2023
A full-featured blog using Laravel 7.* & VueJS. Minimum library used

Blog Using Laravel 8 Let's keep it as simple as possible. Configure anything you want A full-featured blogging system for personal use.

Al Imran Ahmed 187 Sep 25, 2022
Soosyze CMS is a minimalist content management system in PHP, without database to create and manage your website easily

Soosyze CMS is a content management system without a database. It's easy to create and manage you

Soosyze 41 Jan 6, 2023
A small CMS for SaaS - A tiny content management system

Fervoare CMS A tiny content management system Project created in 2012 and ported to GitHub in 2021. Getting started Assuming you have installed a LAMP

Mark Jivko 3 Oct 1, 2022
Simple Content Management System (CMS) Blog Using Codeigniter with Hierarchical Model View Controller (HMVC) Architectural

Simple Content Management System (CMS) Blog Using Codeigniter with Hierarchical Model View Controller (HMVC) Architectural This is my source code trai

Simon Montaño 1 Oct 28, 2021
e107 Bootstrap CMS (Content Management System) v2 with PHP, MySQL, HTML5, jQuery and Twitter Bootstrap

e107 is a free and open-source content management system (CMS) which allows you to manage and publish your content online with ease. Developers can save time in building websites and powerful online applications. Users can avoid programming completely! Blogs, websites, intranets – e107 does it all.

e107 Content Management System 298 Dec 17, 2022
Charcoal Content Management System (CMS) Module

Charcoal CMS The CMS Charcoal Module (Content Management System). Provides basic objects to build a website. Notably, Section (or page), News, Event a

Locomotive 44 Sep 12, 2022
Manage your photos with Piwigo, a full featured open source photo gallery application for the web. Star us on Github! More than 200 plugins and themes available. Join us and contribute!

Manage your photo library. Piwigo is open source photo gallery software for the web. Designed for organisations, teams and individuals. The piwigo.org

Piwigo 2.3k Jan 1, 2023
A Concrete CMS package to add interfaces to translate multilingual content. You can translate content manually, or use cloud API.

Concrete CMS add-on: Macareux Content Translator Concrete CMS has powerful features to manage multilingual content by its default. You can add languag

株式会社マカルーデジタル 3 Nov 28, 2022
Contenta is a content API and CMS based on Drupal 8

Contenta is a content API and CMS based on Drupal 8. It provides a standard, jsonapi-based platform for building decoupled applications and websites.

Contenta CMS 326 Jul 10, 2022
Core framework that implements the functionality of the Sulu content management system

Sulu is a highly extensible open-source PHP content management system based on the Symfony framework. Sulu is developed to deliver robust multi-lingua

Sulu CMS 921 Dec 28, 2022
Simple, modular content management system adapted for launch pages and one-page websites

Segmint Segmint is an easy-to-use flat-file landing page framework, allowing quick and efficient prototyping and deployment - perfect for freelancers

null 2 Jul 19, 2022
Monstra is a modern and lightweight Content Management System.

Monstra is a modern and lightweight Content Management System.

Monstra Content Management 398 Dec 11, 2022
ExpressionEngine is a mature, flexible, secure, free open-source content management system.

ExpressionEngine is a flexible, feature-rich, free open-source content management platform that empowers hundreds of thousands of individuals and organizations around the world to easily manage their web site.

ExpressionEngine 366 Mar 29, 2022