Shared Host Installation
If you are deploying SpotVibe on a typical shared hosting environment (e.g. cPanel) where you do not have terminal/SSH command line access, follow this detailed companion guide to configure your database, extract files, run the setup wizard, and enable background automation.
1. Creating the Database in cPanel
First, you need to create a fresh MySQL database where the system will store bookings, venues, and user accounts. You can do this visually using the cPanel MySQL Wizard:
- Log in to your cPanel dashboard, search for and open the MySQL Database Wizard.
- Step 1 (Create Database): Enter a name for your database (e.g.
myvenues_spotvibe) and click "Next Step". - Step 2 (Create Database User): Enter a username (e.g.
myvenues_svuser) and assign a strong password. Click "Create User". - Step 3 (Link User to Database): In the privileges checkmarks page, check the box for ALL PRIVILEGES. Click "Next Step" to finalize.
- Note down: Save the exact Database Name, Database Username, and Database Password. You will enter them in the web installer database setup step.
2. Uploading Files via cPanel File Manager (Primary Method)
On shared hosting, you can upload all files directly to your main web folder and use the included
.htaccess file to securely route your visitors, avoiding the need to change root folders or
use SSH.
- Step 1: Find the downloaded Envato ZIP file (e.g.,
SpotVibe-v1.0.0.zip) and extract it on your computer. Open theSource_Code/folder, select all its contents, and compress them into a new ZIP archive namedSource_Code.zip. - Step 2: Open your cPanel dashboard, search for and open the File Manager.
- Step 3: Navigate to your primary domain's root directory, which is typically
public_html/(or your custom subdomain directory if following Section 3). - Step 4: Click Upload in the top menu, select your locally created
Source_Code.zipfile, and wait for the upload to complete. - Step 5: Return to the File Manager, right-click the uploaded
Source_Code.zipfile, and select Extract. Extract the files directly inside your active web directory.
After extraction, your public_html/ (or custom subdomain folder) directory structure must
look exactly like this:
/public_html
├── app/ (System core folder)
├── bootstrap/ (Cache configurations)
├── config/ (System setup folder)
├── database/ (Database schema records)
├── public/ (Assets and index entry)
├── resources/ (Design templates and layouts)
├── routes/ (Web path records)
├── vendor/ (System package library)
├── .htaccess (Pre-configured redirection helper)
└── artisan (Web runner file)
.htaccess file must be present in the
root folder of your domain or subdomain. This file is pre-configured to redirect visitors to the secure
public/ folder, protect your system configuration files (such as .env and
artisan), and prevent unauthorized access.
3. Configuring a Subdomain (Alternative Option - Subdomain-to-Folder Mapping)
If you prefer to run SpotVibe on a subdomain (for example, booking.yourdomain.com) instead
of your primary domain, you must set it up in your hosting control panel. It is absolutely
critical that the subdomain's directory is correctly configured.
When creating a subdomain, your hosting provider asks for a Document Root (the directory where the web server looks for files).
- You must extract the SpotVibe files inside the exact folder mapped to that
subdomain (e.g.,
public_html/booking/). - If you map your subdomain to
public_html/bookingbut extract your code in the mainpublic_html/, the website will fail to load, resulting in 404 Not Found, 403 Forbidden, or default hosting placeholder pages.
A. How to configure on Hostinger (hPanel):
- Log in to your Hostinger Control Panel and navigate to the Subdomains section.
- Enter your subdomain name (e.g.,
booking). - Important: Check the box "Use a custom folder for subdomain". This separates your subdomain files from your main website files.
- Input your desired directory path (e.g.,
public_html/booking). - Click Create.
- Note down this folder path. When uploading files (in Step 2), you must navigate to this
exact folder (e.g.
public_html/booking/) instead of the mainpublic_html/.
B. How to configure on cPanel:
- Log in to your cPanel dashboard, search for and open the Domains tool.
- Click the Create A New Domain button.
- Enter your subdomain in the Domain box (e.g.,
booking.yourdomain.com). - Important: Ensure the checkbox "Share document root" is unchecked. This will reveal the Document Root directory input.
- Specify the custom directory path (e.g.,
public_html/booking). - Click Submit. When uploading files (in Step 2), you must upload and extract them
inside this exact folder instead of the main
public_html/.
4. Running the Visual Installer Wizard
Once your database is created and files are extracted in the correct directory (either
public_html/ or your subdomain folder), you are ready to trigger the installer wizard:
- Open your web browser and navigate directly to your domain or subdomain URL (e.g.,
https://yourdomain.comorhttps://booking.yourdomain.com). - Automatic Redirection: The system will automatically detect that SpotVibe has not been configured yet and will redirect your browser to the web installer wizard.
- Troubleshooting Connection Errors: If accessing your URL shows a 404 Not Found, 403 Forbidden, or a default hosting placeholder page, it means your subdomain/domain is pointed to the wrong folder in your hosting panel. Check Step 3 (or Step 2 for main domain) to ensure your domain's Document Root matches the physical upload directory.
- To complete the installation, follow the detailed visual step-by-step checklist starting at Step 4 in the main Installation Guide.
5. Setting up Cron Jobs (Background Automation)
SpotVibe requires a background timer (Cron Job) to run every minute. This timer cancellation process automatically releases slots if a customer exits during checkout, and cancels expired bookings. You can configure this easily in your hosting provider's panel (like cPanel, Hostinger hPanel, etc.):
Cron Job Command Configuration
- Log in to your hosting control panel, search for and open the Cron Jobs (or Scheduler Tasks) tool.
- Set the execution frequency to Once Per Minute (
* * * * *). - In the Command input field, enter the following command:
/usr/bin/php /home/yourusername/public_html/artisan schedule:run >> /dev/null 2>&1 - Replace
yourusernamewith your actual hosting/cPanel username (e.g., if your home directory is/home/john/, replaceyourusernamewithjohn). Also ensure that the path to PHP matches your host's PHP 8.4 CLI binary path. - Click Add New Cron Job.
- Common Error:
No such file or directory / syntax error near unexpected token: This occurs if you input only the file path (e.g.public_html/artisan) directly into the command box. The system will try to execute it as a shell script instead of a PHP file. You must always prepend thephpor/usr/bin/phpprefix in your command so the system knows to run it with the PHP interpreter. - Finding your absolute home directory:
Cron commands run from the root of the hosting environment (usually
/home/uXXXXXXXXX/on Hostinger). Thus, paths must be absolute:/home/uXXXXXXXXX/domains/yourdomain.com/public_html/artisan. You can find your "Home directory" in your Hosting Dashboard details. - Specifying PHP CLI version:
If your host defaults to an older PHP version on CLI, you may need to use the full path to PHP
8.4+:
- Hostinger / Generic:
/usr/bin/php - cPanel:
/usr/bin/ea-php84(or the path corresponding to PHP 8.4)
- Hostinger / Generic: