AI Asistanı

Bu makale hakkında size nasıl yardımcı olabilirim?

AI Analiz Ediyor...

AI Yanıtı

Powered by Burak Beşli

Laravel 12 Kurulumu ve MariaDB Ayarları
🔥 Yazılım

Laravel 12 Kurulumu ve MariaDB Ayarları

05 Aralık 2025 8 dk okuma
Burak Beşli

Burak Beşli

Yazar

Laravel 12 ve MariaDB ile Güçlü Bir Web Uygulaması İnşa Etmek

Laravel, modern web uygulamaları geliştirmek için popüler ve güçlü bir PHP framework'üdür. MariaDB ise, MySQL'in açık kaynaklı ve geliştirilmiş bir versiyonu olarak, veri tabanı yönetimi için güvenilir ve yüksek performanslı bir seçenektir. Bu makalede, Laravel 12'nin nasıl kurulacağını ve MariaDB ile nasıl yapılandırılacağını adım adım inceleyeceğiz. Bu rehber, hem yeni başlayanlar hem de deneyimli geliştiriciler için faydalı bilgiler sunmayı amaçlamaktadır.

Laravel 12 Kurulumu

Laravel 12 kurulumu, birkaç basit adımı içerir. Bu adımlar, projenizin temelini oluşturacak ve geliştirme sürecinizi başlatmanızı sağlayacaktır.

Sistem Gereksinimleri

Laravel 12'yi kurmadan önce sisteminizin aşağıdaki gereksinimleri karşıladığından emin olun:

  • PHP >= 8.2
  • Ctype PHP Extension
  • cURL PHP Extension
  • DOM PHP Extension
  • Fileinfo PHP Extension
  • JSON PHP Extension
  • Mbstring PHP Extension
  • OpenSSL PHP Extension
  • PCRE PHP Extension
  • PDO PHP Extension
  • Tokenizer PHP Extension
  • XML PHP Extension

Bu gereksinimleri karşılamak için, PHP'yi ve gerekli eklentileri kurmanız veya güncellemeniz gerekebilir. Örneğin, Ubuntu üzerinde aşağıdaki komutları kullanarak PHP ve gerekli eklentileri kurabilirsiniz:

sudo apt update sudo apt install php8.2 php8.2-cli php8.2-curl php8.2-mbstring php8.2-mysql php8.2-xml php8.2-zip php8.2-gd php8.2-opcache

Composer ile Laravel Projesi Oluşturma

Composer, PHP için bir bağımlılık yöneticisidir ve Laravel projelerini oluşturmak için kullanılır. Composer'ı sisteminizde yoksa, öncelikle onu kurmanız gerekmektedir. Composer'ı kurmak için aşağıdaki adımları izleyebilirsiniz:

1. Composer'ı indirin:

curl -sS https://getcomposer.org/installer | php

2. Composer'ı global olarak erişilebilir hale getirin:

sudo mv composer.phar /usr/local/bin/composer

Composer kurulduktan sonra, yeni bir Laravel projesi oluşturmak için aşağıdaki komutu kullanabilirsiniz:

composer create-project laravel/laravel example-app

Bu komut, example-app adında yeni bir Laravel projesi oluşturacaktır. Proje oluşturulduktan sonra, proje dizinine gidin:

cd example-app

Laravel Development Server'ı Çalıştırma

Laravel, yerleşik bir geliştirme sunucusuna sahiptir. Bu sunucuyu başlatmak için aşağıdaki komutu kullanabilirsiniz:

php artisan serve

Bu komut, Laravel uygulamanızı http://localhost:8000 adresinde başlatacaktır. Tarayıcınızda bu adresi ziyaret ederek Laravel uygulamanızın çalıştığını doğrulayabilirsiniz.

MariaDB Ayarları

Laravel projenizi oluşturduktan sonra, MariaDB ile bağlantı kurmanız gerekmektedir. Bu bölümde, MariaDB'nin nasıl kurulacağını, yapılandırılacağını ve Laravel ile nasıl entegre edileceğini adım adım inceleyeceğiz.

