Skip to content

Install on cPanel (shared hosting)

This guide uses cPanel’s standard tools. Other panels (Plesk, DirectAdmin, hPanel) have the same steps under similar names. Plan about 20 minutes.

  1. cPanel → Software → Select PHP Version (or MultiPHP Manager).
  2. Choose 8.4 or 8.5 for your domain.
  3. On the Extensions tab, tick: bcmath, ctype, curl, fileinfo, mbstring, openssl, pdo_mysql, tokenizer, xml, zip, and if available gd, exif, intl.
  4. On the Options tab (if shown), set memory_limit to at least 256M and upload_max_filesize / post_max_size to at least 20M (for photos and catalogue imports).
  1. cPanel → Databases → MySQL Database Wizard.
  2. Step 1: enter a name, for example rapidmart (cPanel adds a prefix, like you_rapidmart).
  3. Step 2: create a user and a strong password. Save both — the installer asks for them.
  4. Step 3: tick ALL PRIVILEGES → Next Step.

Write down the full database name and user name exactly as cPanel shows them, with the prefix.

  1. On your computer, unzip the RapidMart download. You’ll use the backend folder.
  2. Zip the contents of backend (select everything inside it, including hidden files like .env.example, and compress), so the zip has app/, public/, vendor/ … at its top.
  3. cPanel → Files → File Manager → open your home folder (above public_html).
  4. Create a folder named rapidmart, open it, Upload your zip, then right-click it → Extract. Delete the zip afterwards.
  5. Check that rapidmart/public/build/manifest.json exists — the installer needs the compiled files.

Only rapidmart/public should be reachable from the web.

  • Main domain: cPanel → Domains → Domains → your domain → Manage → set the Document Root to rapidmart/public.
  • Subdomain or addon domain (for example app.yourdomain.com): cPanel → Domains → Create A New Domain, untick “share document root”, and set the document root to rapidmart/public.

If your host doesn’t let you change the main domain’s document root, use a subdomain, or ask the host’s support to point it at rapidmart/public.

If neither is possible and the domain serves the rapidmart folder itself, as Hostinger’s Git deployment does, RapidMart still works. The .htaccess file in the rapidmart folder passes every request into public, so .env, storage and the rest of the project can’t be opened from the web. Keep that file when you upload: it’s hidden on most computers.

cPanel → Security → SSL/TLS Status → select your domain → Run AutoSSL. Wait until it shows a valid certificate. The apps and payments need HTTPS.

In File Manager, right-click → Change Permissions:

PathPermission
rapidmart/storage (and everything inside)775
rapidmart/bootstrap/cache775

Open https://yourdomain.com in your browser. The installer starts by itself — continue with Run the web installer.

Once installed, add the scheduler and the queue to cPanel → Advanced → Cron Jobs, both Once Per Minute. Replace you with your cPanel user name:

Terminal window
cd /home/you/rapidmart && php artisan schedule:run >> /dev/null 2>&1
Terminal window
cd /home/you/rapidmart && php artisan queue:work --queue=realtime,default --stop-when-empty --max-time=55 >> /dev/null 2>&1

If php isn’t the right version on the command line, use the full path your host gives, for example /opt/cpanel/ea-php84/root/usr/bin/php.