sunucuhataları
teknik çözüm merkezi
Ara Giriş Yap Üye Ol
🏠 Ana Sayfa 📚 Kurulum Rehberleri
Kategoriler
🌐 Web Sunucuları 🐧 İşletim Sistemleri 📦 Sanallaştırma & VPS 🖥️ Kontrol Panelleri 🔒 SSL & Güvenlik 📝 CMS & Uygulamalar 🗄️ Veritabanı 📧 Mail Sunucusu 🗨️ Forum ℹ️ Hakkımızda 📧 İletişim
Giriş Yap Üye Ol
Ana Sayfa CMS & Uygulamalar Laravel Kurulumu Laravel 11 Kurulumu: Nginx, PHP 8.3 ve Composer...
🔴 Laravel Kurulumu

Laravel 11 Kurulumu: Nginx, PHP 8.3 ve Composer ile VPS

Ubuntu VPS üzerinde Laravel 11 kurulumu rehberi. Nginx, PHP 8.3-FPM, Composer ve MySQL yapılandırması ile queue worker kurulumu.

📅 7 Mart 2025 👁 35 görüntülenme ⏱ 3 dk okuma
𝕏 Paylaş
📋 İçindekiler göster/gizle

Laravel 11 Hakkında

Laravel, PHP ekosisteminin en popüler ve en kapsamlı web uygulama çerçevesidir. Taylor Otwell tarafından 2011'de başlatılan bu açık kaynak proje, MVC (Model-View-Controller) mimarisini temel alır ve geliştirici deneyimini ön planda tutar. Laravel 11, Şubat 2024'te yayınlanmış olup PHP 8.2 ve 8.3 sürümlerini destekler. Bu sürümle birlikte uygulama yapısı sadeleştirilmiş (slim skeleton), Reverb WebSocket sunucusu eklenmiş ve Volt bileşenleri geliştirilmiştir.

Gereksinimler

  • PHP >= 8.2 (önerilen 8.3)
  • Composer 2.x
  • MySQL 8.0 / MariaDB 10.11 / PostgreSQL 15+
  • Nginx veya Apache
  • Node.js (frontend build için)

Adım 1: PHP 8.3 ve Gerekli Uzantılar

apt update
add-apt-repository ppa:ondrej/php -y
apt install -y php8.3-fpm php8.3-cli php8.3-mysql php8.3-curl \
  php8.3-xml php8.3-zip php8.3-mbstring php8.3-bcmath \
  php8.3-intl php8.3-gd php8.3-redis php8.3-imagick

php -v
systemctl status php8.3-fpm

Adım 2: Nginx Kurulumu

apt install -y nginx
systemctl enable --now nginx

Adım 3: MySQL/MariaDB ve Veritabanı

apt install -y mariadb-server
mariadb-secure-installation

mariadb -u root -p -e "
CREATE DATABASE laravel_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'laravel'@'localhost' IDENTIFIED BY 'LaravelSifre123!';
GRANT ALL PRIVILEGES ON laravel_db.* TO 'laravel'@'localhost';
FLUSH PRIVILEGES;"

Adım 4: Composer Kurulumu

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
chmod +x /usr/local/bin/composer
composer --version

Adım 5: Laravel Projesi Oluşturma

cd /var/www
composer create-project laravel/laravel myapp "11.*"
chown -R www-data:www-data /var/www/myapp
chmod -R 755 /var/www/myapp
chmod -R 775 /var/www/myapp/storage /var/www/myapp/bootstrap/cache

.env Yapılandırması

cd /var/www/myapp
cp .env.example .env
php artisan key:generate

# .env dosyasını düzenle
nano .env
APP_NAME="Uygulamam"
APP_ENV=production
APP_KEY=base64:...  # key:generate ile otomatik oluşturulur
APP_DEBUG=false
APP_URL=https://example.com

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_db
DB_USERNAME=laravel
DB_PASSWORD=LaravelSifre123!

Migrasyonları Çalıştır

php artisan migrate
php artisan storage:link

Adım 6: Nginx Server Block

# /etc/nginx/sites-available/myapp
server {
    listen 80;
    server_name example.com www.example.com;
    root /var/www/myapp/public;
    index index.php;

    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-Content-Type-Options "nosniff";

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.(?!well-known).* {
        deny all;
    }
}
ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx

Adım 7: Queue Worker (Supervisor)

apt install -y supervisor

cat > /etc/supervisor/conf.d/laravel-worker.conf << 'EOF'
[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/myapp/artisan queue:work --sleep=3 --tries=3 --max-time=3600
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true
user=www-data
numprocs=2
redirect_stderr=true
stdout_logfile=/var/www/myapp/storage/logs/worker.log
EOF

supervisorctl reread
supervisorctl update
supervisorctl status

Sık Karşılaşılan Sorunlar

  • 500 Server Error: storage/logs/laravel.log dosyasını inceleyin; en sık neden eksik APP_KEY veya hatalı veritabanı bilgileridir.
  • İzin hatası: chown -R www-data:www-data /var/www/myapp komutunu tekrarlayın.
  • Composer bellek hatası: COMPOSER_MEMORY_LIMIT=-1 composer install kullanın.
  • Önbellek sorunu: php artisan config:clear && php artisan cache:clear çalıştırın.

İlgili Makaleler

🤔 Bu kurulumda sorun mu yaşıyorsunuz?

Hata mesajınızı kopyalayıp foruma konu açın. Topluluğumuz size özel durumunuza göre yardımcı olacaktır.

🗨️ Foruma Katıl & Yardım Al
Etiketler: #nginx #php #laravel #composer

Yorumlar

Henüz yorum yok. İlk yorumu siz yapın!

Yorum Yap

Yorumunuz onaylandıktan sonra yayınlanır.