Ana içeriğe geç

Ortam Değişkenleri (.env)

.env dosyası, FeedbackPulse yapılandırmasının kalbidir. Kurulum sırasında otomatik olarak oluşturulur, ancak dilediğiniz zaman manuel olarak düzenleyebilirsiniz.


📍 Dosya Konumu

/var/www/feedbackpulse-saas/.env

⚠️ Güvenlik: .env dosyası hassas veriler içerir (veritabanı şifreleri, API anahtarları). Hiçbir zaman sürüm kontrolüne göndermeyin veya herkese açık şekilde paylaşmayın. 640 izinlerine sahip olmalıdır.


🔧 .env Düzenlemesinden Sonra

Değişiklik yaptıktan sonra yapılandırma önbelleğini temizleyin:

php artisan config:clear
php artisan config:cache # İsteğe bağlı: üretim performansı için önbelleğe alın

📋 Tam Değişken Referansı

🏠 Uygulama Ayarları

DeğişkenVarsayılanAçıklama
APP_NAMEFeedbackPulsePlatform adı (e-postalarda, başlıklarda gösterilir)
APP_ENVproductionOrtam: production, local, staging
APP_KEY(otomatik oluşturulur)Şifreleme anahtarı. Kurulumdan sonra asla değiştirmeyin!
APP_DEBUGfalseAyrıntılı hataları göster. Üretimde false olmalıdır!
APP_URLhttps://yourdomain.comPlatformunuzun tam URL'si (https ile)
APP_LOCALEenVarsayılan dil
APP_FALLBACK_LOCALEenYedek dil
BCRYPT_ROUNDS12Şifre karma gücü (yüksek = daha yavaş ama daha güvenli)

⚠️ APP_DEBUG=true hata sayfalarında hassas bilgileri (veritabanı kimlik bilgileri, API anahtarları) açığa çıkarır. Üretimde asla etkinleştirmeyin, kısa hata ayıklama oturumları dışında.

🗄️ Veritabanı

DeğişkenVarsayılanAçıklama
DB_CONNECTIONmysqlVeritabanı sürücüsü: mysql, mariadb, sqlite, pgsql
DB_HOST127.0.0.1Veritabanı sunucusu adresi
DB_PORT3306Veritabanı portu
DB_DATABASEfeedbackpulseVeritabanı adı
DB_USERNAMErootVeritabanı kullanıcı adı
DB_PASSWORD(boş)Veritabanı şifresi

📧 E-posta / SMTP

DeğişkenVarsayılanAçıklama
MAIL_MAILERsmtpPosta sürücüsü: smtp, ses, postmark, sendmail, log
MAIL_HOSTsmtp.mailgun.orgSMTP sunucu adresi
MAIL_PORT587SMTP portu (TLS için 587, SSL için 465)
MAIL_USERNAME(boş)SMTP kullanıcı adı
MAIL_PASSWORD(boş)SMTP şifresi
MAIL_ENCRYPTIONtlsŞifreleme: tls, ssl veya null
MAIL_FROM_ADDRESS[email protected]Gönderen e-posta adresi
MAIL_FROM_NAMEFeedbackPulseGönderen adı

💳 Stripe (İsteğe Bağlı)

DeğişkenVarsayılanAçıklama
STRIPE_PUBLISHABLE_KEY(boş)Stripe yayımlanabilir anahtar (pk_ ile başlar)
STRIPE_SECRET_KEY(boş)Stripe gizli anahtar (sk_ ile başlar)
STRIPE_WEBHOOK_SECRET(boş)Stripe webhook imzalama sırrı (whsec_ ile başlar)

💰 PayPal (İsteğe Bağlı)

DeğişkenVarsayılanAçıklama
PAYPAL_CLIENT_ID(boş)PayPal REST API istemci kimliği
PAYPAL_CLIENT_SECRET(boş)PayPal REST API istemci sırrı
PAYPAL_WEBHOOK_ID(boş)Doğrulama için PayPal webhook kimliği
PAYPAL_MODEsandboxMod: sandbox (test) veya live (üretim)

