Ownware
Home›Deliora›Quickstart
Deliora · Quickstart

Deliora Quickstart, as shipped in the download

The QUICKSTART.txt in the download — the same steps your delivery email carries.

DELIORA — QUICKSTART
====================

REQUIREMENTS
------------
  - PHP 8.0+ with extensions: pdo, pdo_sqlite (or pdo_mysql), fileinfo
  - MySQL 5.7+ OR SQLite 3 (SQLite requires no extra setup)
  - A web server (Apache with mod_rewrite, or Nginx with try_files)
  - Optional: SMTP credentials for real buyer emails. Without them, all
    transactional mail is stored in the admin Outbox (evaluation mode).

SHARED HOSTING / CPANEL (RECOMMENDED FOR MOST BUYERS)
------------------------------------------------------
1. Upload the contents of the `app/` folder to your web root (e.g. public_html/)
   or a subdirectory (e.g. public_html/store/).

2. Make sure the data/ directory is writable by PHP.
   Via cPanel File Manager: right-click -> Permissions -> 755 or 775.

3. Visit https://yourdomain.com/install/ in your browser.

4. Fill in the installer:
     - Database: MySQL (host/name/user/pass) or SQLite (no setup)
     - Store name, currency, timezone
     - Admin email + password

5. The installer writes config.php and redirects you to the login page.

6. Log in -> Products -> New product. Add editions (single/extended/saas),
   upload each edition's ZIP deliverable, upload screenshots, publish.

7. Payments start in DEMO mode: the storefront's Buy button opens a built-in
   simulated checkout that exercises the FULL fulfillment loop (order, license
   key, download link, outbox email) with no real money. Try it end to end.

GOING LIVE WITH REAL PAYMENTS
-----------------------------
  Deliora hands checkout to a payment provider (Lemon Squeezy or Stripe) and
  fulfills from their signed webhooks — card data never touches your server.

  1. Settings -> Payments: pick your provider, add its webhook secret
     (write-only), and set each edition's checkout URL / variant / price ID.
  2. Point the provider's webhook at: https://yourdomain.com/webhook/lemonsqueezy
     (or /webhook/stripe).
  3. IMPORTANT — crypto modules: webhook SIGNATURE VERIFICATION and HMAC
     license signing are fully implemented (see README "Crypto modules").
     Any non-demo webhook whose signature does not verify is REJECTED (fail
     closed) — nothing can be forged, and nothing will fulfill. The demo
     provider is fully functional for evaluation with no real money.

DEMO DATA (OPTIONAL, LOCAL EVALUATION)
--------------------------------------
  php bin/demo.php
  Login: admin@deliora.app / admin123
  Loads a sample store: 4 products, 10 orders, licenses with activations,
  a refunded order, and outbox emails.

LOCAL PREVIEW WITHOUT APACHE
----------------------------
  php -S 127.0.0.1:8080 router.php
  then open http://127.0.0.1:8080/install/

LICENSE API (FOR YOUR OWN PRODUCTS)
-----------------------------------
  POST /license/check    JSON {"key":"OWX-...","sku":"your-product-slug"}
  POST /license/activate JSON {"key":"OWX-...","sku":"...","domain":"client.com"}
  -> {"valid":true,"tier":"single","activations_left":2,"reason":""}
  Re-activating the same domain never consumes an extra slot.

TROUBLESHOOTING
---------------
  - 500 after upload: data/ not writable, or PHP < 8.0
  - "Session expired" on every form: cookies blocked or PHP sessions broken
  - Buy button says "no checkout link configured": set the edition's checkout
    URL (or variant/price ID) in the product editor, or stay in demo mode
  - Downloads 404: the edition has no ZIP uploaded yet
  - Emails not arriving: SMTP unconfigured -> check the admin Outbox

← Back to Deliora · Manual · API · Test run

Affiliate program
Recommend tools people own — earn 35% on every sale. 90-day tracking, instant delivery, payouts by Lemon Squeezy.
Become an affiliate →