Skip to content

One-Click Laravel Installation

DAMP makes Laravel development effortless with one-click project creation. Get a fully configured Laravel environment with database, SSL, debugging, and all development tools ready in under 2 minutes.

Traditional Laravel setup involves multiple steps and potential issues:

  • Manual PHP installation and version management
  • Composer global installation and path configuration
  • Database server setup and user configuration
  • Web server configuration (Apache/Nginx)
  • SSL certificate generation for HTTPS development
  • Xdebug configuration for debugging
  • Environment file setup and key generation
  • One-click creation - complete environment in minutes
  • Pre-configured stack - PHP…
  • Automatic SSL - HTTPS development ready
  • Debugging ready - Xdebug pre-configured with VS Code
  • Email testing - Mailpit for email development
  • Performance optimized - Docker volumes for speed

Complete Laravel Stack

Everything Laravel needs out of the box:

  • PHP 8.2+ with all required extensions
  • Mailpit for email testing

Development Tools

Professional development environment:

  • Composer with Laravel installer
  • Artisan command-line interface
  • Xdebug for step-through debugging
  • Node.js for asset compilation
  • NPM/Yarn for frontend dependencies

Production-Like Setup

Develop like you deploy:

  • HTTPS by default with SSL certificates
  • Environment separation with Docker containers
  • Process isolation prevents conflicts
  • Scalable architecture matches production patterns
  1. Open DAMP

    Launch DAMP from your applications menu or system tray.

  2. Click “New Project”

    Click the “New Project” button in the DAMP dashboard.

  3. Select Laravel Template

    Choose “Laravel” from the project templates.

  4. Configure Project

    Fill in your project details:

    • Project Name: my-blog
    • PHP Version: 8.2 (recommended)
  5. Create Project

    Click “Create Project” and wait for setup to complete:

    • 🔄 Downloading Laravel framework
    • 🔄 Installing Composer dependencies
    • 🔄 Configuring database connection
    • 🔄 Generating application key
    • 🔄 Setting up SSL certificates
    • ✅ Project ready!

Folder structure:

  • Directory.devcontainer
    • devcontainer.json
    • Dockerfile
    • php.ini
    • xdebug.ini
  • Directory.vscode
    • launch.json
  • Directorysrc
// .devcontainer/devcontainer.json (auto-generated)
{
"name": "laravel1",
"workspaceMount": "source=damp_site_laravel1,target=/workspace,type=volume",
"workspaceFolder": "/workspace/laravel1",
//"image": "mcr.microsoft.com/devcontainers/php:1-8.4",
"build": {
"dockerfile": "./Dockerfile",
"context": ".",
"args": {
// Update VARIANT to pick a PHP version: 8, 8.1, 8.0, 7, 7.4
// Append -bullseye or -buster to pin to an OS version.
// Use -bullseye variants on local on arm64/Apple Silicon.
"VARIANT": "8.4"
}
},
// Features to add to the dev container. More info: https://containers.dev/features.
"features": {
"ghcr.io/devcontainers/features/node:1": {
"version": "latest"
},
// "ghcr.io/anthropics/devcontainer-features/claude-code:1.0": {}, // Add Claude AI feature
"ghcr.io/opencodeco/devcontainers/install-php-extensions:0": {
"extensions": "bcmath pdo_mysql pcntl mysqli intl zip gd"
}
},
// Configure tool-specific properties.
"customizations": {
// Configure properties specific to VS Code.
"vscode": {
"settings": {},
"extensions": [
"streetsidesoftware.code-spell-checker"
]
}
},
"mounts": [
"source=damp_site_laravel1,target=/usr/local/etc/php/conf.d/php.ini,type=volume,volume-subpath=laravel1/.devcontainer/php.ini",
"source=damp_site_laravel1,target=/usr/local/etc/php/conf.d/z-xdebug.ini,type=volume,volume-subpath=laravel1/.devcontainer/xdebug.ini"
],
// Specify docker network(s) in devcontainer.json
"runArgs": [
"--network=devnet",
"--name", "laravel1_devcontainer"
],
// Use 'forwardPorts' to make a list of ports inside the container available locally.
"forwardPorts": [8080],
// Use 'postCreateCommand' to run commands after the container is created.
"postCreateCommand": "npm install && npm run build",
// Use 'postStartCommand' to run commands after the container starts.
"postStartCommand": "composer run devcontainer"
// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
// "remoteUser": "root"
}

