Installation and Deployment - softerfish/fyuhls GitHub Wiki

Installation and Deployment

This page is the practical install guide for fyuhls v0.1.2.

Base requirements

  • Linux hosting
  • PHP 8.2 or newer
  • MySQL or MariaDB
  • PDO MySQL
  • OpenSSL
  • cURL
  • URL rewriting support
  • writable storage/ and config path targets

Recommended project layout

  • keep the full project outside the public web root when possible
  • point the domain or subdomain document root at the project's public/ directory
  • keep the generated hidden config file outside the webroot

Example:

  • project root: /home/username/fyuhls
  • document root: /home/username/fyuhls/public

Installation flow

  1. Upload the full project, including src, public, vendor, config, and storage.
  2. Create the database and database user first.
  3. Point the site to public/.
  4. Visit /install.php.
  5. Complete the installer with database and admin credentials.
  6. Let the installer generate the hidden config path automatically.
  7. Visit /post_install_check.php.
  8. Configure cron, storage, email, packages, downloads, uploads, SEO, and security.

v0.1.2 install behavior

  • the installer enforces HTTPS outside local development
  • hidden config targets are restricted to safe absolute .php files
  • unsafe config targets inside the webroot or normal config directory are blocked
  • the app can auto-rotate an insecure default app_key when the hidden config file is writable

First-run checklist

  • confirm the hidden config file exists and is outside the webroot
  • check System Status
  • configure cron
  • configure at least one storage node
  • test email delivery
  • review upload and download rules
  • review security, proxy, and captcha settings
  • review SEO settings and canonical URL

Cron heartbeat

fyuhls expects the cron runner to execute every minute:

* * * * * php /home/yourusername/fyuhls/src/Cron/Run.php

Without cron:

  • cleanup will drift
  • email queue work will stall
  • dashboard cached stats may fall back to live mode
  • reward and fraud jobs will not process
  • multipart upload recovery and reconciliation will not run

Control panel notes

cPanel

  • change the domain document root to the project public/ folder

DirectAdmin

  • update the public path so the live domain points to public/

Deployment habits

  • treat storage-path changes as infrastructure changes, not cosmetic edits
  • test one upload, one download, one delete, and one password-reset flow after deployment
  • if using object storage, validate bucket CORS and delivery behavior before public launch
  • if using updater preview/apply, review the preview report before applying changes on a modified install
⚠️ **GitHub.com Fallback** ⚠️