Follow this step-by-step guide to install and configure OmniMart. The interactive web installation wizard works identically for both local development workspaces (localhost) and production web hosting servers (such as cPanel shared hosting or VPS).
Step-by-Step Installation Process
Step 1: Upload & Extract Files
- After purchasing and downloading OmniMart from CodeCanyon or GeniusDevs.com, extract the main downloaded zip package on your computer.
- Inside the extracted package, you will find the
installable.zipfile (this is the core application archive you need to upload). - Upload
installable.zipto your target web directory:- Production Server (cPanel / Plesk): Upload
installable.ziptopublic_htmlor your domain's document root directory. - Localhost Environment: Place
installable.zipinto your local server web directory (e.g.,www/for Laragon/Herd orhtdocs/for XAMPP).
- Production Server (cPanel / Plesk): Upload
- Extract
installable.zipcompletely directly inside that directory. - Open your web browser and navigate to your website's URL (e.g.,
https://yourdomain.comorhttp://localhost/omnimart). - You will automatically be redirected to the web installer Welcome screen (
/install).
Step 2: Welcome & Requirements Verification
- On the Welcome page of the installation wizard, click Check Requirements.
- The installer (
RequirementsChecker) will inspect your server environment against the required PHP >= 8.4 rule and the 20 required PHP extensions +symlinkfunction. - Verify that all requirements show a green checkmark.


- Once all requirements are verified, click Continue to Permissions.
Step 3: Directory Permissions Verification
- The installer (
PermissionsChecker) will check write access for the 4 critical storage and cache directories:storage/app/storage/framework/storage/logs/bootstrap/cache/
- Ensure that each directory displays a green Writable status.

- Once all permissions are verified, click Continue to License Setup.
Step 4: License Verification
Verify your product purchase license to activate your OmniMart store:
- Where did you purchase this item?: Select your purchase source:
- GeniusDevs (geniusdevs.com): For direct purchases on the GeniusDevs portal.
- Envato Market (ThemeForest / CodeCanyon): For CodeCanyon purchases.
- Email Address: Enter your account email address (associated with your purchase).
- Envato Username: Enter your Envato username (required if Envato Market was selected).
- License Key / Purchase Code: Enter your unique license key or Envato item purchase code.
- Active Internet Connection: Ensure your web server has an active internet connection to communicate with the GeniusDevs central verification server (
https://app.geniusdevs.com).

- Click Verify License.
Important: GeniusDevs licenses follow a single-domain policy. Each license key is valid for one live domain installation only. If you need to transfer your license to a new domain, contact customer support for authorization.
- Upon successful verification, the installer creates the verification token (
storage/verified), executesstorage:linkautomatically, and advances to Step 5: Environment Setup & Database Installation.
Step 5: Environment Setup & Database Installation
On the Environment Setup page, configure your database connection, application parameters, and custom administrator credentials:

- Database Configuration:
- Hostname: Usually
127.0.0.1orlocalhost. - Port: Standard MySQL port
3306. - Database Name: The name of your newly created MySQL database.
- Username: Database user (e.g.,
rooton localhost or your cPanel DB user). - Password: Password for the database user.
- Hostname: Usually
- Application Settings:
- App Name: Enter your store name (e.g.,
OmniMart Store). - App URL: Enter your full URL including protocol (e.g.,
https://yourdomain.com).
- App Name: Enter your store name (e.g.,
- Administrator Setup:
- Admin Email: Enter your desired administrator email address (required).
- Admin Password: Enter your custom administrator password (minimum 6 characters).
- Confirm Password: Re-enter the administrator password to confirm.
- Click Test Database Connection to confirm connectivity via real-time AJAX check.
- Once the test succeeds, click Save & Install. The installer will write your
.envfile, importdatabase.sql, run pending migrations (php artisan migrate --force), create your Super Admin account in theadminstable, generate the installation lock file, and finalize setup.
Step 6: Dashboard Login & Security Setup
Upon successful completion, you will be presented with the confirmation screen:

Click the Admin Dashboard button to navigate to the backend login page (/admin).
Administrator Login Credentials:
- Login URL:
https://yourdomain.com/admin- Email: The custom administrator email configured in Step 5.
- Password: The custom administrator password configured in Step 5.
Security Recommendation: You can update your profile credentials at any time from the Admin Profile page.
Step 7: Background Workers & Scheduler (Cron Jobs)
OmniMart relies on scheduled background tasks to process queued email notifications, handle promotional campaign timers, and run routine maintenance.
Localhost Setup (Development & Testing)
On localhost, you do not need to configure a system cron service. To run background jobs during testing, execute the following commands in your project terminal:
# Run the Laravel scheduler manually
php artisan schedule:run
# Start background queue worker to process email templates and jobs
php artisan queue:work
Production Setup — Choose Method A or Method B
Method A: CLI Cron Jobs (VPS / Dedicated Server / SSH Access)
If your server provides SSH terminal access or system crontab management, add the scheduler cron entry to your server crontab (crontab -e):
# Laravel Scheduler — runs scheduled tasks and campaign timers every minute
* * * * * cd /path-to-your-project/core && php artisan schedule:run >> /dev/null 2>&1
Method B: Web-Based / cPanel Cron (Shared Hosting / cPanel)
If you are hosting OmniMart on cPanel or shared hosting:
- Log into your cPanel Dashboard and open Cron Jobs.
- Set the interval to Once Per Minute (
* * * * *) or Every 5 Minutes (*/5 * * * *). - In the Command field, enter the queue worker route (replace
https://yourdomain.comwith your real website URL):Or if using curl:BASHwget -q -O /dev/null "https://yourdomain.com/run/queue"BASHcurl -s "https://yourdomain.com/run/queue" >/dev/null 2>&1 - Click Add New Cron Job.
