Search by

gp247 / cms

gp247

Free CMS source code built with Laravel for your system.

Package info

github.com/gp247net/cms

Homepage

Language:Blade

Type:project

pkg:composer/gp247/cms

Fund package maintenance!

gp247net

gp247.net

Statistics

Installs: 53

Dependents: 0

Suggesters: 0

Stars: 1

Open Issues: 0

3.0.0 2026-11-07 01:50 UTC

This package is auto-updated.

Last update: 2026-11-07 01:51:15 UTC


README

  _____  _____     ___  _  _   _____ 
 / ____|  __ \   |__ \| || | |___  |
| |  __| |__) |     ) | || |_   / / 
| | |_ |  ___/     / /|__   _| / /  
| |__| | |        / /_   | |  / /   
 \_____|_|       |____|  |_| /_/    

🌐 Language: πŸ‡¬πŸ‡§ English (current) Β· πŸ‡»πŸ‡³ TiαΊΏng Việt

Free CMS source code built with Laravel for your system
composer create-project gp247/cms my-site "^3.0"

Total Downloads Latest Stable Version License

About GP247 CMS

  • GP247 CMS makes it easy for you to build a website for your business.
  • GP247 CMS is a complete system, combining GP247/front and GP247/core.

What can GP247 do?

  • Provides a powerful and flexible role management solution.
  • Offers a synchronous authentication API, enhancing API security with additional layers.
  • Build and manage Plugins/Templates that work in the system
  • Comprehensive access log monitoring system.
  • Continuously updates security vulnerabilities.
  • Multi-language support, easy to manage.
  • GP247 is FREE

And more:

  • GP247 builds an open ecosystem (plugin, template), helping users quickly build CMS, PMO, eCommerce, etc., according to your needs.

Core Laravel:

GP247 3.x

Core Laravel framework 13.x

UI built with Tailwind CSS 4

Website structure using GP247

Website-folder/
|
β”œβ”€β”€ app
β”‚     └── GP247
β”‚           β”œβ”€β”€ Core(+) //Customize controller of Core
β”‚           β”œβ”€β”€ Helpers(+) //Auto load Helpers/*.php
β”‚           β”œβ”€β”€ Plugins(+) //Use `php artisan gp247:make-plugin --name=NameOfPlugin`
β”‚           β”œβ”€β”€ Front(+) //Customize controller of Front 
β”‚           └── Templates(+) //Use `php artisan gp247:make-template --name=NameOfTempate`
β”œβ”€β”€ public
β”‚     └── GP247
β”‚           β”œβ”€β”€ Core(+)
β”‚           β”œβ”€β”€ Plugins(+)
β”‚           └── Templates(+)
β”œβ”€β”€ resources
β”‚            └── views/vendor
β”‚                           β”œβ”€β”€ gp247-admin(+) //Core view overrides
β”‚                           └── gp247-front-admin(+) //Front view overrides
β”œβ”€β”€ vendor
β”‚     β”œβ”€β”€ gp247/core
β”‚     └── gp247/front
└──...

Quick Installation Guide

Requirements: PHP 8.3 or later, Composer 2, MySQL or MariaDB.

  1. Check which PHP Composer runs on:

    composer diagnose

    The PHP version line must be 8.3 or later.

    ⚠️ With an older PHP, Composer does not fail β€” it quietly installs an old, unsupported CMS version. Always keep "^3.0" in the command of step 2 so Composer fails clearly instead.

  2. Create the project (replace my-site with the folder name you want):

    composer create-project gp247/cms my-site "^3.0"
    cd my-site

    This creates the .env file and the APP_KEY for you.

  3. Create an empty database, then open .env and set the database section to match it:

    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=your_database
    DB_USERNAME=your_username
    DB_PASSWORD=your_password
  4. Install GP247 CMS:

    php artisan gp247:install

    The command asks for confirmation β€” type yes. When it finishes it prints the admin path and the sign-in account.

  5. Open your browser:

    Page Address Sign in
    Website http://your-domain β€”
    Admin http://your-domain/gp247_admin admin / admin

    πŸ”‘ Change the admin password right after your first sign-in.

Check the setup after installing:

php artisan gp247:doctor

Useful information:

View GP247 version

php artisan gp247:info

Update GP247

  1. Back up the database and the app/GP247, public/GP247 folders before updating.

  2. Get the new code:

    composer update gp247/core gp247/front
  3. Apply the changes to the site (safe: no data is deleted, translations and templates you edited are not overwritten):

    php artisan gp247:update
  4. Check the result:

    php artisan gp247:info

⚠️ Running composer update alone is not enough β€” always run step 3 as well.

Advanced options (overwrite translations with --overwrite-lang, refresh assets/views with --publish=…) can overwrite your customizations β€” read the GP247 update guide before using them.

Create plugin:

php artisan gp247:make-plugin --name=PluginName

To create a plugin zip file:

php artisan gp247:make-plugin --name=PluginName --download=1

Create template:

php artisan gp247:make-template --name=TemplateName

To create a template zip file:

php artisan gp247:make-template --name=TemplateName --download=1

Customization

Customize admin view

Each package publishes its admin views into its own views/vendor/<namespace> folder β€” publish only the tag you need:

php artisan vendor:publish --tag=gp247:core-view // -> views/vendor/gp247-admin

php artisan vendor:publish --tag=gp247:front-admin // -> views/vendor/gp247-front-admin

Customize the default template

The default GP247Front template is loaded straight from the package, so every file you have not published picks up new versions when you update. Publish only the file you need to change, for example the home page:

php artisan gp247:template-publish GP247Front --file=screen/home.blade.php // -> app/GP247/Templates/GP247Front/screen/home.blade.php

Override gp247_xxx functions

Step 1: Add the list of functions you want to override to the array in config/gp247_functions_except.php

Step 2: Create a new function in the app/GP247/Helpers directory, for example app/GP247/Helpers/myfunction.php

Override gp247 controller files

You can override any controller (including API controllers) in GP247/Core and GP247/Front using the same mechanism: create the corresponding controller in app/GP247/{Core|Front}, extend the original controller, and prepend App to the original namespace.

Step 1: Create the matching file under app/GP247/Core/... (keep the same sub-path and filename as in the original package).

Step 2: Make the new controller extend the original controller from vendor/gp247/core/....

Step 3: Change the namespace from GP247\Core\... to App\GP247\Core\... (just prepend App, keep the rest as-is).

The same pattern applies to GP247\Front\* (becoming App\GP247\Front\*) and to API controllers (GP247\Core\Api\Controllers becomes App\GP247\Core\Api\Controllers).

Add route

Use prefix and middleware constants GP247_ADMIN_PREFIX, GP247_ADMIN_MIDDLEWARE in route declaration.

Reference: https://github.com/gp247net/core/blob/master/src/routes.php

Environment variables in .env file

Quickly disable GP247 and plugins

GP247_ACTIVE=1 // To disable, set value 0

Disable APIs

GP247_API_MODE=1 // To disable, set value 0

Data table prefixes

GP247_DB_PREFIX=gp247_ //Cannot change after installing gp247

Path prefix to admin

GP247_ADMIN_PREFIX=gp247_admin