MariaDB Kurulumu

MariaDB'yi sisteminize kurmak için aşağıdaki adımları izleyebilirsiniz. Ubuntu üzerinde MariaDB kurulumu için aşağıdaki komutları kullanabilirsiniz:

sudo apt update sudo apt install mariadb-server

Kurulum tamamlandıktan sonra, MariaDB sunucusunu başlatın ve otomatik olarak başlaması için etkinleştirin:

sudo systemctl start mariadb sudo systemctl enable mariadb

MariaDB Güvenlik Ayarları

MariaDB kurulumundan sonra, güvenlik ayarlarını yapılandırmak önemlidir. Bunun için aşağıdaki komutu kullanabilirsiniz:

sudo mysqlsecureinstallation

Bu komut, size bir dizi soru soracaktır. Bu sorulara aşağıdaki gibi cevaplar verebilirsiniz:

  • Enter current password for root (enter for none): Enter tuşuna basın.
  • Switch to unix_socket authentication [Y/n] n
  • Change the root password? [Y/n] Y
  • New password: Yeni bir şifre girin.
  • Re-enter new password: Şifreyi tekrar girin.
  • Remove anonymous users? [Y/n] Y
  • Disallow root login remotely? [Y/n] Y
  • Remove test database and access to it? [Y/n] Y
  • Reload privilege tables now? [Y/n] Y

Bu adımlar, MariaDB sunucunuzun güvenliğini artıracaktır.

Laravel için Veritabanı Oluşturma

MariaDB'de Laravel uygulamanız için bir veritabanı oluşturmanız gerekmektedir. MariaDB konsoluna bağlanmak için aşağıdaki komutu kullanabilirsiniz:

sudo mysql -u root -p

Şifrenizi girin ve aşağıdaki SQL komutlarını kullanarak yeni bir veritabanı oluşturun:

CREATE DATABASE laraveldb CHARACTER SET utf8mb4 COLLATE utf8mb4unicode_ci; CREATE USER 'laraveluser'@'localhost' IDENTIFIED BY 'yourpassword'; GRANT ALL PRIVILEGES ON laraveldb.* TO 'laraveluser'@'localhost'; FLUSH PRIVILEGES; EXIT;

Bu komutlar, laraveldb adında bir veritabanı oluşturacak, laraveluser adında bir kullanıcı oluşturacak ve bu kullanıcıya veritabanı üzerinde tüm yetkileri verecektir. your_password kısmını kendi belirleyeceğiniz bir şifre ile değiştirin.

Laravel .env Dosyası Ayarları

Laravel, .env dosyası aracılığıyla ortam değişkenlerini yönetir. MariaDB bağlantı ayarlarını .env dosyasına girmeniz gerekmektedir. .env dosyasını açın ve aşağıdaki satırları güncelleyin:

DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DBDATABASE=laraveldb DBUSERNAME=laraveluser DBPASSWORD=yourpassword

Bu ayarlar, Laravel'in MariaDB veritabanına bağlanmasını sağlayacaktır. your_password kısmını MariaDB'de oluşturduğunuz kullanıcı için belirlediğiniz şifre ile değiştirin.

Migration'ları Çalıştırma

Laravel, veritabanı şemalarını yönetmek için migration'ları kullanır. Migration'ları çalıştırmak için aşağıdaki komutu kullanabilirsiniz:

php artisan migrate

Bu komut, database/migrations dizinindeki tüm migration dosyalarını çalıştıracak ve veritabanı tablolarını oluşturacaktır. Başlangıçta migration çalıştırırken bir hata alırsanız, config/database.php dosyasında charset ve collation ayarlarını kontrol edin. Genellikle utf8mb4 ve utf8mb4unicodeci olarak ayarlanmış olmaları gerekir.

Modeller ve Veritabanı Etkileşimi

Laravel'de modeller, veritabanı tablolarıyla etkileşim kurmak için kullanılır. Örneğin, User modeli, users tablosuyla ilişkilidir. Yeni bir kullanıcı oluşturmak için aşağıdaki kodu kullanabilirsiniz:

