Skip to content

alothietkeweb/valet-win

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Valet-Win

Laravel Valet cho Windows - Một môi trường phát triển nhanh chóng và đơn giản cho Windows. Valet cấu hình máy tính của bạn để chạy các trang web Laravel sử dụng Caddy và PHP-CGI.

Tính năng

  • SSL tự động: Tất cả sites đều có HTTPS với chứng chỉ tự ký
  • PHP 8.4 Support: Tự động xử lý các file PHP qua PHP-CGI
  • Caddy web server: Sử dụng Caddy server hiệu suất cao
  • Park directories: Tự động phát hiện và serve các thư mục con
  • Link sites: Liên kết trực tiếp các project với tên custom
  • Domain configuration: Có thể thay đổi domain mặc định (.test)
  • Process management: Quản lý tiến trình Caddy và PHP-CGI

Yêu cầu hệ thống

  • Windows 10/11
  • PHP 8.4 với CGI support (php-cgi.exe)
  • Caddy server Windows binary (caddy_windows_amd64.exe)
  • Go 1.22+ (để build)

Cài đặt

1. Cài đặt PHP 8.4

# Tải PHP 8.4 từ php.net và thêm vào PATH
# Đảm bảo có php-cgi.exe

2. Cài đặt Caddy

# Tải caddy_windows_amd64.exe và thêm vào PATH

3. Build Valet-Win

git clone <repository>
cd valet-win
go mod tidy
go build -o valet.exe

4. Cài đặt Valet

./valet.exe install

Hướng dẫn sử dụng

Lệnh cơ bản

# Cài đặt và cấu hình Valet
valet.exe install

# Khởi động services
valet.exe start

# Dừng services
valet.exe stop

# Khởi động lại services
valet.exe restart

# Thay đổi domain (mặc định: test)
valet.exe domain dev
valet.exe domain local

Quản lý sites

Park Directory (Đỗ thư mục)

# Park thư mục hiện tại
valet.exe park

# Park một thư mục cụ thể
valet.exe park C:\Projects

# Unpark thư mục hiện tại
valet.exe unpark

# Unpark một thư mục cụ thể  
valet.exe unpark C:\Projects

Link Site (Liên kết trang web)

# Link site với tên thư mục hiện tại
valet.exe link

# Link site với tên custom
valet.exe link myproject

# Link site với tên và đường dẫn custom
valet.exe link myproject C:\path\to\project

# Unlink site với tên thư mục hiện tại
valet.exe unlink

# Unlink site với tên cụ thể
valet.exe unlink myproject

Xem danh sách sites

# Hiển thị tất cả parked directories và linked sites
valet.exe list

Ví dụ sử dụng

Setup lần đầu:

# 1. Cài đặt Valet
valet.exe install

# 2. Khởi động services
valet.exe start

# 3. Park thư mục projects
cd C:\Projects
valet.exe park

# Bây giờ tất cả thư mục con sẽ có thể truy cập:
# C:\Projects\laravel-app → http://laravel-app.test và https://laravel-app.test
# C:\Projects\wordpress → http://wordpress.test và https://wordpress.test

Link site với tên custom:

cd C:\Projects\my-complex-app-name
valet.exe link simple
# Có thể truy cập tại: http://simple.test và https://simple.test

Workflow hàng ngày:

# Khởi động services khi bắt đầu làm việc
valet.exe start

# Xem danh sách các sites đang hoạt động
valet.exe list

# Dừng services khi kết thúc
valet.exe stop

Cấu hình

Cấu hình được lưu trong %USERPROFILE%\.valet-win\config.yaml:

php_path: php-cgi.exe
caddy_path: caddy_windows_amd64.exe
domain: test
parked_paths:
  - C:\Projects
linked_sites:
  my-site: C:\Path\To\Site
port: 80
https_port: 443

Cấu trúc thư mục

%USERPROFILE%\.valet-win\
├── config.yaml          # Cấu hình chính
├── Caddyfile            # Cấu hình Caddy được tạo tự động
├── sites\               # Cấu hình từng site
│   └── *.conf
├── certs\               # SSL certificates
│   ├── ca.key
│   ├── ca.crt
│   └── *.crt, *.key
└── logs\                # Log files
    ├── caddy.log
    ├── caddy.pid
    └── *.log

Cách hoạt động

  1. Caddy làm web server, tự động route requests dựa trên domain
  2. PHP-CGI xử lý các request PHP trên port 9000
  3. Self-signed certificates cung cấp HTTPS support tự động
  4. Dynamic configuration tự động update Caddy khi thêm/xóa sites
  5. TLS Internal tự động tạo HTTPS cho tất cả domains

Troubleshooting

Lỗi services không khởi động được

  • Đảm bảo PHP và Caddy có trong PATH
  • Kiểm tra port 80/443 có đang được sử dụng bởi ứng dụng khác
  • Chạy với quyền Administrator nếu cần
# Kiểm tra port đang được sử dụng
netstat -ano | findstr :80
netstat -ano | findstr :443

Lỗi sites không truy cập được

  • Kiểm tra Windows Firewall có chặn Caddy không
  • Đảm bảo DNS resolution hoạt động (dùng 127.0.0.1 thay vì localhost)
  • Kiểm tra hosts file không có conflict

Lỗi SSL certificate

  • Lần đầu truy cập HTTPS, trình duyệt sẽ cảnh báo về chứng chỉ tự ký
  • Chọn "Advanced" → "Continue to [site].test" để tiếp tục
  • Nếu vẫn lỗi, xóa thư mục certs và chạy lại valet.exe install

Lỗi PHP

  • Kiểm tra log files tại %USERPROFILE%\.valet-win\logs\
  • Đảm bảo php-cgi.exe có thể chạy được
  • Kiểm tra PHP 8.4 đã cài đúng chưa
# Test PHP-CGI
php-cgi.exe -v

Debug logs

Kiểm tra log files để debug:

  • caddy.log: Log của Caddy server
  • caddy.pid: Process ID của Caddy
  • [sitename].log: Log riêng cho từng site

Ghi chú quan trọng

  1. Automatic HTTPS: Tất cả sites tự động có HTTPS với tls internal
  2. 127.0.0.1 vs localhost: Sử dụng IP address thay vì hostname để tránh DNS issues
  3. Port Management: Valet quản lý port 80 và 443 tự động
  4. Certificate Trust: Có thể import CA certificate vào Trusted Root để tránh SSL warnings

License

MIT License

About

Valet Project for Win

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages