Skip to documentation

Install Audoryx safely.

The buyer package already contains production PHP dependencies and compiled frontend assets. Prepare the server, expose only the public directory, then complete the guarded browser installer.

Server requirements

AreaRequirementWhy it matters
PHP8.2 or newerRequired by Laravel 12 and the packaged application.
DatabaseMySQL 8.0+ or MariaDB 10.3+Production installations must use a dedicated empty database.
Extensionsctype, curl, dom, fileinfo, filter, hash, json, libxml, mbstring, openssl, pdo, pdo_mysql, session, tokenizerThe installer checks the runtime before changing the server.
WebHTTPS and URL rewritingCredentials, callbacks, cookies, streaming, and license binding require a final secure origin.
Writablestorage/ and bootstrap/cache/Laravel must write configuration, logs, caches, sessions, private media, and installer state.
ProcessesScheduler every minute and queue workersGeneration, notifications, maintenance, reconciliation, and cleanup are asynchronous.
Never use 777 permissions

Use the correct file owner and normal permissions such as 755/644. Add group write access only where your hosting ownership model requires it.

Public-demo screenshots and showcase covers are not buyer-package assets

The ZIP stays lean and policy-safe. Setup imports a reviewed first-party default-theme media pack from Audoryx, with a pinned manifest and per-file integrity checks. These hosted preview files are not embedded in the buyer ZIP. Additional marketplace-only category media remains exclusive to the live demos, and the two Verdant landing cutouts belong to that separately distributed theme.

Audoryx does not generate or serve SVG artwork fallbacks. If the network is interrupted, missing official media is hidden cleanly and php artisan audoryx:assets:install safely retries the import. Refresh the site after the command finishes. Upload your own licensed media at any time through Admin → Brand & content.

Protect the application files

Extract the downloaded Codester package first, then extract its audoryx.zip. That nested archive contains the complete deployable application at its root. Keep the sibling update/ directory separate; it is for upgrading an existing installation.

Prefer exposing only Audoryx's public files. The bundled cPanel root bridge is available when the hosting Document Root is fixed, but its hidden .htaccess must remain active. Never expose .env, vendor/, storage/, source code, logs, or backups.

Choose one of three supported deployment layouts

Both layouts expose the same application and installer. Use exactly one layout; do not mix their path instructions.

Method 1 · Extract directly into the current cPanel web root

When the domain is fixed to public_html, copy every item extracted from audoryx.zip into that empty web root, including the hidden root .htaccess. The root index.php boots Laravel from the same directory, while Apache serves compiled assets internally from public/.

Method 1 · Direct cPanel root
/home/CPANEL_USERNAME/public_html/
├── .htaccess          # Keep this hidden protection file
├── index.php          # Audoryx cPanel root controller
├── app/
├── bootstrap/
├── public/            # Assets are mapped internally
├── storage/
├── vendor/
└── ...
Verify private-path blocking before installation

This method requires Apache-compatible .htaccess overrides and mod_rewrite. Request /.env, /vendor/, /storage/, and /composer.json; every URL must return 403 or 404. If any private content is visible, use Method 2 or Method 3 instead.

Method 2 · Point the domain directly to public/ (recommended)

Upload the complete audoryx/ application outside any existing web directory, then set the domain or subdomain Document Root to audoryx/public. Leave $audoryxPrivateFolder = ''; in public/index.php.

Method 2 · Direct Document Root
/home/CPANEL_USERNAME/
└── audoryx/           # Private Laravel application
    ├── app/
    ├── storage/
    ├── vendor/
    └── public/        # Domain document root
        ├── .htaccess
        ├── index.php
        ├── assets/
        └── build/

This is the preferred layout for cPanel, Plesk, Apache, and Nginx because the package remains intact and no public files are duplicated.

Method 3 · Use a split public_html or domain-named web root

Use this method only when the hosting panel cannot change the domain Document Root. Keep the private application as a direct sibling of the web root, copy only the contents of audoryx/public/ into public_html/ or the folder named after the domain, and include the hidden .htaccess file.

Method 3 · Split shared-hosting layout
/home/CPANEL_USERNAME/
├── audoryx/            # Private application; never web-accessible
│   ├── app/
│   ├── bootstrap/
│   ├── config/
│   ├── storage/
│   ├── vendor/
│   └── ...
└── public_html/        # Or: example.com/
    ├── .htaccess       # Copied from audoryx/public/
    ├── index.php       # Copied, then configured below
    ├── assets/
    ├── build/
    └── themes/