Your Laravel project includes:

  • Latest Laravel version with all dependencies
  • Environment configuration pre-set for development
  • Application key automatically generated
  • Database migrations ready to run
  • Example models and controllers for quick start
  • PHP 8.2 container with extensions (GD, PDO, Redis, etc.)
  • SSL certificates for HTTPS development
  • Composer with Laravel installer and common packages
  • Node.js and npm for frontend asset compilation
  • Artisan CLI for Laravel commands
  • Xdebug configured for VS Code debugging
  • Mailpit for email testing and debugging

Common commands you’ll use:

Terminal window
# Artisan commands
php artisan make:model Post -mcr # Model with migration, controller, resource
php artisan make:controller BlogController
php artisan make:middleware AuthCheck
php artisan make:request PostRequest
# Database operations
php artisan migrate # Run migrations
php artisan migrate:fresh --seed # Fresh migration with seeders
php artisan db:seed # Run database seeders
# Development tools
php artisan serve # Not needed (DAMP handles this)
php artisan tinker # Interactive PHP shell
php artisan route:list # List all routes
php artisan config:cache # Cache configuration

DAMP automatically configures Laravel for optimal development.

You can find php.ini and xdebug.ini files in .devcontainer folder Customize PHP settings in DAMP project settings:

# PHP optimizations for Laravel
memory_limit = 256M
max_execution_time = 60
upload_max_filesize = 10M
post_max_size = 10M
max_input_vars = 3000
# Development settings
display_errors = On
error_reporting = E_ALL
log_errors = On

Symptoms: Dependencies fail to install

Solutions:

  1. Check PHP version compatibility with Laravel version
  2. Clear Composer cache: composer clear-cache
  3. Update Composer: composer self-update
  4. Check memory limits: Increase PHP memory_limit

Symptoms: Laravel can’t connect to database

Solutions:

  • Verify database is running in DAMP dashboard
  • Check environment variables in .env file
  • Test connection manually:
    Terminal window
    php artisan tinker
    DB::connection()->getPdo();

Symptoms: Frontend assets not compiling

Solutions:

  1. Install Node.js dependencies: npm install
  2. Clear npm cache: npm cache clean --force
  3. Check Node.js version compatibility
  4. Restart Vite/Mix: npm run dev

Symptoms: Laravel application running slowly

Solutions:

  • Enable OpCache in PHP configuration
  • Use Redis for sessions and cache
  • Optimize autoloader: composer install --optimize-autoloader
  • Cache configuration: php artisan config:cache
Terminal window
# Install Laravel Debugbar
composer require barryvdh/laravel-debugbar --dev
# Publish configuration
php artisan vendor:publish --provider="Barryvdh\Debugbar\ServiceProvider"
Terminal window
# Install Telescope
composer require laravel/telescope --dev
php artisan telescope:install
php artisan migrate
Terminal window
# View Laravel logs
tail -f storage/logs/laravel.log
# Clear logs
echo "" > storage/logs/laravel.log
# Custom logging
Log::info('Debug message', ['user_id' => auth()->id()]);
  1. Use DevContainers for consistent development environment
  2. Leverage Xdebug for debugging instead of dd() calls
  3. Use Mailpit for email testing during development
  4. Take advantage of Redis for caching and sessions
  5. Use HTTPS from day one to match production
  • Follow Laravel conventions for file organization
  • Use meaningful names for routes, controllers, and models
  • Implement proper validation with Form Requests
  • Write tests for critical application logic
  • Document API endpoints for team collaboration
  • Use Eloquent efficiently with proper eager loading
  • Implement caching for expensive operations
  • Optimize database queries with proper indexing
  • Use queue workers for time-consuming tasks
  • Monitor application performance with Laravel Telescope

DAMP’s one-click Laravel installation removes all the setup friction, letting you focus on building amazing applications rather than configuring development environments.