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, 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.phpdosyası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 migrateaynı 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 artisanile 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

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:
- Paketleri
vendorklasörüne indirir (yaklaşık 80 paket). .env.exampledosyasını.envolarak kopyalar.php artisan key:generateile uygulama anahtarını (APP_KEY) üretir.database/database.sqlitedosyasını oluşturup ilk tabloları (users,cache,jobs) kurar.

Ö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ı |

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
localvetrue. Sunucuda mutlakaproductionvefalseolmalı.APP_DEBUG=truebı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
tryapabilirsiniz (Türkçe dil dosyalarını ayrıca eklemeniz gerekir).

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 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

Çıktıda dikkat edilecek satırlar:
- Environment / Debug Mode: Sunucuda
productionveOFFgörmelisiniz. - Cache, Queue, Session: Laravel 13'te üçü de varsayılan olarak
databasesürücüsünü kullanır; yani bu tabloların veritabanında bulunması gerekir (ilk migration bunları kurar). - Storage:
public/storagebağlantısının (link) kurulup kurulmadığını gösterir. Yüklenen dosyaları göstermek içinphp artisan storage:linkgerekir.
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

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ı
- "Your requirements could not be resolved" / "requires php ^8.3". Bilgisayarınızdaki PHP sürümü eskidir.
php -vile kontrol edin, PHP 8.3 veya üstünü kurun. - "ext-... is missing from your system". Gerekli bir PHP eklentisi kapalıdır. Windows'ta
php.inidosyasında ilgiliextension=satırının başındaki;işaretini kaldırın; Linux'taphp8.3-mbstringgibi paketi kurun. - Karşılama sayfası yerine "No application encryption key has been specified".
.envdosyasındaAPP_KEYboştur.php artisan key:generateçalıştırın. - "Vite manifest not found". Sayfa, derlenmemiş CSS/JS dosyalarını arıyordur.
npm installvenpm run buildçalıştırın ya da geliştirmedenpm run devaçık olsun. php artisan serveaçı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
- 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.
- PHP ve Composer'ı kurun,
composer create-project laravel/laravel ornek-projeile projeyi oluşturun. .envdosyasındaAPP_KEY,APP_DEBUGve veritabanı ayarlarını kontrol edin; bu dosyayı paylaşmayın.php artisan serveile karşılama sayfasını açın,php artisan aboutile ortamı doğrulayın.- Yayında yalnızca
publicklasörünü web'e açın,APP_DEBUG=falseyapı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
- Laravel 13 Installation: resmi kurulum belgesi
- Laravel Release Notes ve destek politikası: sürüm, PHP aralığı ve destek tarihleri
- Laravel Deployment: Server Requirements: gerekli PHP eklentileri
- Laravel Database: desteklenen veritabanı sürümleri
- Composer indirme sayfası
- Vite: Node.js gereksinimi
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.


