Installation Guide

Views: 3

The WinnaCMS package ships with its runtime dependencies (vendor). Follow the steps below to deploy it on a Linux host.

1. Requirements

  • PHP 8.4+ (tested on 8.4.27) with openssl, pdo_mysql, mbstring, fileinfo, curl, gd or imagick, zip.
  • MySQL 8.0+ or MariaDB 10.6+.
  • Nginx or Apache with URL rewriting; document root must point to /public.
  • PHP limits: upload_max_filesize ≥ 20M, post_max_size ≥ 25M, memory_limit ≥ 256M.
  • Disk: about 100MB for the app; 5GB+ recommended for media and backups.

2. Upload

  1. Extract the package to your site directory, e.g. ~/apps/wincms.
  2. Point the domain document root to ~/apps/wincms/public.
  3. Make storage and bootstrap/cache writable.

3. Environment file

cp deploy/env.production .env
php artisan key:generate

Fill in at least APP_URL, DB_HOST/DB_PORT/DB_DATABASE/DB_USERNAME/DB_PASSWORD, CRON_TOKEN and MAIL_*. Keep all secrets in the server .env only.

4. Run the installer

Open https://your-domain/install and complete the wizard: environment check → database → admin account → optional modules → confirm. Remove or rename /install afterwards.

5. Scheduler

Without system crontab, add a URL cron job in your hosting panel hitting https://your-domain/cron/{CRON_TOKEN} every 1–5 minutes. It drives scheduled publishing and the queue; an empty CRON_TOKEN disables the endpoint (404).

6. After installation

php artisan optimize

Change the admin password on first login. Updates are checked in the admin Update Center; packages are signature-verified and support version history and rollback.

7. GEO module (optional)

Install GEO Platform from the module market, then enter your license key under GEO settings. Licenses are bound to a domain; request a trial at sales@winna-group.com.

8. Installation registration

After installation WinnaCMS reports basic site information to the vendor once: domain, CMS version, PHP/database versions, server environment, admin email and install time. It is used only for licensing follow-up and update services, and never includes passwords, keys or content. Set INSTALL_REPORT_ENABLED=false in .env to opt out; failed reports are retried by the daily heartbeat.

9. Upgrades and backups

Core upgrades back up the database automatically. Module/theme upgrades run database migrations and the database is not rolled back automatically. Before upgrading, click “Back up database now” on the Update page, back up public/media and public/uploads yourself, and tick “I have backed up” before submitting.