Foodomaa Docs
Main site Buy — $299
Documentation menu

Installation Guide

Most failed installs come down to five things: the wrong PHP version, a missing extension, file permissions, an inactive SSL certificate, or a domain that does not resolve to the server. Fix those before you upload anything.

Before you start

  • Server with PHP 8.x, MySQL and the required extensions (requirements).
  • Database name, user and password ready.
  • Domain pointing at the server, with SSL active.
  • SMTP credentials for order and password emails.
  • A backup plan and a maintenance window. Do not install over an existing live site.

1. Create the database

Create a dedicated database and user in your hosting panel or from MySQL. Grant the user all privileges on that database only. Note the host, port, database name, user and password — the installer will ask for them.

2. Upload the package

Upload the Foodomaa package to the web root and extract it. If the package contains a public directory, point the domain's document root at public; do not expose the application files above it. Keep the original archive until the install is verified.

3. Set permissions

The web user needs write access to the storage, cache and upload directories used by your build. A typical layout is:

storage/            writable
bootstrap/cache/    writable
public/uploads/     writable

Use the owner of the web server process (often www-data or www) and 755 for directories, 644 for files. Never use 777.

4. Run the installer

Open your domain in a browser. The installer asks for the database credentials, the site name, the admin account and sometimes the purchase/licence details. Use a strong admin password and a real email address you control.

If the installer returns a 500 or a blank page, check the PHP error log first, then the application log. The usual causes are a missing PHP extension, a database connection error, or a permission problem.

5. Post-install settings

  • Site URL — the exact HTTPS URL, including https:// and the correct subdirectory if any.
  • Timezone and currency — every report and receipt inherits them.
  • Commission and fees — set the vendor commission, delivery charge and minimum basket together.
  • Delivery zones — draw the polygon or radius before adding restaurants.
  • Payment gateway — start in sandbox; switch to live only after a successful end-to-end order.
  • Email/SMS — send a test of each. OTP failures look like a broken app to customers.
  • Branding — logo, colours, splash screen and app icons.

6. Cron and queue

Add the scheduler entry for the web user and confirm it runs every minute. If your build uses queues, start a worker under Supervisor or systemd and confirm jobs are processed. Recheck both after every deploy.

7. First test order

Create one test vendor, one menu item and one delivery zone. Place an order end to end: customer checkout, vendor acceptance, rider assignment, delivery completion and settlement report. Test one cancellation and one refund before inviting real vendors.

8. Backup

Take a full backup of files and database immediately after the install, and schedule daily database backups. Store them off the server. A backup you have never restored is not a backup.

Installer security. After installation, remove or lock the installer directory if your build leaves it in place. Leaving an installer reachable on a live site is a takeover risk.
Included support. Installation on your VPS is included with the $299 licence. Send the server access and domain through the contact page; never post credentials in a public ticket.