Skip to content

Laravel Homestead

Nguồn gốc: Bản dịch từ Laravel Homestead

LƯU Ý

Laravel Homestead là package legacy và không còn được duy trì tích cực. Laravel Sail được khuyến nghị làm giải pháp thay thế hiện đại.

Giới thiệu (Introduction)

Laravel Homestead là Vagrant box chính thức, cung cấp môi trường phát triển tuyệt vời mà không cần cài PHP, web server, hoặc bất kỳ phần mềm server nào trên máy local.

Vagrant cung cấp cách quản lý và provision Virtual Machine đơn giản, thanh lịch. Vagrant box hoàn toàn disposable — nếu có lỗi, xóa và tạo lại trong vài phút!

Homestead chạy trên Windows, macOS, hoặc Linux.

Phần mềm bao gồm (Included Software)

  • Nginx
  • PHP (multiple versions)
  • MySQL
  • PostgreSQL
  • Redis
  • Memcached
  • Node.js
  • Và nhiều phần mềm khác

Phần mềm tùy chọn (Optional Software)

Có thể cài thêm: Blackfire, Cassandra, Chronograf, CouchDB, Docker, Elasticsearch, EventStoreDB, Flyway, Gearman, Go, Grafana, InfluxDB, MariaDB, Meilisearch, MinIO, MongoDB, Neo4j, Oh My Zsh, Open Resty, PM2, Python, R, RabbitMQ, Rust, Solr, TimescaleDB, Trader, Webdriver.

Cài đặt và thiết lập (Installation and Setup)

Bước đầu tiên

Cần cài: Vagrant và một trong các provider: VirtualBox, Parallels.

Cấu hình Homestead

Cấu hình trong file Homestead.yaml:

  • Provider — virtualbox, parallels
  • Shared Folders — đồng bộ thư mục local ↔ VM
  • Nginx Sites — cấu hình site trỏ domain → thư mục project

Cấu hình Nginx Sites

Map domain đến thư mục project trong Homestead.yaml.

Launch Vagrant Box

bash
vagrant up

Per Project Installation

Cài Homestead riêng cho từng project thay vì global.

Cập nhật Homestead (Updating Homestead)

bash
vagrant box update

Sử dụng hàng ngày (Daily Usage)

Kết nối SSH

bash
vagrant ssh

Thêm Sites

Thêm entry vào Homestead.yaml, sau đó provision lại.

Environment Variables

Cấu hình biến môi trường cho từng site.

Ports

Chuyển tiếp các cổng từ host vào VM.

PHP Versions

Homestead hỗ trợ nhiều phiên bản PHP trên cùng VM.

Kết nối Database

  • MySQL: port 33060 (từ host)
  • PostgreSQL: port 54320 (từ host)

Cấu hình Cron

Cấu hình Laravel scheduler trong VM.

Configuring Mailpit

Bắt email gửi đi để debug — truy cập http://localhost:8025.

Debug và Profiling

Xdebug

Debug web request với Xdebug.

Debug CLI

Debug ứng dụng dòng lệnh.

Blackfire Profiling

Profile hiệu năng ứng dụng với Blackfire.

Network Interfaces

Cấu hình network interface bổ sung trong Homestead.yaml.

Mở rộng Homestead (Extending Homestead)

User Customizations

Script after.sh cho phép tùy chỉnh thêm sau khi provision.

Provider Specific Settings

VirtualBox

Cấu hình riêng cho VirtualBox: CPU, RAM, natdnshostresolver.