# Shared Hosting Deployment

cPanel deployment instructions, cron jobs, storage links, and optimization.

Production mail uses SMTP over SSL. Configure MAIL_MAILER=smtp, MAIL_SCHEME=smtps, MAIL_HOST, MAIL_PORT=465, MAIL_USERNAME, MAIL_PASSWORD, MAIL_FROM_ADDRESS, and MAIL_FROM_NAME in .env.

Use public/fav.png as the application favicon.

Production hardening checklist:
- Point the domain document root to public and force HTTPS.
- Set APP_ENV=production, APP_DEBUG=false, and a stable APP_KEY.
- Set APP_URL to the final https:// domain and SESSION_SECURE_COOKIE=true.
- Run php artisan migrate --force after uploading code changes.
- Run php artisan storage:link and verify storage/app/private is not publicly browseable.
- Configure cron to run php artisan schedule:run every minute.
- The scheduler runs backups:run --keep=7 daily at 02:00 for automatic backup retention.
- Run a queue worker if queued mail/notifications are enabled.
- Run php artisan config:cache, route:cache, and view:cache after final .env changes.
- Run php artisan app:production-check after deployment and resolve any failed checks.
- Use the Settings email test after deployment to confirm SMTP delivery.
- Review Settings > System Health after deployment.
- Download an admin backup after each successful deployment and before major data changes.