namespace App\Http\Controllers;use App\Models\User; use Illuminate\Http\Request; class UserController extends Controller { public function store(Request $request) { $user = new User(); $user->name = $request->input('name'); $user->email = $request->input('email'); $user->password = bcrypt($request->input('password')); // Şifreyi şifreleyin $user->save(); return response()->json(['message' => 'User created successfully'], 201); } }

Bu kod, bir HTTP isteği alır, yeni bir User modeli oluşturur, verileri doldurur ve veritabanına kaydeder. Şifreyi güvenli bir şekilde saklamak için bcrypt() fonksiyonunu kullanmak önemlidir.

Seeders ile Veri Girişi

Veritabanına başlangıç verileri girmek için seeders kullanabilirsiniz. Örneğin, bir UserSeeder oluşturmak için aşağıdaki komutu kullanabilirsiniz:

php artisan make:seeder UserSeeder

Oluşturulan database/seeders/UserSeeder.php dosyasını açın ve aşağıdaki gibi bir kod ekleyin:

namespace Database\Seeders;use Illuminate\Database\Seeder; use App\Models\User; use Illuminate\Support\Facades\Hash; class UserSeeder extends Seeder { /** * Run the database seeds. */ public function run(): void { User::create([ 'name' => 'Example User', 'email' => 'example@example.com', 'password' => Hash::make('password'), ]); } }

Bu seeder, users tablosuna örnek bir kullanıcı ekleyecektir. Seeder'ı çalıştırmak için aşağıdaki komutları kullanabilirsiniz:

php artisan db:seed --class=UserSeeder

Veya tüm seeders'ı çalıştırmak için:

php artisan db:seed

DatabaseSeeder.php dosyasında hangi seeders'ın çalıştırılacağını belirleyebilirsiniz.

Örnek CRUD İşlemleri

Laravel ile basit bir CRUD (Create, Read, Update, Delete) işlemi örneği:

Model:

namespace App\Models;use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Product extends Model { use HasFactory; protected $fillable = ['name', 'description', 'price']; }

Migration:

use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema;return new class extends Migration { /** * Run the migrations. */ public function up(): void { Schema::create('products', function (Blueprint $table) { $table->id(); $table->string('name'); $table->text('description')->nullable(); $table->decimal('price', 8, 2); $table->timestamps(); }); } /** * Reverse the migrations. */ public function down(): void { Schema::dropIfExists('products'); } };

Controller:

namespace App\Http\Controllers;use App\Models\Product; use Illuminate\Http\Request; class ProductController extends Controller { public function index() { $products = Product::all(); return response()->json($products); } public function store(Request $request) { $product = Product::create($request->all()); return response()->json($product, 201); } public function show(Product $product) { return response()->json($product); } public function update(Request $request, Product $product) { $product->update($request->all()); return response()->json($product); } public function destroy(Product $product) { $product->delete(); return response()->json(null, 204); } }

Bu örnek, temel bir ürün yönetimi uygulamasının nasıl oluşturulabileceğini göstermektedir.

Sonuç

Bu makalede, Laravel 12'nin nasıl kurulacağını ve MariaDB ile nasıl yapılandırılacağını ayrıntılı bir şekilde inceledik. Sistem gereksinimlerinden başlayarak, Composer ile proje oluşturma, MariaDB kurulumu, veritabanı oluşturma, .env dosyası ayarları, migration'ları çalıştırma, modeller ve seeders ile veri girişi gibi adımları adım adım açıkladık. Ayrıca, basit bir CRUD örneği ile Laravel ve MariaDB'nin nasıl etkileşim kurduğunu gösterdik. Bu bilgiler, Laravel ve MariaDB kullanarak güçlü ve ölçeklenebilir web uygulamaları geliştirmek için sağlam bir temel oluşturmanıza yardımcı olacaktır. Başarılar dilerim!

Yorum Yapmak İçin Giriş Yapın

Bu makale hakkında düşüncelerinizi paylaşmak için üye olun veya giriş yapın.