Laravel 10 dk okuma

Laravel Nedir? Laravel 13 Kurulumu: Composer ve Artisan ile Adım Adım Rehber

Laravel nedir, ne işe yarar? Laravel 13 gereksinimleri, PHP ve Composer kurulumu, composer create-project ile proje oluşturma, klasör yapısı, .env ve APP_KEY, php artisan serve, artisan about ve MySQL/MariaDB'ye geçiş.

Laravel Nedir? Laravel 13 Kurulumu: Composer ve Artisan ile Adım Adım Rehber
AnkSOFT
Yayıncı

Laravel, PHP ile web uygulaması geliştirmek için kullanılan, açık kaynaklı ve ücretsiz bir framework'tür (yazılım çatısı). Yönetim paneli, e-ticaret altyapısı, rezervasyon sistemi, mobil uygulama için API ya da şirket içi bir takip programı yazacaksanız; giriş sistemi, veritabanı erişimi, form doğrulama, e-posta gönderimi ve zamanlanmış görevler gibi her projede tekrar eden parçaları hazır getirir. Bu rehberde Laravel nedir, ne işe yarar sorusunu kısaca yanıtlıyor, ardından Laravel kurulumunu güncel sürüm olan Laravel 13 üzerinden Composer ve Artisan ile adım adım anlatıyoruz.

Rehberdeki terminal çıktıları ve ekran görüntüleri, bu yazı için sıfırdan kurulan gerçek bir Laravel 13.39 projesinden alınmıştır (PHP 8.4, Composer 2.11). Dosya yolları kısaltılmıştır.


Laravel Nedir?

Laravel, 2011'de Taylor Otwell tarafından yayımlanan ve bugün PHP dünyasında en çok kullanılan framework'tür. Bir web uygulamasının iskeletini hazır verir: istekler hangi koda gidecek (routing), veritabanı tabloları PHP sınıflarıyla nasıl yönetilecek (Eloquent ORM), sayfalar nasıl üretilecek (Blade şablonları), arka planda hangi işler çalışacak (kuyruklar ve zamanlayıcı). Sizin işiniz, bu iskeletin üstüne kendi uygulamanızın kurallarını yazmaktır.