🔑 Sosyal Giriş (İsteğe Bağlı)

DeğişkenVarsayılanAçıklama
GOOGLE_CLIENT_ID(boş)Google OAuth istemci kimliği
GOOGLE_CLIENT_SECRET(boş)Google OAuth istemci sırrı
GITHUB_CLIENT_ID(boş)GitHub OAuth istemci kimliği
GITHUB_CLIENT_SECRET(boş)GitHub OAuth istemci sırrı

🤖 Yapay Zeka / OpenAI (İsteğe Bağlı)

DeğişkenVarsayılanAçıklama
OPENAI_API_KEY(boş)Duygu analizi, otomatik etiketleme, YZ yanıtları için OpenAI API anahtarı

🤖 reCAPTCHA (İsteğe Bağlı)

DeğişkenVarsayılanAçıklama
RECAPTCHA_SITE_KEY(boş)Google reCAPTCHA v2/v3 site anahtarı
RECAPTCHA_SECRET_KEY(boş)Google reCAPTCHA gizli anahtarı

🍪 Oturum ve Önbellek

DeğişkenVarsayılanAçıklama
SESSION_DRIVERfileOturum depolama: file, database, redis, cookie
SESSION_LIFETIME120Dakika cinsinden oturum zaman aşımı
SESSION_DOMAIN(boş)Çerez etki alanı (alt etki alanları için .yourdomain.com olarak ayarlayın)
SESSION_SECURE_COOKIEtrueOturum çerezleri için HTTPS gerektirir
CACHE_STOREfileÖnbellek sürücüsü: file, database, redis, memcached

📦 Kuyruk ve İşler

DeğişkenVarsayılanAçıklama
QUEUE_CONNECTIONsyncKuyruk sürücüsü: sync, database, redis

⏰ Cron (Paylaşımlı Barındırma)

DeğişkenVarsayılanAçıklama
CRON_TOKEN(otomatik oluşturulur)Web tabanlı cron uç noktası /cron/run?token= için gizli token. Kurulum sırasında otomatik oluşturulur. Yalnızca CLI yerine URL tabanlı cron kullanılıyorsa gereklidir.

📁 Dosya Depolama

DeğişkenVarsayılanAçıklama
FILESYSTEM_DISKlocalVarsayılan depolama diski: local, public, s3

🪵 Günlük Kaydı

DeğişkenVarsayılanAçıklama
LOG_CHANNELstackLog kanalı: stack, single, daily, syslog
LOG_LEVELerrorMinimum log seviyesi: debug, info, notice, warning, error, critical

💡 Örnek Üretim .env Dosyası

APP_NAME="FeedbackPulse"
APP_ENV=production
APP_KEY=base64:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
APP_DEBUG=false
APP_URL=https://feedback.mycompany.com

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=feedbackpulse
DB_USERNAME=fp_user
DB_PASSWORD=super_secure_password_here

SESSION_DRIVER=file
SESSION_LIFETIME=120
SESSION_DOMAIN=.feedback.mycompany.com
SESSION_SECURE_COOKIE=true
CACHE_STORE=file

QUEUE_CONNECTION=sync

MAIL_MAILER=smtp
MAIL_HOST=smtp.mailgun.org
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=mailgun_password_here
MAIL_ENCRYPTION=tls
[email protected]
MAIL_FROM_NAME="FeedbackPulse"

STRIPE_PUBLISHABLE_KEY=pk_live_xxxxx
STRIPE_SECRET_KEY=sk_live_xxxxx
STRIPE_WEBHOOK_SECRET=whsec_xxxxx

OPENAI_API_KEY=sk-xxxxx

LOG_CHANNEL=daily
LOG_LEVEL=error

⏭️ Sonraki Adımlar