Laravel on CloudMagnus

Laravel with composer-create-project done and your .env connected to the database we just provisioned. php artisan key:generate already ran. You handle migrations and your app code.

What our scaffold installs

  • composer create-project --prefer-dist laravel/laravel into your htdocs/
  • .env with APP_URL set to your domain, plus all four DB_* entries (connection, host, port, database, username, password) wired to the MySQL database we just provisioned
  • php artisan key:generate already executed; APP_KEY populated
  • A MySQL database scoped to your site, owned by a per-site MySQL user
  • nginx vhost configured for Laravel's public/ directory as the document root, with the standard try_files rewriting

What you do next

  1. SSH or SFTP into your site (credentials on the site detail page).
  2. Run migrations: php artisan migrate.
  3. Build your app on top of the Laravel skeleton, or replace the skeleton with your own Laravel codebase.

The .env file

The platform writes .env with mode 600 (read/write only by your site user). The DB credentials reach the file via a tee heredoc invoked through sudo -u <siteUser>; the password is never in argv or any process listing.

If you regenerate .env manually (php artisan key:generate --force or by replacing it with your own), make sure to keep the DB lines or your app loses access to its database.

Build pipeline

CloudMagnus does not run composer install or npm run build for you on deploy. If your Laravel app uses Mix or Vite for assets, build locally (or in CI) and ship the build artifacts via SFTP.

Queue workers and scheduled tasks

Laravel's queue worker (php artisan queue:work) and scheduler (php artisan schedule:run via cron) need a process manager. CloudMagnus doesn't currently expose a process manager UI for arbitrary commands. SSH in and run nohup or set up a cron job per the dashboard's cron tab.

Common Laravel issues

500 error after deploying changes

Most likely: composer install wasn't run after pulling new dependencies, or the .env got stomped. Check storage/logs/laravel.log for the actual error.

"No application encryption key has been specified"

Means APP_KEY got cleared. Run php artisan key:generate --force over SSH.

403 errors on every page

Almost always a permissions issue on storage/ or bootstrap/cache/. SSH in and: chmod -R 775 storage bootstrap/cache.

Sessions logging out randomly

If you've set SESSION_DRIVER=file and have multiple PHP-FPM workers, file-based sessions can race. Switch to database sessions: SESSION_DRIVER=database and run the session migration.

What CloudMagnus doesn't do for Laravel

  • Run migrations on deploy. You handle that explicitly.
  • Run composer install on deploy. Build locally or in CI; ship artifacts.
  • Asset builds. Vite/Mix runs on your machine, not ours.
  • Queue workers, schedulers, or any long-running process. SSH and set them up.