Laravel'in en çok kullanılan parçaları şunlardır:

  • Routing: routes/web.php dosyasında hangi adresin hangi kodu çalıştıracağını yazarsınız.
  • Eloquent ORM: Veritabanı tablolarını PHP nesneleri gibi kullanırsınız. Urun::where('stok', '>', 0)->get() gibi okunur sorgular yazılır, SQL enjeksiyonuna karşı parametreler kendiliğinden bağlanır.
  • Migration: Veritabanı tablolarını kodla tanımlarsınız. Proje başka bir sunucuya taşındığında php artisan migrate aynı tabloları yeniden kurar.
  • Blade: HTML içine değişken ve döngü yazmanızı sağlayan şablon dili. Çıktılar varsayılan olarak kaçırılır (XSS'e karşı).
  • Artisan: Laravel'in komut satırı aracı. Tablo oluşturma, önbellek temizleme, kuyruk çalıştırma gibi işler php artisan ile yapılır.
  • Kuyruk (queue) ve zamanlayıcı (scheduler): E-posta gönderme, rapor hazırlama gibi uzun işleri arka plana atar; gece yedeği gibi görevleri belirli saatlerde çalıştırır.
  • Güvenlik: CSRF koruması, parola özetleme (bcrypt), şifreleme ve oturum yönetimi hazır gelir.

Laravel ne işe yarar, ne zaman seçilmeli?

Laravel; içeriği değil iş kurallarını yöneten projeler için uygundur: müşteri paneli, sipariş ve stok takibi, randevu sistemi, abonelik ve ödeme altyapısı, mobil uygulama veya Next.js gibi bir ön yüz için API. Yalnızca blog ya da tanıtım sitesi kuracaksanız WordPress daha hızlı sonuç verir; bunun için WordPress kurulum rehberimize bakabilirsiniz.


Laravel 13 Gereksinimleri

Laravel 13, 17 Mart 2026'da yayımlandı ve en az PHP 8.3 ister. Resmi destek politikasına göre her sürüm 18 ay hata düzeltmesi, 2 yıl güvenlik güncellemesi alır:

Sürüm PHP Yayın Güvenlik desteği bitişi
Laravel 11 8.2 ile 8.4 12 Mart 2024 12 Mart 2026 (sona erdi)
Laravel 12 8.2 ile 8.5 24 Şubat 2025 24 Şubat 2027
Laravel 13 8.3 ile 8.5 17 Mart 2026 17 Mart 2028

Yeni bir projeye Laravel 13 ile başlayın. Laravel 11 veya daha eski bir projeniz varsa güvenlik güncellemesi almadığını bilin.

Sunucuda bulunması gereken PHP eklentileri: Ctype, cURL, DOM, Fileinfo, Filter, Hash, Mbstring, OpenSSL, PCRE, PDO, Session, Tokenizer, XML. Veritabanı olarak MariaDB 10.3+, MySQL 5.7+, PostgreSQL 10+ veya SQLite kullanılabilir. Arayüz dosyalarını (CSS ve JavaScript) derlemek için ayrıca Node.js gerekir; Laravel 13 iskeletindeki Vite 8, Node.js 20.19 veya 22.12 ve üzerini ister.


Adım 1: PHP ve Composer'ı Kurun

Laravel projesi Composer ile oluşturulur. Composer, PHP'nin paket yöneticisidir; projenin ihtiyaç duyduğu kütüphaneleri vendor klasörüne indirir ve sürümlerini composer.lock dosyasına kilitler.

  • Windows ve macOS: Laravel'in kendi kurulum aracı php.new tek komutla PHP, Composer ve Laravel yükleyicisini kurar. Grafik arayüz isterseniz ücretsiz Laravel Herd de aynı işi yapar.
  • Linux (Ubuntu/Debian): PHP'yi paket yöneticisinden kurun, Composer'ı getcomposer.org adresindeki resmi kurulum betiğiyle indirin. VDS'te adım adım kurulum için Laravel VDS kurulumu rehberimize bakın.

Kurulumdan sonra yeni bir terminal açıp sürümleri kontrol edin:

php -v
composer --version

Terminalde php -v ve composer --version çıktısı: PHP 8.4 ve Composer 2.11

PHP sürümü 8.3'ün altındaysa Laravel 13 kurulmaz; Composer "requires php ^8.3" benzeri bir hata verir.


Adım 2: Yeni Laravel Projesi Oluşturun

İki yol vardır, sonuç aynıdır:

composer create-project laravel/laravel ornek-proje

ya da Laravel yükleyicisi kuruluysa:

laravel new ornek-proje

laravel new size başlangıç kiti (giriş ve kayıt ekranları), test aracı ve veritabanı türü gibi seçenekleri sorar. composer create-project ise soru sormadan sade iskeleti kurar. Komut bittiğinde Composer şunları kendisi yapar:

  1. Paketleri vendor klasörüne indirir (yaklaşık 80 paket).
  2. .env.example dosyasını .env olarak kopyalar.
  3. php artisan key:generate ile uygulama anahtarını (APP_KEY) üretir.
  4. database/database.sqlite dosyasını oluşturup ilk tabloları (users, cache, jobs) kurar.

composer create-project çıktısı: APP_KEY üretimi ve ilk migration'ların çalışması

Önemli: Projeyi hangi PHP sürümüyle oluşturduysanız Composer paketleri o sürüme göre seçer. Bizim testimizde PHP 8.4 ile oluşturulan projenin kilit dosyası, PHP 8.4.1 ve üzerini isteyen bileşenler içerdi. Projeyi PHP 8.3 çalışan bir sunucuya taşırsanız site "Composer detected issues in your platform" hatasıyla açılmaz. Çözümü Laravel 500 hatası rehberimizde anlatıyoruz; en kolayı yerelde ve sunucuda aynı PHP sürümünü kullanmaktır.


Adım 3: Proje Klasör Yapısını Tanıyın

Laravel projesinde en sık dokunacağınız klasörler şunlardır:

Klasör / dosya Ne içerir
app/ Uygulamanın kodu: modeller (app/Models), denetleyiciler (app/Http/Controllers), kuyruk işleri (app/Jobs)
routes/ web.php (sayfa adresleri), console.php (Artisan komutları ve zamanlanmış görevler)
resources/views/ Blade şablonları
database/migrations/ Tablo tanımları
config/ Ayar dosyaları; değerlerin çoğu .env'den okunur
public/ Web sunucusunun açacağı tek klasör: index.php, derlenmiş CSS/JS, görseller
storage/ Günlükler (storage/logs), önbellek, oturumlar, yüklenen dosyalar. Yazılabilir olmalı
bootstrap/cache/ Önbelleğe alınmış ayar ve rota dosyaları. Yazılabilir olmalı
vendor/ Composer'ın indirdiği paketler. Elle düzenlenmez
.env Ortama özel ayarlar ve parolalar. Herkese açık klasörde olmamalı

Laravel 13 proje klasör yapısı: app, routes, public, storage ve .env

Buradaki en önemli kural şudur: Alan adınız yalnızca public klasörünü göstermeli. Projenin kök klasörünü web'e açarsanız .env dosyanız, yani veritabanı parolanız ve APP_KEY tarayıcıdan okunabilir hale gelir. Laravel belgeleri de uygulamanın web dizininin bir alt klasöründen sunulmamasını açıkça söyler.


Adım 4: .env Dosyasını Düzenleyin

.env dosyası uygulamanın ortama göre değişen ayarlarını tutar. Yerel bilgisayarınızdaki .env ile sunucudaki .env farklıdır ve bu dosya Git deposuna eklenmez (Laravel'in .gitignore dosyası bunu zaten engeller).

Başlangıçta bakmanız gereken satırlar:

APP_NAME="Ornek Proje"
APP_ENV=local
APP_KEY=base64:...
APP_DEBUG=true
APP_URL=http://localhost:8000
APP_LOCALE=tr

DB_CONNECTION=sqlite
  • APP_KEY: Oturum çerezlerini ve şifrelenen verileri koruyan anahtardır. Kurulumda kendiliğinden üretilir. Kimseyle paylaşmayın; yayındaki bir sitede değiştirirseniz tüm kullanıcıların oturumu düşer ve daha önce şifrelenmiş veriler okunamaz.
  • APP_ENV / APP_DEBUG: Yerelde local ve true. Sunucuda mutlaka production ve false olmalı. APP_DEBUG=true bırakılan bir sitede hata sayfası dosya yollarını, SQL sorgularını ve ayar değerlerini ziyaretçiye gösterir.
  • APP_URL: Sitenin tam adresi. E-postalardaki bağlantılar ve dosya adresleri buradan üretilir.
  • APP_LOCALE: Doğrulama mesajları ve tarih biçimleri için tr yapabilirsiniz (Türkçe dil dosyalarını ayrıca eklemeniz gerekir).

Laravel .env dosyasında APP_KEY, APP_DEBUG, APP_URL ve veritabanı ayarları


Adım 5: Geliştirme Sunucusunu Başlatın

Proje klasörüne girip Laravel'in yerleşik geliştirme sunucusunu çalıştırın:

cd ornek-proje
php artisan serve

Tarayıcıda http://127.0.0.1:8000 adresini açın. Laravel 13'ün karşılama sayfasını görüyorsanız kurulum tamamdır. Sayfanın altındaki v13.x ifadesi kurulan sürümü gösterir.

php artisan serve çıktısı ve tarayıcıda Laravel 13 karşılama sayfası

php artisan serve yalnızca geliştirme içindir; tek iş parçacıklı PHP sunucusunu kullanır. Canlı sitede Nginx veya LiteSpeed gibi bir web sunucusu kullanılır.

Arayüz dosyalarını da derlemek isterseniz (Tailwind CSS ve Vite ile gelir):

npm install
npm run build

Geliştirme sırasında composer run dev komutu PHP sunucusunu, kuyruk işçisini ve Vite'ı aynı anda başlatır.


Adım 6: Kurulumu Doğrulayın: php artisan about

php artisan about komutu uygulamanın ortamını, sürümlerini ve hangi sürücülerin kullanıldığını tek ekranda gösterir. Bir sorun olduğunda destek talebine eklenecek en faydalı çıktıdır.

php artisan about

php artisan about çıktısı: Laravel 13.39, PHP 8.4, ortam, debug modu ve sürücüler

Çıktıda dikkat edilecek satırlar:

  • Environment / Debug Mode: Sunucuda production ve OFF görmelisiniz.
  • Cache, Queue, Session: Laravel 13'te üçü de varsayılan olarak database sürücüsünü kullanır; yani bu tabloların veritabanında bulunması gerekir (ilk migration bunları kurar).
  • Storage: public/storage bağlantısının (link) kurulup kurulmadığını gösterir. Yüklenen dosyaları göstermek için php artisan storage:link gerekir.

Adım 7: MySQL veya MariaDB'ye Geçin

SQLite tek dosyalık bir veritabanıdır; denemek için idealdir. Canlı sitede genellikle MySQL veya MariaDB kullanılır. Veritabanını ve kullanıcısını oluşturduktan sonra .env dosyasındaki satırları değiştirin:

DB_CONNECTION=mariadb
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=ornek
DB_USERNAME=ornek_kullanici
DB_PASSWORD=guclu-bir-parola

MySQL kullanıyorsanız DB_CONNECTION=mysql yazın. Ardından tabloları kurun ve durumu kontrol edin:

php artisan migrate
php artisan migrate:status

php artisan migrate:status çıktısı: users, cache ve jobs tabloları kuruldu

Canlı sunucuda migrate komutu onay ister; otomatik dağıtımda php artisan migrate --force kullanılır. Migration çalıştırmadan önce veritabanının yedeğini alın.


Laravel Projesini Nerede Yayınlamalı?

Geliştirdiğiniz uygulamayı yayına almanın iki yaygın yolu vardır:

  • cPanel'li web hosting: Küçük ve orta ölçekli projeler için ekonomik çözümdür. Sunucu yönetimiyle uğraşmazsınız, ancak paylaşımlı ortamda SSH, Composer ve bazı PHP işlevleri kapalı olabilir. Laravel'i bu koşullarda nasıl çalıştıracağınızı Laravel cPanel kurulumu rehberimizde adım adım anlattık.
  • VDS sunucu: Kuyruk işçileri (Supervisor), Redis, kendi PHP ayarlarınız ve tam root erişimi gerekiyorsa VDS doğru seçimdir. Nginx, PHP-FPM, SSL, kuyruk ve cron kurulumu için Laravel VDS kurulumu rehberimize bakın.

En Sık Kurulum Sorunları

  1. "Your requirements could not be resolved" / "requires php ^8.3". Bilgisayarınızdaki PHP sürümü eskidir. php -v ile kontrol edin, PHP 8.3 veya üstünü kurun.
  2. "ext-... is missing from your system". Gerekli bir PHP eklentisi kapalıdır. Windows'ta php.ini dosyasında ilgili extension= satırının başındaki ; işaretini kaldırın; Linux'ta php8.3-mbstring gibi paketi kurun.
  3. Karşılama sayfası yerine "No application encryption key has been specified". .env dosyasında APP_KEY boştur. php artisan key:generate çalıştırın.
  4. "Vite manifest not found". Sayfa, derlenmemiş CSS/JS dosyalarını arıyordur. npm install ve npm run build çalıştırın ya da geliştirmede npm run dev açık olsun.
  5. php artisan serve açılmıyor, port kullanımda. Başka bir port deneyin: php artisan serve --port=8080.

Daha fazla hata ve çözümü için Laravel 500 hatası ve sık karşılaşılan hatalar rehberimize bakabilirsiniz.


Özet

  1. Laravel, PHP ile iş uygulaması geliştirmek için en yaygın framework'tür; güncel sürüm Laravel 13'tür ve PHP 8.3 ister.
  2. PHP ve Composer'ı kurun, composer create-project laravel/laravel ornek-proje ile projeyi oluşturun.
  3. .env dosyasında APP_KEY, APP_DEBUG ve veritabanı ayarlarını kontrol edin; bu dosyayı paylaşmayın.
  4. php artisan serve ile karşılama sayfasını açın, php artisan about ile ortamı doğrulayın.
  5. Yayında yalnızca public klasörünü web'e açın, APP_DEBUG=false yapın ve yerelde kullandığınız PHP sürümünü sunucuda da seçin.

Laravel projenizi yayına almak için PHP 8.3, 8.4 ve 8.5 seçilebilen cPanel'li web hosting paketlerimizi, kuyruk işçisi ve tam yönetim gerektiren projeler için VDS sunucu seçeneklerimizi inceleyebilirsiniz. Müşterileri için birden fazla Laravel sitesi barındıran ajanslar bayi (reseller) hosting paketlerini değerlendirebilir.


Kaynaklar

Sıkça Sorulan Sorular

Laravel nedir, ne işe yarar?

Laravel, PHP ile web uygulaması geliştirmek için kullanılan ücretsiz ve açık kaynaklı bir framework'tür. Routing, Eloquent ORM ile veritabanı erişimi, Blade şablonları, form doğrulama, kuyruklar, zamanlanmış görevler ve güvenlik katmanları hazır gelir. Müşteri paneli, sipariş ve stok takibi, randevu sistemi ya da mobil uygulama API'si gibi iş uygulamaları için kullanılır.

Laravel 13 hangi PHP sürümünü ister?

Laravel 13 en az PHP 8.3 ister ve PHP 8.3, 8.4 ve 8.5 ile çalışır. Ayrıca Ctype, cURL, DOM, Fileinfo, Filter, Hash, Mbstring, OpenSSL, PCRE, PDO, Session, Tokenizer ve XML eklentileri gerekir. Laravel 13, 17 Mart 2026'da yayımlandı ve 17 Mart 2028'e kadar güvenlik güncellemesi alır.

Laravel nasıl kurulur?

PHP 8.3 veya üstünü ve Composer'ı kurduktan sonra terminalde composer create-project laravel/laravel ornek-proje komutunu çalıştırın. Composer paketleri indirir, .env dosyasını oluşturur, APP_KEY üretir ve SQLite veritabanını hazırlar. Ardından proje klasöründe php artisan serve ile http://127.0.0.1:8000 adresinden siteyi açabilirsiniz.

Laravel .env dosyası nedir, nerede durmalı?

.env dosyası uygulamanın ortama göre değişen ayarlarını ve parolalarını tutar: APP_KEY, APP_DEBUG, APP_URL ve veritabanı bilgileri. Projenin kök klasöründe durur ve web'e açık klasörde olmamalıdır; alan adınız yalnızca public klasörünü göstermelidir. .env dosyası Git deposuna eklenmez.

APP_DEBUG yayında açık kalırsa ne olur?

APP_DEBUG=true iken hata sayfası dosya yollarını, SQL sorgularını ve ayar değerlerini ziyaretçiye gösterir. Laravel belgeleri yayın ortamında bu değerin her zaman false olması gerektiğini belirtir. Sunucuda APP_ENV=production ve APP_DEBUG=false kullanın, hataları storage/logs içindeki günlükten okuyun.

Laravel paylaşımlı hostingte çalışır mı?

Evet. Laravel 13, PHP 8.3 veya üstü seçilebilen cPanel'li bir web hosting hesabında çalışır. SSH ve Composer yoksa vendor klasörü bilgisayarınızda hazırlanıp yüklenir, public klasörünün içeriği public_html'e konur ve zamanlanmış görevler cron ile çalıştırılır. Sürekli çalışan kuyruk işçisi veya root erişimi gerekiyorsa VDS daha uygundur.

TR| EN