Laravel Başlangıç 04.06.2026 7 dk okuma 3 görüntüleme

Linux’ta Laravel Kurulumu: Eksiksiz Türkçe Rehber

Linux üzerinde Laravel kurulumu için PHP, Composer, Node.js, Git, SQLite/MySQL, Nginx, Laravel Installer, ilk proje ve sık hata çözümlerini adım adım anlatıyorum.

Linux’ta Laravel Kurulumu: Eksiksiz Türkçe Rehber kapak görseli

Linux’ta Laravel kurulumu, özellikle Ubuntu veya Debian tabanlı sistemlerde gayet temiz ilerler. Ama eksiksiz bir ortam için sadece `php` kurmak yetmez. PHP extension’ları, Composer, Laravel Installer, Node.js/NPM, Git, veritabanı, storage izinleri ve ilk proje kontrolleri birlikte yapılmalıdır.

Bu rehberde Ubuntu/Debian ana akışıyla Laravel kurulumunu anlatacağım. Fedora kullananlar için de kısa notlar ekleyeceğim. Türkçe’yi çok akademik yapmadan, terminali açıp uygulayabileceğin seviyede ilerleyelim.

1. Sistem Güncelleme

Önce paket listesini güncelle ve mevcut paketleri yükselt:

sudo apt update
sudo apt upgrade -y

Sistem bilgilerini kontrol etmek istersen:

lsb_release -a
uname -m

2. Gerekli Temel Paketler

Laravel kurulumu sırasında `curl`, `unzip`, `git` gibi araçlara ihtiyaç olur:

sudo apt install -y curl unzip git software-properties-common ca-certificates

Git sürümünü kontrol et:

git --version

İlk Git ayarlarını yap:

git config --global user.name "Ad Soyad"
git config --global user.email "mail@example.com"

3. PHP ve Extension Kurulumu

Laravel için PHP ve bazı extension’lar gerekir. Ubuntu paketlerinde gelen PHP sürümü güncelse şu komut yeterli olur:

sudo apt install -y php php-cli php-mbstring php-xml php-curl php-zip php-sqlite3 php-mysql php-bcmath php-intl

Kurulumdan sonra kontrol et:

php -v
php -m | grep mbstring
php -m | grep pdo

Laravel projelerinde özellikle `mbstring`, `openssl`, `pdo`, `tokenizer`, `xml`, `ctype`, `json`, `curl`, `fileinfo` gibi extension’lar önemlidir. Eksik extension varsa Composer veya Laravel hata verir.

4. Composer Kurulumu

Composer PHP paket yöneticisidir. Laravel projeleri Composer ile kurulur ve paketler Composer ile yönetilir.

curl -sS https://getcomposer.org/installer -o composer-setup.php
php composer-setup.php
sudo mv composer.phar /usr/local/bin/composer
rm composer-setup.php

Kontrol et:

composer -V

Composer komutu sürüm döndürüyorsa tamamdır.

5. Laravel Installer Kurulumu

Laravel Installer yeni proje oluşturmayı kolaylaştırır:

composer global require laravel/installer

Sonra global Composer bin dizinini PATH’e eklemek gerekebilir. Bash kullanıyorsan:

echo 'export PATH="$HOME/.config/composer/vendor/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

Zsh kullanıyorsan:

echo 'export PATH="$HOME/.config/composer/vendor/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

Kontrol et:

laravel --version

`laravel: command not found` hatası alırsan şu komutla gerçek yolu gör:

composer global config bin-dir --absolute

Çıkan dizini PATH içine ekle.

6. Node.js ve NPM Kurulumu

Laravel 12 projelerinde Vite, Tailwind veya starter kit kullanırken Node.js gerekir. Ubuntu paketlerinden kurabilirsin:

sudo apt install -y nodejs npm

Kontrol:

node -v
npm -v

Daha güncel Node LTS istiyorsan NodeSource veya nvm kullanabilirsin. Basit başlangıç için paket yöneticisiyle kurulum çoğu zaman yeterlidir.

7. İlk Laravel Projesini Oluştur

Projeleri tutacağın klasörü oluştur:

mkdir -p ~/Sites
cd ~/Sites

Yeni Laravel projesi:

laravel new linux-blog

Projeye gir:

cd linux-blog

Migration çalıştır:

php artisan migrate

Frontend paketleri:

npm install
npm run dev

Başka terminalde Laravel sunucusunu çalıştır:

php artisan serve

Tarayıcıda aç:

http://127.0.0.1:8000

8. SQLite mi MySQL mi?

İlk proje için SQLite çok kolaydır. Laravel yeni projede SQLite ile hızlı başlatılabilir. `.env` içinde şu yeterli olur:

DB_CONNECTION=sqlite

MySQL kullanmak istiyorsan kur:

sudo apt install -y mysql-server
sudo systemctl enable mysql
sudo systemctl start mysql

Veritabanı oluştur:

