Laravel Herd ile Lokal Geliştirme: XAMPP ve Docker'a Elveda
Yeni bir Laravel projesi başlatmak istiyorsunuz. Önce PHP kurun, sonra Composer, sonra MySQL, sonra Nginx... Homebrew ile PHP versiyon çakışması, port çakışması, extension eksikliği — daha kod yazmadan yarım saatiniz gitti.
Laravel Herd tam olarak bu sorunu çözüyor. Tek bir uygulama kurup açıyorsunuz, PHP + Nginx + Composer + Node hazır. Sıfır bağımlılık, sıfır terminal komutu. Projelerinizi bir klasöre atıyorsunuz, .test domain'iyle tarayıcıda açılıyor. Bu kadar.
Bu yazıda Herd'ü sıfırdan kurup, günlük geliştirme akışınıza nasıl entegre edeceğinizi anlatacağım.
Neden Herd?
Diğer araçlarla karşılaştıralım:
| Özellik | MAMP/XAMPP | Valet | Docker | Herd |
|---|---|---|---|---|
| Kurulum süresi | 10-15 dk | 5-10 dk (Homebrew gerekli) | 15-30 dk | 1 dk |
| PHP versiyon değiştirme | Zor | valet use [email protected] |
Dockerfile değiştir, rebuild | Tek tık |
| Bağımlılık | Java, Apache | Homebrew, PHP, Composer | Docker Engine | Hiçbir şey |
| Performans | Orta | İyi | Orta (macOS'ta yavaş) | Çok iyi (native binary) |
| SSL | Manuel | valet secure |
Manuel config | Otomatik |
| Kaynak tüketimi | Yüksek | Düşük | Yüksek | Çok düşük |
| Fiyat | Ücretli/Ücretsiz | Ücretsiz | Ücretsiz | Ücretsiz (Pro: $99/yıl) |
Herd'ün en büyük avantajı native binary kullanması. PHP, Nginx — hepsi macOS/Windows için derlenmiş. Homebrew ile PHP kurup symlink'lerle boğuşmanız gerekmiyor. Docker'daki dosya sistemi yavaşlığı da yok çünkü native çalışıyor.
Yıllardır XAMPP kullanıyordum, şimdi Herde. Bu geçişte'de hayatım kolaylaştı.
Kurulum
macOS
- herd.laravel.com adresinden indirin
.dmgdosyasını açın, Applications'a sürükleyin- İlk açılışta Herd gerekli ayarları otomatik yapar
Hepsi bu. Terminal'i açın, kontrol edin:
php -v # PHP 8.4.x
composer -V # Composer 2.x
laravel -V # Laravel Installer
node -v # Node.js (nvm ile)
Windows
Windows versiyonu da aynı şekilde — indirin, kurun, çalışın. PHP, Nginx, Composer hepsi dahil.
İlk Projenizi Oluşturma
Herd, "parked" klasör mantığıyla çalışır. Varsayılan olarak ~/Herd klasörü park edilmiştir. Bu klasöre koyduğunuz her Laravel projesi otomatik olarak proje-adi.test domain'iyle erişilebilir olur.
cd ~/Herd
laravel new blog
Tarayıcıda http://blog.test açın — Laravel welcome sayfası karşınızda.
Farklı bir klasör kullanmak istiyorsanız
Herd ayarlarından veya CLI ile:
herd park ~/Sites
Artık ~/Sites altındaki her klasör .test domain'i alır: ~/Sites/projeman → projeman.test
Linked site (tek proje)
Park etmek istemiyorsanız tek bir projeyi link'leyebilirsiniz:
cd ~/Projects/my-app
herd link
Bu komut projeyi my-app.test olarak erişilebilir yapar.
Herd 2025 güncellemesiyle herd link komutu .env dosyasındaki APP_URL'i de otomatik günceller — ufak ama çok işe yarayan bir detay.
PHP Versiyon Yönetimi
Herd PHP 7.4'ten 8.5'e kadar tüm versiyonları destekliyor. Versiyon değiştirmek için:
Global değiştirme
Herd GUI'den tek tıkla veya:
herd use 8.4
Proje bazlı PHP versiyonu
Farklı projeleriniz farklı PHP versiyonları kullanabilir:
cd ~/Herd/eski-proje
herd isolate 8.1
Bu proje artık PHP 8.1 ile çalışır, diğerleri global versiyonda kalır. Bunu Valet'te yapmak için valet isolate vardı ama Herd'de çok daha stabil çalışıyor.
PHP Extension'lar
Herd şu extension'ları dahili olarak getiriyor:
intl, pdo_sqlite, sqlite3, curl, openssl, bcmath, gd, redis, imagick, zip, mbstring, xml, mysqli, pdo_mysql, opcache, pcntl, soap, ffi, sodium, exif, sockets... ve daha fazlası.
Neredeyse hiç ek extension kurmanıza gerek kalmaz. Redis, Imagick gibi genelde problem çıkaran extension'lar bile hazır.
SSL (HTTPS)
Projenize SSL eklemek tek komut:
herd secure blog
Artık https://blog.test çalışır. Kaldırmak için:
herd unsecure blog
Servis Yönetimi (Herd Pro)
Herd Pro ile MySQL, PostgreSQL, Redis, MinIO gibi servisleri doğrudan Herd içinden yönetebilirsiniz. Ayrı Homebrew kurulumu veya Docker container'ı gerekmez.
# Servisleri listele
herd services:list
# MySQL başlat
herd services:start mysql
# PostgreSQL'in belirli bir versiyonunu kur
herd services:create postgresql --version=16
# Veritabanını TablePlus'ta aç
herd db
Herd Pro'nun servisleri native çalışıyor, Docker gibi kaynak yemiyor. MySQL + Redis + MinIO açıkken bile RAM tüketimi minimal.
Servis versiyonlama
2025 güncellemesiyle istediğiniz servis versiyonunu kurabiliyorsunuz. Bir projede MySQL 8.0, diğerinde 8.4 kullanmanız gerekiyorsa her ikisini de kurabilirsiniz.
Herd Pro Araçları
Ücretsiz versiyon günlük geliştirme için yeterli ama Pro ($99/yıl) ciddi zaman kazandırıyor:
Dumps Viewer
dump() ve dd() çıktıları Herd penceresinde güzel formatlanmış şekilde görünür. Tarayıcıda sayfa bozulmaz, dump'lar ayrı panelde toplanır. 2026 güncellemesiyle dump'ları tek tek açıp kapatabiliyorsunuz.
Log Viewer
storage/logs/laravel.log dosyasını izlemek için tail -f yazmak yerine Herd'ün log viewer'ını açın. Filtreleme, arama, severity'ye göre renklendirme var.
Mail Catcher
E-posta gönderen kodunuzu test ederken gerçek mail gitmesini istemezsiniz. Herd Pro'nun mail catcher'ı tüm giden mailleri yakalar ve önizleme sunar. .env'de MAIL_MAILER=smtp ve Herd SMTP ayarlarını yapmanız yeterli.
Xdebug Entegrasyonu
herd xdebug on
PhpStorm veya VS Code ile step debugging artık tek komut uzağınızda.
SPX Profiler
Herd 1.11 ile gelen SPX profiler entegrasyonu performans analizi için harika:
herd profile
Hangi fonksiyon ne kadar süre alıyor, N+1 query var mı, bottleneck nerede — hepsi görsel timeline'da.
Forge Entegrasyonu
Herd 1.11'le gelen Forge entegrasyonu deployment'ı kolaylaştırıyor:
- Herd UI'dan doğrudan Laravel Forge'a deploy
- Bağlı sitelerin Forge dashboard'unu tek tıkla açma
- İlgili sunuculara tek tıkla SSH
Local development → production deployment akışı böylece tek araçta birleşiyor.
MCP Server Desteği
2025'in en ilginç özelliği: Herd artık bir MCP (Model Context Protocol) server olarak da çalışıyor. Bu ne demek? AI asistanınız (Claude, GPT vs.) Herd'ü doğrudan kontrol edebilir:
- Site oluşturma/silme
- Servis başlatma/durdurma
- PHP versiyonu değiştirme
- Log okuma
AI destekli geliştirme yapıyorsanız bu ciddi bir verimlilik artışı.
herd.yml ile Takım Paylaşımı
Proje kök dizinine herd.yml dosyası koyarak ayarlarınızı takımla paylaşabilirsiniz:
php: "8.4"
site:
secure: true
link: my-project
services:
- mysql
- redis
Takım arkadaşınız projeyi clone'ladığında Herd bu dosyayı okuyup otomatik ayarları yapar. Docker Compose'un Herd versiyonu gibi düşünün — ama çok daha hafif.
MAMP'tan Herd'e Geçiş
Eğer benim gibi MAMP kullanıyorsanız, geçiş çok kolay:
- Herd'ü kurun
- MAMP'taki projelerinizi
~/Herdklasörüne taşıyın (veya mevcut klasörünüzüherd parkile park edin) .envdosyalarındaDB_PORTayarını kontrol edin (MAMP genelde 8889 veya 3307 kullanır, Herd varsayılan 3306)php artisan migrateçalıştırın
MAMP'ın Apache + MySQL stack'i yerine Herd'ün Nginx + istediğiniz DB combo'su çok daha performanslı. Özellikle macOS'ta Nginx'in statik dosya servis hızı Apache'den kat kat iyi.
Valet Kullanıyorsanız
Herd aslında Valet'in ruhani devamı. Arka planda bir Valet fork'u kullanıyor. Valet komutlarının çoğu (park, link, secure, isolate) aynen çalışıyor. Fark şu: Valet'te Homebrew + PHP + Composer'ı kendiniz yönetiyordunuz, Herd hepsini kendi içinde hallediyor.
Valet hala aktif olarak destekleniyor ama yeni projelerde Herd'ü öneriyorum. Özellikle PHP versiyon yönetimi ve servis entegrasyonu açısından çok daha pratik.
Docker'a İhtiyaç Kalmadı mı?
Hayır, Docker'ın yeri ayrı. Herd lokal geliştirme için mükemmel ama production'da Docker veya Forge kullanmaya devam edeceksiniz. Ayrıca projeniz Laravel dışı servislere bağlıysa (Elasticsearch, RabbitMQ vs.) Docker hala gerekli olabilir.
Benim yaklaşımım: lokal geliştirmede Herd, CI/CD ve production'da Docker. İkisi rakip değil, farklı amaçlara hizmet ediyor.
Sonuç
Laravel Herd lokal geliştirme deneyimini basitleştiren en iyi araç. MAMP'ın karmaşıklığı, Valet'in Homebrew bağımlılığı, Docker'ın kaynak tüketimi — bunların hiçbiri yok. Kurun, açın, kod yazmaya başlayın.
Ücretsiz versiyon çoğu geliştirici için yeterli. Ama eğer günde saatler harcıyorsanız geliştirmede, Pro versiyonun Dumps Viewer, Log Viewer ve Xdebug entegrasyonu $99'u fazlasıyla hak ediyor.
Denemek için: herd.laravel.com