Appearance
Web Installer Guide
Growstack CRM includes a built-in web installer that automates the installation process. This guide walks you through using the installer step by step.
Refer to the online documentation for video tutorials covering the web installer.
Table of Contents
- Accessing the Installer
- Step 1: Welcome & Requirements
- Step 2: Environment Configuration
- Step 3: Database Configuration
- Step 4: Admin Account Setup
- Step 5: Installation Progress
- Step 6: Completion
- Troubleshooting
Accessing the Installer
Prerequisites
Before accessing the installer, ensure:
- ✅ Files are uploaded to your server
- ✅ File permissions are set correctly (755 for directories, 644 for files)
- ✅ Database is created and credentials are ready
- ✅ Domain or subdomain is configured
- ✅ Server meets System Requirements
Important: For cPanel installations, we strongly recommend using a subdomain (e.g., crm.yourdomain.com) rather than installing in a subdirectory. This follows Laravel best practices and ensures proper routing and asset loading.
Access URL
Navigate to your domain or subdomain in a web browser:
For Main Domain:
https://yourdomain.com/installFor Subdomain (Recommended for cPanel):
https://crm.yourdomain.com/installImportant: Laravel applications work best when installed on a main domain or subdomain. Avoid installing in subdirectories as it can cause routing and asset loading issues.
First Time Access
On first access, you'll see the Welcome screen. The installer will automatically check your server requirements.
Step 1: Welcome & Requirements
What This Step Does
The installer automatically checks:
- PHP version (must be 8.2.0+)
- Required PHP extensions
- Directory permissions
- Server configuration
Requirements Check
You'll see a checklist with the following items:
PHP Version
- ✅ Required: PHP 8.2.0 or higher
- Shows your current PHP version
- Must show green checkmark to proceed
PHP Extensions
Checks for required extensions:
- ✅ OpenSSL
- ✅ PDO
- ✅ Mbstring
- ✅ Tokenizer
- ✅ XML
- ✅ Ctype
- ✅ JSON
- ✅ cURL
- ✅ Intl
- ✅ GD
- ✅ BCMath
- ✅ Zip
Directory Permissions
Checks if these directories are writable:
- ✅
storage/directory - ✅
bootstrap/cache/directory
If Requirements Fail
PHP Version Too Old:
- Contact your hosting provider to upgrade PHP to 8.2 or higher
- Or use cPanel "Select PHP Version" to choose PHP 8.2+
Missing Extensions:
- Install missing extensions via your hosting control panel
- In cPanel: Go to "Select PHP Version" → "Extensions" → Enable required extensions
Permission Issues:
- Set directory permissions to 755 for directories, 644 for files
- Ensure
storage/andbootstrap/cache/are writable
Proceeding
Once all requirements show green checkmarks:
- Click Next or Continue button
- You'll proceed to License Verification
Step 2: Environment Configuration
App Information
App Name
- Enter your company or application name
- This will be used throughout the application
- You can change this later in Settings
- Example:
Acme Corp CRM
App URL
- Enter your full domain or subdomain URL
- Important:
- ✅ Include
https://orhttp://protocol - ✅ Use subdomain format (recommended):
https://crm.yourdomain.com - ✅ Use main domain format:
https://yourdomain.com - ❌ Do not include trailing slash
- ❌ Do not use subdirectory paths (e.g.,
/crm,/app)
- ✅ Include
Correct Examples:
- ✅
https://crm.yourdomain.com(subdomain — recommended) - ✅
https://yourdomain.com(main domain)
Incorrect Examples:
- ❌
yourdomain.com(missing protocol) - ❌
https://yourdomain.com/(trailing slash) - ❌
https://yourdomain.com/crm(subdirectory — not supported)
Environment
Select your environment:
- Production: For live installations (recommended)
- Local: For local development
Mail Configuration (Optional)
You can configure email settings now or later in Settings → Email Settings.
Mail Driver
- SMTP: For most hosting providers (recommended)
- Sendmail: For servers with sendmail configured
SMTP Settings (if using SMTP)
- Host: SMTP server address (e.g.,
smtp.gmail.com) - Port: SMTP port (usually 587 for TLS)
- Username: Your email address
- Password: Your email password or App Password
- Encryption: TLS or SSL
Proceeding
- Fill in required fields (App Name, App URL)
- Optionally configure mail settings
- Click Next to continue
Step 3: Database Configuration
Database Connection Type
Select your database type:
- MySQL: Most common (recommended)
- PostgreSQL: Alternative database
MySQL Configuration
Enter your database credentials:
Database Host
- Usually:
localhost - Some hosts use:
127.0.0.1 - Check with your hosting provider if unsure
Database Port
- Default:
3306
Database Name
- The database you created earlier
- Example:
growstack_crmorusername_growstack_crm(full name on cPanel)
Database Username
- The database user you created
- Example:
growstack_crm_userorusername_growstack_crm_user(full name on cPanel)
Database Password
- The password you set for the database user
Test Connection
- Click Test Connection button
- Wait for connection test result
- Success: Green checkmark — proceed to next step
- Failure: Red error message — check credentials
Common Connection Issues
"Access denied for user":
- Verify username and password are correct
- In cPanel: Check if user has ALL PRIVILEGES on the database
- Ensure you're using the full username (e.g.,
cpanelusername_growstack_crm_user)
"Unknown database":
- Verify database name is correct
- In cPanel: Use the full database name including cPanel username prefix
"Can't connect to MySQL server":
- Check database host (try
127.0.0.1instead oflocalhost) - Verify database server is running
Proceeding
Once connection test succeeds:
- Click Next to continue
- You'll proceed to Admin Account Setup
Step 4: Admin Account Setup
Administrator Information
Create your first administrator account:
First Name / Last Name
- Your name as admin user
Email Address
- Your email address
- Important: Use a valid email you can access
- This will be used for login and password resets
Password
- Minimum: 8 characters
- Recommended: 12+ characters with a mix of uppercase, lowercase, numbers, and special characters
Confirm Password
- Re-enter your password exactly
Security Notes
- ⚠️ Save your credentials in a secure location
- ⚠️ This account has full administrative access
- ⚠️ Use a strong, unique password
Proceeding
- Fill in all required fields
- Ensure passwords match
- Click Next to start installation
Step 5: Installation Progress
What Happens During Installation
The installer will automatically:
- Save Configuration — Creates
.envfile with your settings - Run Database Migrations — Creates all required database tables (1–2 minutes)
- Seed Initial Data — Creates default settings, CRM pipelines, lead sources, roles, and module settings
- Create Admin User — Adds your administrator account
- Finalize Installation — Marks application as installed
Progress Indicators
You'll see progress updates for:
- ✅ Configuration saved
- ✅ Database migrations completed
- ✅ Database seeded
- ✅ Admin user created
- ✅ Installation complete
Important Notes
- ⚠️ Do not close the browser during installation
- ⚠️ Do not refresh the page during installation
- ⚠️ Installation typically takes 2–5 minutes
If Installation Fails
Common causes:
- Database connection lost
- Insufficient file permissions
- PHP timeout
- Memory limit exceeded
Solutions:
- Read the error message details
- Verify database is still accessible
- Check file permissions
- Increase PHP memory limit to 256MB+
- Increase PHP execution time to 300 seconds
Step 6: Completion
Success Message
Upon successful installation, you'll see:
- ✅ Installation Complete! message
- Link to login page
Next Steps
Click "Go to Login" button
- Or visit:
https://yourdomain.com/login
- Or visit:
Log in with your admin credentials
First Login:
- You'll be redirected to the CRM Dashboard (
/admin/crm) - Complete initial setup:
- Configure general settings
- Set up email (if not done during installation)
- Configure payment gateways (if needed)
- Review module settings
- You'll be redirected to the CRM Dashboard (
Installer Lock
After installation:
- The installer is automatically locked
- You cannot re-run the installer without deleting the
.installedfile or settingAPP_INSTALLED=falsein.env
Troubleshooting
Installer Won't Load
Symptoms: 404 error or blank page
Solutions:
- Verify files are uploaded correctly to the server
- Check
.htaccessfile exists in thepublic/directory - Verify mod_rewrite is enabled (Apache)
- Try:
http://yourdomain.com/public/index.php— if this works, .htaccess rewriting is the issue
Requirements Check Fails
Solutions:
- Upgrade PHP to 8.2+
- Install missing PHP extensions
- Fix directory permissions (755 for directories)
- Contact hosting provider if issues persist
Database Connection Fails
Solutions:
- Double-check all credentials (copy-paste, avoid typos)
- Verify database exists in phpMyAdmin
- Check user has ALL PRIVILEGES
- Verify database host (may not be
localhost)
Installation Hangs or Fails
Solutions:
- Check PHP execution time (should be 300+ seconds)
- Increase PHP memory limit (256MB+)
- Check server error logs
- Verify sufficient disk space
Manual Installation Alternative
If the web installer doesn't work, you can install manually:
bash
cd /var/www/growstack-crm
cp .env.example .env
nano .env # Configure DB_*, APP_URL, APP_KEY
php artisan key:generate
php artisan migrate --force
php artisan db:seed --force
php artisan storage:linkSee VPS Installation Guide for detailed manual installation steps.
Next Steps
After successful installation:
- Review Post-Installation Setup
- Configure General Settings
- Read Getting Started Guide