sudo mysql
CREATE DATABASE linux_blog CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
EXIT;

`.env` örneği:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=linux_blog
DB_USERNAME=root
DB_PASSWORD=

Ayar değişince:

php artisan config:clear
php artisan migrate

9. Storage Link ve Dosya İzinleri

Resim ve dosya yükleme kullanacaksan storage link oluştur:

php artisan storage:link

Linux’ta izinler bazen sorun çıkarır. Lokal geliştirmede genelde proje sahibi kullanıcı yeterlidir. Sunucuda ise web server kullanıcısı `storage` ve `bootstrap/cache` klasörlerine yazabilmelidir:

chmod -R ug+rw storage bootstrap/cache

Production sunucuda izinleri rastgele `777` yapmak kötü pratiktir. Sahiplik ve grup ayarı doğru yapılmalıdır.

10. Nginx Notu

Lokal geliştirmede `php artisan serve` yeterlidir. Ama Linux sunucuda Nginx + PHP-FPM kullanılır. Paket kurulumu:

sudo apt install -y nginx php-fpm

Servis kontrolü:

sudo systemctl status nginx
sudo systemctl status php*-fpm

Sunucuda Laravel’in `public` klasörü web root olmalıdır. Proje kökü direkt public edilmemelidir.

11. Docker ve Laravel Sail Alternatifi

Docker kullanmak istiyorsan Laravel Sail iyi bir alternatiftir:

php artisan sail:install
./vendor/bin/sail up -d
./vendor/bin/sail artisan migrate
./vendor/bin/sail npm install
./vendor/bin/sail npm run dev

Sail özellikle ekipli projelerde aynı MySQL, Redis, Mailpit gibi servisleri standart hale getirir. İlk öğrenme aşamasında klasik kurulum daha anlaşılır olabilir.

12. Fedora Kullananlar İçin Kısa Not

Fedora tarafında paket yöneticisi `dnf` kullanılır:

sudo dnf update -y
sudo dnf install -y php php-cli php-mbstring php-xml php-curl php-zip php-sqlite3 php-mysqlnd composer nodejs npm git unzip

Sonrası aynı mantıkla ilerler:

composer global require laravel/installer
laravel new linux-blog

13. Kurulum Sonrası Kontrol Listesi

php -v
composer -V
laravel --version
node -v
npm -v
git --version
php artisan about
php artisan route:list
php artisan migrate:status
php artisan test
npm run build

Bu komutlar temiz dönüyorsa Linux üzerinde Laravel geliştirme ortamın hazırdır.

14. Sık Hatalar

php extension eksik: Composer kurulumda `ext-... missing` hatası verebilir. İlgili `php-xml`, `php-curl`, `php-mbstring`, `php-zip` paketlerini kur.

laravel komutu bulunamadı: Composer global bin dizini PATH içinde değildir. `composer global config bin-dir --absolute` ile yolu bul.

Permission denied: `storage` veya `bootstrap/cache` yazılabilir değildir. Sahiplik ve yazma izinlerini kontrol et.

SQLSTATE bağlantı hatası: `.env` DB bilgileri yanlış veya MySQL servisi çalışmıyor olabilir.

npm run dev hata veriyor: `npm install` çalıştır, Node/NPM sürümünü kontrol et.

Port kullanımda: `php artisan serve --port=8001` ile başka port dene.

Hızlı Komut Özeti

sudo apt update
sudo apt install -y php php-cli php-mbstring php-xml php-curl php-zip php-sqlite3 php-mysql php-bcmath php-intl curl unzip git nodejs npm
curl -sS https://getcomposer.org/installer -o composer-setup.php
php composer-setup.php
sudo mv composer.phar /usr/local/bin/composer
composer global require laravel/installer
laravel new linux-blog
cd linux-blog
php artisan migrate
npm install
npm run dev
php artisan serve

Sonuç

Linux’ta Laravel kurulumu, terminale alışık biri için en temiz geliştirme deneyimlerinden biridir. PHP extension’ları, Composer, Laravel Installer, Node.js, Git ve veritabanı doğru kurulduğunda proje hızlıca ayağa kalkar. Lokal geliştirmede `php artisan serve` yeterli olur; sunucu tarafında Nginx ve PHP-FPM ile daha gerçekçi bir yapı kurulur.

Benim önerim şu: İlk öğrenme için Ubuntu/Debian üzerinde PHP + Composer + SQLite ile sade başla. Proje büyüdükçe MySQL, Redis, queue, Nginx ve Docker/Sail tarafını ekle. Böyle yaparsan hem öğrenme kolay olur hem de production mantığına yakın ilerlersin.

Kaynak notu: Bu yazı Laravel 12 resmi kurulum yaklaşımı ve Linux paket/terminal akışları temel alınarak hazırlanmıştır.

#Linux Laravel #Laravel kurulumu #Ubuntu Laravel #Composer #PHP #Nginx