· Admin

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

  1. herd.laravel.com adresinden indirin
  2. .dmg dosyasını açın, Applications'a sürükleyin
  3. İ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/projemanprojeman.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:

  1. Herd'ü kurun
  2. MAMP'taki projelerinizi ~/Herd klasörüne taşıyın (veya mevcut klasörünüzü herd park ile park edin)
  3. .env dosyalarında DB_PORT ayarını kontrol edin (MAMP genelde 8889 veya 3307 kullanır, Herd varsayılan 3306)
  4. 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