Laravel projesi üzerinde çalışıyorsanız, yeni bir projeyi kurarken genellikle birkaç standart adım izlenir: paketlerin kurulması, veritabanı yapılandırması, migration işlemleri, varsayılan verilerin eklenmesi (seed işlemleri), ve cache işlemleri gibi. Bu adımlar manuel yapıldığında zaman alabilir. Ancak, Laravel projeniz için otomatik kurulum işlemini bir komut veya bash script aracılığıyla kolayca gerçekleştirerek tüm bu işleri otomatik hale getirebilirsiniz.

Bu yazıda, Laravel projenize otomatik kurulum özelliği eklemek için iki farklı yöntemi ele alacağız:

  1. Bash Script ile Kurulum
  2. Artisan Komutları ile Otomatik Kurulum

1. Bash Script ile Otomatik Kurulum

Laravel kurulum işlemlerini bir bash script kullanarak kolayca çözebilirsiniz. Bash script, projenizin root dizininde çalıştırılabilir ve Composer bağımlılıklarının yüklenmesinden veritabanı işlemlerine kadar birçok adımı bir arada yapabilir.

Örnek Bash Script: install.sh

Projenizin ana dizininde bir install.sh dosyası oluşturun ve içerisine aşağıdaki kodu ekleyin:

#!/bin/bash

# Composer bağımlılıklarını yükle
echo "Bağımlılıklar yükleniyor..."
composer install

# .env dosyasını oluştur
if [ ! -f .env ]; then
echo ".env dosyası oluşturuluyor..."
cp .env.example .env
else
echo ".env dosyası zaten mevcut!"
fi

# Uygulama anahtarı oluştur
echo "Uygulama anahtarı oluşturuluyor..."
php artisan key:generate

# Tabloları migrate et
echo "Migration'lar çalıştırılıyor..."
php artisan migrate --force

# Seed işlemini çalıştır
echo "Seed işlemi başlatılıyor..."
php artisan db:seed --force

# Cache işlemleri
echo "Cache işlemleri yapılıyor..."
php artisan config:cache
php artisan route:cache

# Storage dizinlerini bağla
echo "Storage link oluşturuluyor..."
php artisan storage:link

echo "Laravel projesi başarıyla kuruldu! 🚀"

Script'in Kullanılması:

  1. install.sh dosyasını oluşturduktan sonra çalıştırılabilir hale getirin:
chmod +x install.sh
  1. Daha sonra script'i çalıştırarak Laravel projenizi otomatik olarak kurabilirsiniz:

./install.sh

Bash script, Laravel'in tüm kurulum adımlarını tek bir komutla otomatik hale getirir.


2. Laravel Artisan Komutları ile Otomatik Kurulum

Laravel'in sunduğu Artisan Command özelliği ile özelleştirilmiş bir komut oluşturabilirsiniz. Bu yöntem, PHP kullanarak kurulum işlemlerinizi kontrol etmenizi ve daha modüler bir yapı oluşturmanızı sağlar.

2.1. Yeni Bir Artisan Komutu Oluşturun

Öncelikle, otomatik kurulum için bir Artisan komutu oluşturun. Terminal üzerinden aşağıdaki komutu çalıştırın:

php artisan make:command InstallCommand

Bu komut, app/Console/Commands/ dizininde bir InstallCommand.php dosyası oluşturacaktır.

2.2. Artisan Komutunu Düzenleyin

app/Console/Commands/InstallCommand.php dosyasını açın ve içine aşağıdaki kodları ekleyin:

<?php

namespace App\Console\Commands;

use Illuminate\Console\Command;
use Illuminate\Support\Facades\Artisan;
use Illuminate\Support\Facades\File;

class InstallCommand extends Command
{
// Komutun adı
protected $signature = 'app:install';

// Komutun açıklaması
protected $description = 'Laravel projesi için otomatik kurulum komutu';

public function __construct()
{
parent::__construct();
}

public function handle()
{
$this->info("Laravel kurulumu başlıyor...");

// Composer bağımlılıklarını kontrol et
if (!File::exists(base_path('vendor'))) {
$this->info("Composer bağımlılıkları yükleniyor...");
exec('composer install');
} else {
$this->info("Composer bağımlılıkları zaten yüklü.");
}

// .env dosyasını oluştur
if (!File::exists(base_path('.env'))) {
$this->info(".env dosyası oluşturuluyor...");
File::copy(base_path('.env.example'), base_path('.env'));
} else {
$this->info(".env dosyası zaten mevcut.");
}

// Uygulama anahtarı oluştur
Artisan::call('key:generate');
$this->info("Uygulama anahtarı oluşturuldu.");

// Migration işlemleri
Artisan::call('migrate', ['--force' => true]);
$this->info("Migration'lar tamamlandı.");

// Seed işlemleri
Artisan::call('db:seed', ['--force' => true]);
$this->info("Seed işlemleri tamamlandı.");

// Storage link oluştur
Artisan::call('storage:link');
$this->info("Storage simgesi oluşturuldu.");

// Config ve route cache işlemleri
Artisan::call('config:cache');
Artisan::call('route:cache');
$this->info("Cache işlemleri tamamlandı.");

$this->info("Laravel kurulum işlemleri başarıyla tamamlandı! 🚀");
}
}

2.3. Artisan Komutunu Çalıştırın

Yeni oluşturduğunuz InstallCommand'i çalıştırmak için terminalden şu komutu kullanabilirsiniz:

php artisan app:install

Bu komut, Laravel projenizin kurulumu için gerekli tüm işlemleri başlatır ve tamamlar.


Hangi Yöntemi Seçmelisiniz?

  • install.sh Bash Script yöntemi, Laravel'e entegre olmayan basit kurulumlar için uygundur. Hem frontend hem de backend bağımlılıklarının yüklendiği durumlarda kullanılabilir.
  • Artisan Komutu yöntemi ise Laravel'in kendi yapısına entegredir ve PHP ile yazıldığından daha esnek bir yapıya sahiptir.