Download the PHP package softcortex/magic-installer without Composer

On this page you can find all versions of the php package softcortex/magic-installer. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package magic-installer

Laravel Envato Installer Wizard

Latest Version on Packagist Total Downloads License

A professional WordPress-like installer wizard for Laravel 11+ applications with built-in Envato purchase code verification. Perfect for CodeCanyon products and commercial Laravel applications.

โœจ Features

๐Ÿ“‹ Requirements

๐Ÿ“ฆ Installation

Install the package via Composer:

Note: The installer uses file-based storage (storage/app/.installed and storage/app/installer-settings.json) and does NOT require database setup before running. This means it works immediately after composer require without any database configuration.

Publish Assets (Recommended Before Installation)

For developers distributing this as part of their product:

  1. Publish the .env.example file (includes pre-configured Envato settings):

  2. Edit the published .env.example in your project root and add your Envato credentials:

  3. The installer will use your customized .env.example as the template when creating .env during installation.

Why publish .env.example? The installer prioritizes the project's .env.example over the package's version. This allows you to pre-configure Envato tokens and other settings for your end users.

Optional: Publish other assets

Publish the configuration file:

Optionally, publish the views for customization:

Optionally, publish the settings table migration (if you want to customize it before installation):

Note: Publishing the migration is optional. The installer automatically creates the settings table during Step 4 (Database configuration) using Laravel's Schema builder.

Or publish everything at once:

โš™๏ธ Configuration

Storage

The installer uses file-based storage to avoid database dependency issues:

This approach ensures the installer works before database configuration, eliminating the chicken-and-egg problem.

1. Envato Personal Token Setup

To enable Envato purchase code verification:

  1. Visit https://build.envato.com/create-token/
  2. Create a token with these permissions:
    • โœ… View and search Envato sites
    • โœ… View the user's account username
  3. Add to your .env file:

Development Mode

For development/testing without real Envato API calls:

Then use the test purchase code: dev-test-code-12345678-1234

Skip License Step

To completely skip license verification:

2. Middleware Setup

The installer automatically registers:

  1. Custom installer middleware group (no EncryptCookies/StartSession) - Allows installation before APP_KEY exists
  2. Global EnsureInstalled middleware - Redirects all routes to /install until installation completes

Key Architecture:

No manual middleware configuration required - works out of the box!

3. Configuration Options

Customize config/installer.php:

๐Ÿš€ Usage

Installation Wizard

  1. Navigate to /install in your browser
  2. Follow the 7-step wizard:
    • Step 1: Welcome - Introduction and getting started
    • Step 2: App Config - Set application name, URL, timezone, locale (creates .env + APP_KEY)
    • Step 3: Requirements - PHP version, extensions, directory permissions check
    • Step 4: Database - Database configuration, connection test, runs migrations
    • Step 5: License - Purchase code verification (optional, can be disabled)
    • Step 6: Admin - Create administrator account with role assignment
    • Step 7: Finalize - Switch to database drivers, sync data, lock installer

Step Validation:

Real-Time Validation

Purchase Code Format

Envato purchase codes must be in UUID format:

The installer:

Unlock Installer

Re-run the installer if needed:

Force unlock without confirmation:

๐ŸŽจ Customization

Views

Publish and modify views:

Views location: resources/views/vendor/installer/

Routes

Change the installer URL prefix in config/installer.php:

Styling

The installer uses TailwindCSS. Customize by:

  1. Publishing views
  2. Modifying Tailwind classes
  3. Adding custom CSS to the layout

๐Ÿ”’ Security

Best Practices

Data Storage

File-based storage:

Never stored:

๐Ÿ—๏ธ Architecture

Stateless Forms

The installer uses stateless forms before APP_KEY generation:

File-First Storage

Installation state stored in files, not database:

Why? Avoids chicken-and-egg problem - installer must work before database exists!

Migration Timing

Migrations run in Step 4 (Database), not Step 7:

Smart Admin Role Assignment

Automatically detects and assigns admin role:

  1. Checks for role or roles column in users table
  2. Detects Spatie Permission package (HasRoles trait)
  3. Creates role if missing (when create_role_if_missing=true)
  4. Assigns appropriate role to admin user

๐Ÿ› Troubleshooting

Issue Solution
"MissingAppKeyException" Normal on first access - installer creates .env and generates APP_KEY in Step 2
"Envato Personal Token not configured" Add ENVATO_PERSONAL_TOKEN to .env or set LICENSE_ENABLED=false
"Invalid purchase code format" Use UUID format: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
"License verification failed: 401" Token expired - create new one at build.envato.com
"Purchase code not found" Verify code is correct in Envato or enable dev mode
Database connection failed Check credentials, server status, firewall, ensure database exists
"Table 'users' doesn't exist" Migrations run in Step 4 - ensure you complete database step before admin creation
Permission errors Ensure storage/app directory is writable: chmod -R 775 storage
Form inputs lost after error Fixed in v1.2.0+ - forms now preserve values on validation failure
Can't access step out of order By design - each step validates previous steps are completed
Step validation not working Clear browser cache, ensure you're not bypassing middleware

๐Ÿงช Testing

Run the test suite:

Run specific test types:

๐Ÿ“š API Reference

LicenseService

InstallerService

๐Ÿ“ Changelog

See CHANGELOG.md for recent changes.

๐Ÿค Contributing

Contributions are welcome! Please see CONTRIBUTING.md for details.

๐Ÿ” Security

Report security vulnerabilities via our security policy.

๐Ÿ‘ฅ Credits

๐Ÿ“„ License

MIT License. See LICENSE.md for details.


All versions of magic-installer with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
spatie/laravel-package-tools Version ^1.16
illuminate/contracts Version ^11.0||^12.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package softcortex/magic-installer contains the following files

Loading the files please wait ...