Installation

AppForge has two parts you install:

PartWhere you get itWhere it runs
Backend + Admin PanelThe backend/ folder of your download (updates also at pmzpw.com → My Account)Your own PHP hosting (cPanel)
Flutter ProjectThe flutter/ folder of the same downloadYour computer (built with Flutter)

Server requirements

  • PHP 8.2 or newer with: PDO, pdo_mysql, cURL, OpenSSL, JSON, mbstring, fileinfo, zip
  • MySQL 8.0+ or MariaDB 10.6+
  • Apache with mod_rewrite (standard on cPanel hosting)
  • HTTPS (strongly recommended; required for production)
  • Not required: Docker, Node.js, Redis, shell access
Apache vs nginx. AppForge protects its private folders (backend/config, backend/storage, database) with .htaccess files, which nginx ignores. On nginx (or LiteSpeed without htaccess support) you must add equivalent location deny rules yourself, or the wizard will refuse to run. Standard cPanel/Apache hosting needs no extra work.

Step by step

  1. Get the backend. It is the backend/ folder inside your download — no separate download needed. (For updates later: pmzpw.com → My Account.)
  2. Upload. Upload the contents of backend/ to your hosting — either the web root (public_html/) or a subfolder (public_html/app/). Keep the folder structure exactly as extracted.
  3. Create a database. In cPanel → MySQL Databases: create a database, a user, and grant the user all privileges on that database.
  4. Run the wizard. Open https://your-domain.com/install in your browser and follow the 6 steps:
    1. Requirements — the wizard checks PHP/extensions/permissions for you.
    2. Database — enter the credentials from step 3. The schema imports automatically.
    3. Admin Account — your login for the admin panel. No default passwords exist anywhere.
    4. Application URL — usually detected automatically.
    5. License — your CodeCanyon purchase code + the website domain this app is for. Activation is part of the installation — installing on localhost or a staging domain counts as a development copy and never consumes your production slot.
    6. Finish.
  5. Delete /install. The installer locks itself after finishing, but removing the folder entirely is best practice.
  6. Set up cron (needed for scheduled push notifications and automatic license checks). In cPanel → Cron Jobs, add every 5 minutes:
   /usr/local/bin/php /home/YOUR_USER/public_html/cron.php

(Adjust the PHP path and file path to your hosting; your host's support can tell you the exact PHP binary path.)

After installation

Sign in at https://your-domain.com/admin, create your app (name, website URL, package name, bundle ID) and work through the sidebar top-to-bottom. When the configuration is done, continue with flutter-setup.md.

Reinstalling

Delete backend/config/config.php and backend/storage/installed.lock, drop the database tables, then open /install again.