Laravel Installer v2.0.0 is a complete enterprise-grade package designed to simplify and secure the installation process for Laravel projects. This installer features advanced security, performance monitoring, database backup/recovery, and a comprehensive 9-step installation process.
composer require jmrashed/laravel-installer
php artisan vendor:publish --provider="Jmrashed\LaravelInstaller\Providers\LaravelInstallerServiceProvider"
php artisan vendor:publish --tag=installer-config
php artisan vendor:publish --tag=laravelinstaller --force
Navigate to /install in your browser to start the installation wizard.
php artisan installer:run
php artisan installer:clear-caches










GET /install/api/progress - Get installation progressPOST /install/api/progress/update - Update progress stepGET /install/api/dependencies/check - Check dependenciesPOST /install/api/dependencies/install - Install packagesGET /install/api/performance/metrics - Get real-time metricsPOST /install/api/performance/optimize - Optimize performancePOST /install/api/database/migrate - Run migrations with backupPOST /install/api/database/rollback - Rollback to backupPOST /install/api/cache/clear - Clear all cachesPOST /install/api/queue/setup - Configure queue drivers// All inputs are sanitized and validated
$sanitizedInput = SecurityHelper::sanitizeInput($request->input());
// IP-based rate limiting (20 requests per 5 minutes)
RateLimiter::attempt('installer:' . $request->ip(), 20, 300);
X-Content-Type-Options: nosniffX-Frame-Options: DENYX-XSS-Protection: 1; mode=blockContent-Security-Policy: default-src 'self'// Performance metrics are tracked automatically
fetch('/install/api/performance/metrics')
.then(response => response.json())
.then(data => {
console.log('Execution Time:', data.execution_time);
console.log('Memory Usage:', data.memory_used);
});
// Large database handling
DatabaseOptimizer::optimizeForLargeDatabase();
DatabaseOptimizer::runMigrationsInBatches(10);
// Backup is created automatically before migrations
$backupId = DatabaseBackupManager::createBackup();
// Rollback to previous state
DatabaseBackupManager::restoreBackup($backupId);
$progress = ProgressTracker::getProgress();
echo "Current Step: " . $progress['current_step'];
echo "Completion: " . $progress['completion_percentage'] . "%";
if (ProgressTracker::canResume('database')) {
// Continue from database step
}
// Update API endpoints in PurchaseController
$envatoApiTokenUrl = 'https://your-domain.com/api/get-envato-barrier-token';
$envatoApiStoreUrl = 'https://your-domain.com/api/store-envato-verification-response';
{
"message": "Welcome to the Envato Purchase Validation API",
"account1": {
"token": "fsHuTBwXZTlEqZYQacniBeNZFCrT01eZ"
},
"validation": {
"url": "https://api.envato.com/v3/market/author/sale"
}
}
src/
βββ Commands/
β βββ ClearInstallerCaches.php
β βββ InstallerRunCommand.php
βββ Config/
β βββ installer.php
β βββ audit.php
β βββ logging.php
βββ Controllers/
β βββ CacheQueueController.php # NEW
β βββ DatabaseController.php # ENHANCED
β βββ DependencyController.php # NEW
β βββ PerformanceController.php # NEW
β βββ ProgressController.php # NEW
β βββ [existing controllers...]
βββ Helpers/
β βββ BackupManager.php # NEW
β βββ CacheQueueManager.php # NEW
β βββ DatabaseBackupManager.php # NEW
β βββ DependencyChecker.php # NEW
β βββ PerformanceMonitor.php # NEW
β βββ ProgressTracker.php # NEW
β βββ SecurityHelper.php # NEW
β βββ [existing helpers...]
βββ Middleware/
β βββ SecurityMiddleware.php # NEW
β βββ PerformanceMiddleware.php # NEW
β βββ ProgressMiddleware.php # NEW
β βββ DependencyMiddleware.php # NEW
β βββ [existing middleware...]
βββ Views/
β βββ dependencies.blade.php # NEW
β βββ performance-dashboard.blade.php # NEW
β βββ cache-queue.blade.php # NEW
β βββ database-backup.blade.php # NEW
β βββ resume-installation.blade.php # NEW
β βββ [existing views...]
βββ Routes/
βββ web.php # ENHANCED
βββ backup.php # NEW
mbstring - String manipulationopenssl - Encryption and securitypdo - Database connectivitytokenizer - Code parsingxml - XML processingctype - Character type checkingjson - JSON processingcurl - HTTP requests (for Envato API)redis - For Redis queue/cache supportopcache - For performance optimizationzip - For backup compression# Backup your current installation
cp -r vendor/jmrashed/laravel-installer vendor/jmrashed/laravel-installer-backup
# Update to v2.0.0
composer update jmrashed/laravel-installer
# Republish configuration
php artisan vendor:publish --tag=installer-config --force
Contributions are welcome! Please follow these steps:
git checkout -b feature/amazing-featuregit commit -m 'Add amazing feature'git push origin feature/amazing-featureThis package is licensed under the MIT License.
Md Rasheduzzaman
Full-Stack Software Engineer & Technical Project Manager
Building scalable, secure & AI-powered SaaS platforms across ERP, HRMS, CRM, LMS, and E-commerce domains.
Over 10 years of experience leading full-stack teams, cloud infrastructure, and enterprise-grade software delivery.
π Portfolio: jmrashed.github.io
βοΈ Email: jmrashed@gmail.com
πΌ LinkedIn: linkedin.com/in/jmrashed
π Blog: medium.com/@jmrashed
π» GitHub: github.com/jmrashed
βNeed a Reliable Software Partner? I build scalable, secure & modern solutions for startups and enterprises.β
How can I help you explore Laravel packages today?