Open the copied web-root index.php and change only this line:

public_html/index.php
$audoryxPrivateFolder = 'audoryx';
  • Enter the private folder name only. Do not enter an absolute path, a slash, .., or the domain name unless that is also the private folder name.
  • The private folder and web root must be direct siblings. For example, /home/user/audoryx beside /home/user/public_html or /home/user/example.com.
  • Make audoryx/storage/ and audoryx/bootstrap/cache/ writable before the first request. Audoryx persists the resolved public path privately so Artisan, the scheduler, themes, media publishing, and signed updates continue using the real web root.
  • Never move .env, app/, bootstrap/, config/, database/, resources/, routes/, storage/, or vendor/ into the public web root.
  • After copying, request a nonexistent private file such as /.env and confirm the server returns 403 or 404. Never proceed if it downloads or renders.
Do not edit Composer or bootstrap paths manually

The packaged index.php validates the private sibling name, resolves the real application root, and records the public mapping safely. Change only $audoryxPrivateFolder. Handwritten ../vendor or ../bootstrap paths can break maintenance mode, CLI tasks, storage links, and future updates.

Complete the cPanel installation

Select and prepare one layout

Use Method 2 when cPanel permits a custom Document Root. For a fixed web root, use the direct Method 1 or the privately split Method 3. Configure the private folder name only for Method 3. Do not upload an archive nested inside another archive.

Expose public files only

For Method 1, confirm the root .htaccess blocks private paths. For Method 2, set the domain root to /home/CPANEL_USERNAME/audoryx/public. For Method 3, confirm that only copied public/ contents are inside the web root. Delete the uploaded ZIP after extraction.

Create an empty database

Create a dedicated database and user, assign all privileges on that database, and retain the full cPanel-prefixed names.

Set writable ownership

Ensure the PHP/web-server user can write to audoryx/storage/ and audoryx/bootstrap/cache/.

Open the installer

Visit https://your-domain.example/install/access on the final HTTPS origin.

Hosting-specific details remain available in the cPanel technical reference.

Complete the browser installer

Unlock access out of band

Read storage/app/private/audoryx-install-token.txt with File Manager or SSH and paste it on the access page. Do not send it by email or public support ticket.

Pass the requirement checks

Resolve every missing extension or write failure before continuing. A warning is not a reason to loosen the entire application directory.

Test the database

Enter the server-provided host and port, database, user, and password. Use Test database. A first installation requires an empty supported database.

Verify and bind the license

Provide only the Codester purchase reference and final origin. EKR verifies the purchase, creates the protected installation token internally, and returns a signed lifetime-offline certificate; there is no second product key or local Regular/Extended selector.

Create the first administrator

Use a private email address and a unique strong password. Store recovery access outside the application.

Run installation once

The wizard writes the environment, generates APP_KEY, migrates the database, links public assets, creates the administrator, registers core records, and permanently locks itself.

Do not run the browser and CLI installers on the same database

Use one clean installation path. Never point a first-install process at an unrelated populated database.

Queue and scheduler

A persistent process supervisor is preferred. Shared hosting may use the packaged scheduled queue draining, but the scheduler must still run every minute.

Primary worker
php artisan queue:work \
  --queue=audio-generations,notifications,default \
  --tries=3 --timeout=900
Database maintenance worker
php artisan queue:work database \
  --queue=maintenance --tries=5 --timeout=900
Cron scheduler
* * * * * /usr/local/bin/php /absolute/path/to/audoryx/artisan schedule:run >> /dev/null 2>&1

Advanced CLI alternative

Experienced operators may install from the command line after creating a clean .env, generating the application key, setting the final HTTPS URL, and configuring an empty supported database.

Clean CLI installation
cp .env.example .env
php artisan key:generate
# Set APP_URL and DB_* values before continuing.
php artisan audoryx:install --force
php artisan optimize

Post-installation verification

  • APP_ENV=production, APP_DEBUG=false, and HTTPS are effective.
  • The document root exposes no private application file.
  • The scheduler and both worker groups are active and restart automatically.
  • Public storage is linked while customer audio remains on a private media disk.
  • A real SMTP test arrives and its secrets never appear in page source.
  • Admin → Licenses shows the expected tier, lifetime offline continuity, and current EKR-only service status.
  • At least one authorized provider passes its connection test.
  • A verified backup is downloaded and retained off server.
  • Registration remains closed until legal pages, plans, support, and monitoring are ready.
Audoryx documentation · Version 2.0.0 · Updated 3 September 2026