Appearance
Installation on cPanel
This guide will walk you through installing OmniSuite CMS on a cPanel hosting account.
🎥 Quick Installation Video
Watch this step-by-step video to see the complete installation process on cPanel shared hosting in just a few minutes:
📖 Prefer written instructions? Continue reading below for detailed step-by-step guidance with troubleshooting tips.
Table of Contents
- Prerequisites
- Step 1: Create Database
- Step 2: Upload Files
- Step 3: Set File Permissions
- Step 4: Run the Installer
- Step 5: Post-Installation
- Troubleshooting
Prerequisites
Before starting, ensure you have:
- ✅ cPanel hosting account with PHP 8.2+ support
- ✅ Database creation privileges
- ✅ FTP or File Manager access
- ✅ Domain configured (subdomain recommended)
- ✅ Reviewed System Requirements
Important: For best results with Laravel applications, we recommend installing on a subdomain (e.g., app.yourdomain.com) rather than in a subdirectory. This ensures proper routing, asset loading, and avoids conflicts with other applications.
Step 1: Create Database
1.1 Create MySQL Database
- Log in to your cPanel account
- Navigate to MySQL Databases (under "Databases" section)
- In the "Create New Database" field, enter a database name (e.g.,
omnisuite_db) - Click Create Database
- Note the full database name (usually
username_omnisuite_db)
1.2 Create Database User
- Scroll down to MySQL Users section
- Enter a username (e.g.,
omnisuite_user) - Enter a strong password (use the password generator)
- Click Create User
- Note the full username (usually
username_omnisuite_user)
1.3 Assign User to Database
- Scroll to Add User to Database section
- Select the user you created
- Select the database you created
- Click Add
- Check ALL PRIVILEGES
- Click Make Changes
Important: Save these credentials:
- Database Name:
username_omnisuite_db - Database User:
username_omnisuite_user - Database Password:
your_password - Database Host: Usually
localhost(check with your host)
Step 2: Set Up Domain or Subdomain
2.1 Why Subdomain is Recommended
Laravel Best Practice: Laravel applications are designed to run on their own domain or subdomain, not in subdirectories. Here's why:
✅ Proper Routing: Laravel's routing system works correctly without path conflicts
✅ Asset Loading: CSS, JavaScript, and images load from the correct paths
✅ Session Management: Cookies and sessions work properly
✅ Security: Better isolation and security configuration
✅ Performance: No conflicts with other applications
✅ URL Structure: Clean, professional URLs (e.g., app.yourdomain.com)
Subdirectory Issues:
- ❌ Routing conflicts with other applications
- ❌ Asset paths may break
- ❌ Session/cookie domain issues
- ❌ Complex
.htaccessconfiguration needed - ❌ Potential conflicts with existing files
2.2 Create Subdomain (Recommended)
- In cPanel, navigate to Subdomains (under "Domains" section)
- Enter your subdomain name:
- Common choices:
app,cms,admin,dashboard,portal - Example:
app→ createsapp.yourdomain.com
- Common choices:
- Select your main domain from the dropdown
- The document root will auto-populate (e.g.,
public_html/app) - Click Create
- Wait for confirmation message
- Note the document root path (you'll need this for file upload)
Example:
- Subdomain:
app.yourdomain.com - Document Root:
public_html/app/ - Full URL:
https://app.yourdomain.com
2.3 Using Main Domain
If you prefer to use your main domain:
- Document Root:
public_html/ - Full URL:
https://yourdomain.com - Important: This will replace your main website. Consider using a subdomain instead to keep your main site separate.
Step 3: Upload Files
You have two options for uploading files:
Option A: Using File Manager (Recommended)
- In cPanel, open File Manager
- Navigate to your installation directory:
- Subdomain:
public_html/subdomain_name/(e.g.,public_html/app/) - Main domain:
public_html/
- Subdomain:
- Delete the default
index.htmlif it exists - Click Upload button
- Select all files from the OmniSuite CMS package
- Upload the files (this may take several minutes)
- Extract the ZIP file if you uploaded a compressed package:
- Right-click the ZIP file
- Select Extract
- Delete the ZIP file after extraction
Option B: Using FTP
- Use an FTP client (FileZilla, WinSCP, etc.)
- Connect to your server:
- Host:
ftp.yourdomain.comor your server IP - Username: Your cPanel username
- Password: Your cPanel password
- Port: 21 (or 22 for SFTP)
- Host:
- Navigate to your domain's root directory
- Upload all files from the OmniSuite CMS package
- Ensure all files are uploaded (maintain directory structure)
Important Files to Verify:
.env.examplefile existscomposer.jsonexistspackage.jsonexistsartisanfile existspublic/directory exists
Step 4: Set File Permissions
4.1 Using File Manager
- In File Manager, navigate to your installation directory
- Set the following permissions:
Directories (755):
storage/storage/framework/storage/logs/bootstrap/cache/public/
Files:
.env(if exists): 644artisan: 755
How to set permissions:
- Right-click the file/folder
- Select Change Permissions
- Enter the permission value (e.g.,
755) - Check Recurse into subdirectories for folders
- Click Change Permissions
4.2 Using Terminal (if available)
If you have SSH access:
bash
cd /home/username/public_html
chmod -R 755 storage bootstrap/cache
chmod -R 755 public
chmod 644 .env
chmod 755 artisanStep 5: Run the Installer
5.1 Access the Installer
- Open your web browser
- Navigate to your installation URL:
- Subdomain:
http://app.yourdomain.com/install(replaceappwith your subdomain) - Main domain:
http://yourdomain.com/install
- Subdomain:
- You should see the OmniSuite CMS installer welcome page
If you see a 404 error:
- Check that files are in the correct directory
- Verify
.htaccessfile exists in thepublic/directory - Check if mod_rewrite is enabled
5.2 Installer Steps
Follow the installer wizard step by step:
Step 1: Welcome & Requirements
- The installer automatically checks:
- PHP version (must be 8.2.0+)
- Required PHP extensions
- Directory permissions
- Server configuration
- All checks should show green checkmarks
- If any check fails, fix the issue before proceeding
- Click Next to continue
Step 2: License Verification
- Enter your CodeCanyon purchase code
- Click Verify License
- Wait for verification (requires internet connection)
- ✅ Green checkmark = verified, proceed to next step
- ❌ Red error = check purchase code and try again
- Note: License verification is required to proceed
Step 3: Environment Configuration
- App Name: Enter your site/application name
- App URL: Enter your full URL:
- Subdomain:
https://app.yourdomain.com(no trailing slash) - Main domain:
https://yourdomain.com(no trailing slash)
- Subdomain:
- Environment: Select
productionfor live sites - Mail Configuration (Optional): You can configure email now or later
- Click Next to continue
Step 4: Database Configuration
Enter your database credentials (from Step 1):
- Database Connection: Select
mysql - Database Host: Usually
localhost(check with your host if different) - Database Port:
3306(default, usually doesn't need changing) - Database Name:
username_omnisuite_db(full name from Step 1.1) - Database Username:
username_omnisuite_user(full username from Step 1.2) - Database Password: The password you set in Step 1.2
- Click Test Connection to verify credentials
- ✅ Green checkmark = connection successful
- ❌ Red error = check credentials and try again
- Click Next if connection is successful
Step 5: Admin Account Setup
Create your first administrator account:
- First Name: Your first name
- Last Name: Your last name
- Email: Your email address (use a valid email you can access)
- Password: Strong password (minimum 8 characters, recommended 12+)
- Confirm Password: Re-enter password exactly
- ⚠️ Important: Save these credentials securely
- Click Next to start installation
Step 6: Installation Progress
The installer will automatically:
- Save environment configuration (creates
.envfile) - Run database migrations (creates all tables)
- Seed initial data (adds default settings and content)
- Create admin user (adds your administrator account)
- Finalize installation (marks app as installed)
Important:
- ⚠️ Do not close the browser during this process
- ⚠️ Do not refresh the page during installation
- ⚠️ Installation typically takes 2-5 minutes
- Wait for "Installation Complete" message
Step 7: Completion
- You'll see a success message: "Installation Complete!"
- Click Go to Login button
- Or visit:
http://app.yourdomain.com/login(or your domain) - Log in with your admin credentials from Step 5
Step 6: Post-Installation
6.1 Remove Installer Access
For security, the installer is automatically disabled after installation. If you need to reinstall:
- Delete or rename the
.installedfile in the root directory - Or set
APP_INSTALLED=falsein.envfile
6.2 Initial Configuration
- Log in to the admin panel
- Configure Settings:
- Go to Admin Panel → Settings → General
- Update site name, logo, and contact information
- Set up Email:
- Go to Settings → Email Settings
- Configure SMTP settings
- Configure Payment Gateways (if needed):
- Go to Settings → Payment Gateways
- Add your payment gateway credentials
6.3 Build Frontend Assets (if needed)
If you see unstyled pages:
- Access your server via SSH or Terminal in cPanel
- Navigate to your installation directory:bash
# For subdomain cd ~/public_html/app # OR for main domain cd ~/public_html - Install dependencies and build assets:bash
composer install --no-dev --optimize-autoloader npm install npm run build
6.4 Set Up Cron Jobs
- In cPanel, go to Cron Jobs
- Add the following cron job:
Command (adjust path for your installation):
bash
# For subdomain
php /home/username/public_html/app/artisan schedule:run >> /dev/null 2>&1
# OR for main domain
php /home/username/public_html/artisan schedule:run >> /dev/null 2>&1Schedule: Every minute (* * * * *)
6.5 Set Up Queue Worker (if using queues)
If your application uses queues, set up a queue worker:
- In cPanel, go to Cron Jobs
- Add (adjust path for your installation):
bash
# For subdomain
php /home/username/public_html/app/artisan queue:work --daemon
# OR for main domain
php /home/username/public_html/artisan queue:work --daemonSchedule: Every 5 minutes (*/5 * * * *)
Troubleshooting
Issue: Installer Not Loading
Symptoms: 404 error or blank page
Solutions:
- Check that files are in the correct directory
- Verify
.htaccessfile exists inpublic/directory - Check if mod_rewrite is enabled in cPanel
- Verify you're accessing the correct URL:
- Subdomain:
http://app.yourdomain.com/install - Main domain:
http://yourdomain.com/install
- Subdomain:
- Try accessing:
http://yourdomain.com/public/index.php(not recommended for production)
Issue: Database Connection Failed
Symptoms: "Database connection failed" error
Solutions:
- Verify database credentials are correct
- Check database host (may not be
localhost- check with your host) - Ensure database user has ALL PRIVILEGES
- Test connection using phpMyAdmin
- Check if database server is running
Issue: Permission Denied Errors
Symptoms: "Permission denied" or "Cannot write to directory"
Solutions:
- Set correct permissions (see Step 3)
- Ensure directories are writable (755 for directories)
- Check file ownership (should match cPanel user)
- Use File Manager to verify permissions
Issue: PHP Version Error
Symptoms: "PHP version 8.2.0 or higher required"
Solutions:
- In cPanel, go to Select PHP Version
- Choose PHP 8.2 or higher
- Click Set as current
- Refresh the installer page
Issue: Missing PHP Extensions
Symptoms: Extension check fails
Solutions:
- In cPanel, go to Select PHP Version
- Click Extensions
- Enable required extensions:
- mbstring
- xml
- curl
- intl
- zip
- pdo_mysql
- Save changes
Issue: Installation Stuck or Slow
Symptoms: Installer hangs on "Installation Progress"
Solutions:
- Check PHP execution time limit (should be 300+ seconds)
- Verify sufficient server resources
- Check error logs in cPanel
- Try increasing PHP memory limit
- Contact your hosting provider if issue persists
Issue: White Screen After Installation
Symptoms: Blank page after clicking "Go to Login"
Solutions:
- Check error logs in cPanel → Errors
- Verify
.envfile exists and is readable - Check file permissions
- Clear browser cache
- Try accessing:
http://yourdomain.com/logindirectly
Security Recommendations
After installation:
- Delete installer files (if you want to prevent reinstallation)
- Set proper file permissions (directories: 755, files: 644)
- Enable SSL/HTTPS (use Let's Encrypt in cPanel)
- Change default admin password immediately
- Regular backups (use cPanel Backup tool)
- Keep software updated
Next Steps
After successful installation:
- Review Post-Installation Setup
- Configure General Settings
- Set up Email Settings
- Read the Getting Started Guide
Support
If you need help:
- Check the Troubleshooting Guide
- Review cPanel error logs
- Contact your hosting provider
- Refer to application support channels
Last Updated: [Date will be updated during final review]