PHPackages                             rodsaseg/laravel-saseg - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. rodsaseg/laravel-saseg

ActivePackage[Utility &amp; Helpers](/categories/utility)

rodsaseg/laravel-saseg
======================

Laravel CMS helper installer

1.0.2(4y ago)1651MITSCSSPHP ^7.1.3

Since May 5Pushed 4y ago1 watchersCompare

[ Source](https://github.com/Jarff/laravel-saseg)[ Packagist](https://packagist.org/packages/rodsaseg/laravel-saseg)[ RSS](/packages/rodsaseg-laravel-saseg/feed)WikiDiscussions master Synced today

READMEChangelog (3)Dependencies (5)Versions (4)Used By (0)

Laravel Web Installer | A Web Installer [Package](https://packagist.org/packages/rodsaseg/saseg)
================================================================================================

[](#laravel-web-installer--a-web-installer-package)

[![Total Downloads](https://camo.githubusercontent.com/326ec7ff359c8879087bd22d9fa706960dcdf9f4b33b6bbd517af5f2d8c8c6f7/68747470733a2f2f706f7365722e707567782e6f72672f726f6473617365672f6c61726176656c2d73617365672f646f776e6c6f616473)](//packagist.org/packages/rodsaseg/laravel-saseg)[![Latest Stable Version](https://camo.githubusercontent.com/07ecb182f021179158d450a0acbe1ad27fcf3f1bb5a685ef5852baa73d53c39b/68747470733a2f2f706f7365722e707567782e6f72672f726f6473617365672f6c61726176656c2d73617365672f76)](//packagist.org/packages/rodsaseg/laravel-saseg)[![License](https://camo.githubusercontent.com/ff30ed350f028584d37b7773fee2dd2d49117f75613ed926888ca5ca16ca35ae/68747470733a2f2f706f7365722e707567782e6f72672f726f6473617365672f6c61726176656c2d73617365672f6c6963656e7365)](//packagist.org/packages/rodsaseg/laravel-saseg)

- [About](#about)
- [Requirements](#requirements)
- [Installation](#installation)
- [Middleware](#middleware)
- [PermissionKey](#permissionKey)
- [Routes](#routes)
- [Usage](#usage)
- [Contributing](#contributing)
- [License](#license)

About
-----

[](#about)

Do you want your clients to be able to install a Laravel project just like they do with WordPress or any other CMS? This Laravel package allows users who don't use Composer, SSH etc to install your application just by following the setup wizard. The current features are :

- Check For Server Requirements.
- Check For Folders Permissions.
- Ability to set database information.
    - .env text editor
    - .env form wizard
- Migrate The Database.
- Seed The Tables.

Requirements
------------

[](#requirements)

- [Laravel 5.8.\*](https://laravel.com/docs/installation)

Installation
------------

[](#installation)

1. From your projects root folder in terminal run:

```
    composer require rodsaseg/laravel-saseg
```

2. Register the package

- Laravel 5.5 and up Uses package auto discovery feature, no need to edit the `config/app.php` file.

3. Publish the packages views, config file, assets, and language files by running the following from your projects root folder:

```
	#default Views and Controllers
    php artisan vendor:publish --tag=laravelsaseg
```

```
	#Spatie Permission
    php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider"
```

```
	#Spatie Media Library
    php artisan vendor:publish --provider="Spatie\MediaLibrary\MediaLibraryServiceProvider" --tag="migrations"
```

```
	#DataTables
    php artisan vendor:publish --tag=datatables
```

```
	#Laravel Installer
    php artisan vendor:publish --tag=laravelinstaller
```

```
	#Laravel Migrations Laravel Saseg
    php artisan vendor:publish --provider="Rodsaseg\LaravelSaseg\Providers\LaravelSasegServiceProvider" --tag="migrations"
```

4. Clear your config cache. This package requires access to the permission config. Generally it's bad practice to do config-caching in a development environment. If you've been caching configurations locally, clear your config cache with either of these commands:

```
	php artisan optimize:clear
	# or
	php artisan config:clear
```

5. Run the migrations

```
	php artisan migrate
```

```
	composer dump-autoload
```

6. Run the seeders

Update `run()` function in `DatabaseSeeder.php`. Add the next lines:

```
public function run()
{
    $this->call(UsersTableSeeder::class);
    $this->call(PermissionSeeder::class);
    $this->call(RolesTableSeeder::class);
    $this->call(ModelHasRolesTableSeeder::class);
	$this->call(RoleHasPermissionsTableSeeder::class);
}

```

```
	php artisan db:seed
```

```
	php artisan cache:forget spatie.permission.cache
```

7. Dependencies npm

Add these dependencies to your project

```
"dependencies": {
    "bootstrap-datepicker": "^1.9.0",
    "datatables.net": "^1.10.23",
    "datatables.net-bs4": "^1.10.23",
    "datatables.net-buttons": "^1.6.5",
    "datatables.net-buttons-bs4": "^1.6.5",
    "dropzone": "^5.7.0",
    "jquery-scroll-lock": "^3.1.3",
    "jquery.scrollbar": "^0.2.11",
    "js-cookie": "^2.2.1",
    "sortablejs": "^1.13.0",
    "sweetalert2": "^10.14.0",
    "trumbowyg": "^2.23.0"
}

```

add this line to your `webpack.mix.js`:

```
	mix.js('resources/js/vendor/panel/scripts/index.js', 'public/panel/assets/js/main.js');
```

```
	php artisan vendor:publish --tag=fm-config
```

```
	php artisan vendor:publish --tag=fm-assets --force
```

Update `leftPath` and `rightPath` from your `config/file-manager.php`

```
    /**
     * Default path for left manager
     *
     * null - root directory
     */
    'leftPath' => 'media',

    /**
     * Default path for right manager
     *
     * null - root directory
     */
    'rightPath' => 'media',
```

Middleware
----------

[](#middleware)

Update the redirect function inside Middleware/Authenticate.php with:

```
if (! $request->expectsJson()) {
	if(preg_match("/\bpanel\b/", $request->route()->getName())){
		return route('panel.unauthenticated');
	}else{
		session()->flash('login', true);
		return route('/');
	}
}

```

Preparing Your Models
---------------------

[](#preparing-your-models)

The `HasRoles` and `HasMediaTrait` trait must be added to the User model to enable this package's features.

Thus, a typical basic User model would have these basic minimum requirements:

```
use Illuminate\Foundation\Auth\User as Authenticatable;
use Spatie\Permission\Traits\HasRoles;
use Spatie\MediaLibrary\HasMedia\HasMedia;
use Spatie\MediaLibrary\HasMedia\HasMediaTrait;

class User extends Authenticatable implements HasMedia
{
	use HasRoles;
	use HasMediaTrait;

	// ...
}

```

To associate media with a model, the model must implement the following interface and trait:

```
namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Spatie\MediaLibrary\HasMedia\HasMedia;
use Spatie\MediaLibrary\HasMedia\HasMediaTrait;

class News extends Model implements HasMedia
{
	use HasMediaTrait;
	...
}

```

PermissionKey
-------------

[](#permissionkey)

Add the next alias inside `config/app.php`:

```
'aliases' => [
	...
    'PermissionKey' => App\Providers\PermissionKey::class
]

```

Here, you can define your models and the corresponding permissions.

Routes
------

[](#routes)

These routes would be available for proper installation or update

- `/install`
- `/update`

Usage
-----

[](#usage)

- **Install Routes Notes**

    - In order to install your application, go to the `/install` route and follow the instructions.
    - Once the installation has ran the empty file `installed` will be placed into the `/storage` directory. If this file is present the route `/install` will abort to the 404 page.
- **Update Route Notes**

    - In order to update your application, go to the `/update` route and follow the instructions.
    - The `/update` routes countes how many migration files exist in the `/database/migrations` folder and compares that count against the migrations table. If the files count is greater then the `/update` route will render, otherwise, the page will abort to the 404 page.
- Additional Files and folders published to your project :

FileFile Information`config/installer.php`In here you can set the requirements along with the folders permissions for your application to run, by default the array cotaines the default requirements for a basic Laravel app.`public/panel`All the assets necesary for the panel`public/installer/assets`This folder contains a css folder and inside of it you will find a `main.css` file, this file is responsible for the styling of your installer, you can overide the default styling and add your own.`resources/views/vendor/installer`This folder contains the HTML code for your installer, it is 100% customizable, give it a look and see how nice/clean it is.`resources/lang/en/installer_messages.php`This file holds all the messages/text, currently only English is available, if your application is in another language, you can copy/past it in your language folder and modify it the way you want.Contributing
------------

[](#contributing)

Stay tunned

### Changelog

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

###  Health Score

25

—

LowBetter than 35% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 92.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~49 days

Total

3

Last Release

1787d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/de528c0ba6b451756fd294e7ae44a0859a77ce78322aadcfee902c84a6ea17b6?d=identicon)[rodsaseg](/maintainers/rodsaseg)

---

Top Contributors

[![Jarff](https://avatars.githubusercontent.com/u/11919161?v=4)](https://github.com/Jarff "Jarff (38 commits)")[![epsilonxaos](https://avatars.githubusercontent.com/u/29819594?v=4)](https://github.com/epsilonxaos "epsilonxaos (3 commits)")

### Embed Badge

![Health badge](/badges/rodsaseg-laravel-saseg/health.svg)

```
[![Health](https://phpackages.com/badges/rodsaseg-laravel-saseg/health.svg)](https://phpackages.com/packages/rodsaseg-laravel-saseg)
```

###  Alternatives

[nasirkhan/laravel-starter

A CMS like modular Laravel starter project.

1.4k2.7k](/packages/nasirkhan-laravel-starter)[venturedrake/laravel-crm

A free open source CRM built as a package for laravel projects

43311.1k](/packages/venturedrake-laravel-crm)[tapp/filament-form-builder

User facing form builder using Filament components

132.4k3](/packages/tapp-filament-form-builder)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
