rowjat / laravel-installer
Laravel web installer
1.0.1
2025-06-23 09:25 UTC
Requires
- php: ^8.2
- illuminate/console: ^12
- illuminate/support: ^12
This package is auto-updated.
Last update: 2025-06-23 09:39:51 UTC
README
A Laravel package that provides a web-based installer for your Laravel applications.
Features
- Step-by-step web installer for Laravel projects
- Checks server requirements and folder permissions
- Environment configuration via web form
- Database migration and seeding
- Customizable views, assets, and translations
- Middleware to prevent re-installation
Installation
composer require rowjat/laravel-installer
Configuration
Publish the configuration, assets, and views:
php artisan vendor:publish --provider="Rowjat\Installer\InstallerServiceProvider"
This will publish:
config/installer.php
- Public assets to
public/vendor/installer
- Views to
resources/views/vendor/installer
- Translations to
resources/lang/vendor/installer
Configuration Options
Edit config/installer.php
to customize:
- logo: Path and alt text for the installer logo.
- core.minPhpVersion: Minimum PHP version required.
- requirements: PHP extensions required.
- permissions: Folders and their required permissions.
Usage
After installation, visit /install
in your browser to start the installation process.
Installer Steps
- Welcome: Introduction page.
- Environment: Configure
.env
variables. - Requirements: Check server requirements.
- Permissions: Check folder permissions.
- Database: Run migrations and seeders.
- Final: Installation complete.
Routes
All routes are prefixed with /install
and protected by the install
middleware:
Method | URI | Controller@Method | Name |
---|---|---|---|
GET | /install | WelcomeController@welcome | Installer::welcome |
GET | /install/environment | EnvironmentController@environment | Installer::environment |
POST | /install/environment/store | EnvironmentController@store | Installer::environment.store |
GET | /install/requirements | RequirementsController@requirements | Installer::requirements |
GET | /install/permissions | PermissionsController@permissions | Installer::permissions |
GET | /install/database | DatabaseController@database | Installer::database |
GET | /install/final | FinalController@finish | Installer::final |
Middleware
- CanInstall: Prevents access to installer if the app is already installed (checks for
storage/installed
file).
Helper Functions
isActive($route, $className = 'active')
: Returns a CSS class if the current route matches.
Customization
You can override the published views, assets, and translations to match your application's branding and requirements.
License
MIT