Skip to main content
Batoi Press Docs

Installation

Install Batoi Press on standard PHP hosting and understand the directory model.

Version 1.6.1 Active public source Reviewed Jul 21, 2026 Next review Oct 21, 2026

Owner: Batoi Engineering Reviewed by: Batoi Press Maintainers Source revision: 72bd58f

Browse Batoi Press Documentation Installation

Installation

Batoi Press is packaged for standard PHP hosting. The browser-facing files live in public_html/; the private CMS engine lives in radpress/.

Batoi Press installation layout A diagram showing browser traffic to public_html and private application files in radpress. Browser public_html/ index.php install.php admin.php assets/ radpress/ private CMS engine Keep radpress outside the web root when hosting allows it.

Requirements

  • PHP 8.1 or newer.
  • Apache rewrite support for clean URLs, or query-string fallback.
  • Writable radpress/config/, radpress/content/, and radpress/data/.
  • ZIP extension for package handling.
  • No database, Composer, Node.js, Docker, Git, or CLI access is required for runtime use.

Install Flow

  • Upload the package contents to the host.
  • Point the web root to public_html/ when possible.
  • Keep radpress/ outside the public web root when the host allows it.
  • Open /install.php.
  • Create the first owner account.
  • Confirm radpress/config/installed.lock was created.

The installer creates or updates:

radpress/config/site.json
radpress/config/users.json
radpress/config/security.json
radpress/config/installed.lock

Web Root Notes

On cPanel-style hosting, public_html/ is usually the web root. If the host does not allow radpress/ outside the web root, keep the included .htaccess files in place so private directories are denied direct access.

Release Package Contents

A release ZIP should contain:

public_html/
radpress/
README.md
LICENSE

Generated runtime state should not be included, especially:

radpress/config/installed.lock
radpress/data/backups/*.zip
radpress/data/cache/*
radpress/data/export/*.zip
radpress/data/log/*.jsonl
radpress/data/sessions/*
radpress/data/tmp/*
radpress/data/versions/*

Build a package with:

php tools/build-release.php

Use --output /path/to/batoi-press.zip when a custom destination is needed.