INNEX CPANEL DEPLOYMENT 1. Use PHP 8.2 or later with required extensions and Composer 2. 2. Create a MySQL database/user and assign all privileges for that database. 3. Upload INNEX outside public_html when possible, for example /home/account/innex. 4. Point the domain/subdomain document root to /home/account/innex/public. 5. Copy .env.example to .env. Set APP_ENV=production, APP_DEBUG=false, APP_URL=https://your-domain, INNEX_DEMO_DATA=false, and database credentials. 6. Run: composer install --no-dev --optimize-autoloader 7. Run: php artisan key:generate --force 8. Run: php artisan migrate --force 9. For the initial Superadmin only, run: php artisan db:seed --force. Immediately change the default password. 10. Make storage and bootstrap/cache writable by the web server. 11. Run: php artisan config:cache && php artisan route:cache && php artisan view:cache 12. Enforce HTTPS. Never expose .env, vendor internals, logs, private project files, or database backups. 13. Back up the database and storage/app/private together. Test restoration regularly.