Plesk için özel notlar (.htaccess, nginx, izinler)
Plesk, nginx + Apache + PHP-FPM katmanlarını birlikte yönettiği için Laravel'in standart kurulumu bazı sürtünmelere yol açabilir. WG Panel sıfır kurulum paketi bu sürtünmeleri otomatik aşacak şekilde hazırlanmıştır; aşağıda her birinin nedeni ve manuel kontrol yöntemi listelenmiştir.
1) install.php dosyası neden var?
Plesk'in nginx katmanı uzantısız URL'lere (örn. /install/continue) POST gönderildiğinde varsayılan olarak 405 Method Not Allowed döner. .php ile biten dosyalar her zaman PHP-FPM'e yönlendirildiği için tüm kurulum akışı /install.php?step=... üzerinden gider; nginx katmanına dokunmaya gerek kalmaz.
2) public/.htaccess içinde SymLinksIfOwnerMatch
Plesk'in Apache vhost şablonu Options -FollowSymLinks set eder. mod_rewrite çalışması için FollowSymLinks veya SymLinksIfOwnerMatch'ten en az biri açık olmalıdır; aksi halde 403 alırsınız.
Sıfır kurulum paketindeki public/.htaccess bu satırı içerir:
Options +SymLinksIfOwnerMatch
3) Üst dizinde .htaccess oluşmuşsa silin
Plesk Git eklentisi veya farklı bir entegrasyon, SUBDOMAIN/.htaccess oluşturup içine Options FollowSymLinks yazabilir. Bu satır AllowOverride listesinde olmadığı için tüm istekler 403 döner.
rm -f /var/www/vhosts/SITE/SUBDOMAIN/.htaccess
4) public/index.html dosyasını silin
Plesk varsayılan welcome sayfası HTML olarak gelir. Apache DirectoryIndex'te index.html, index.php'den önce listelendiği için Laravel devreye giremez ve kullanıcılar boş Plesk sayfasını görür.
rm -f /var/www/vhosts/SITE/SUBDOMAIN/public/index.html
5) Doğru kullanıcı/grup
Plesk her site için kendi sistem kullanıcısını oluşturur (SITEADI_rastgele). Tüm dosyalar bu kullanıcıya ve psacln grubuna ait olmalıdır:
chown -R SITEADI_xxx:psacln /var/www/vhosts/SITE/SUBDOMAIN
chmod -R 775 /var/www/vhosts/SITE/SUBDOMAIN/storage
chmod -R 775 /var/www/vhosts/SITE/SUBDOMAIN/bootstrap/cache
6) PHP sürümü seçimi
Plesk birden fazla PHP sürümünü paralel barındırabilir. WG Panel için PHP 8.2+ seçili olmalı:
- Websites & Domains → siteadi.com → PHP Settings
- PHP version: 8.2.x veya 8.3.x
- Run PHP as: FPM application served by Apache (önerilen)
7) Apache & nginx ayarları (genelde dokunmaya gerek yok)
Sıfır kurulum paketi, Plesk varsayılanlarıyla çalışır. Ek ayar gerekmez. İleri seviyede özelleştirme yapacaksanız:
- Smart static files processing: Açık kalabilir;
install.phpsayesinde sorun çıkmaz. - Proxy mode: Açık (varsayılan).
- Additional nginx directives: Boş bırakın; ihtiyaç olmadan satır eklemek hata kaynağıdır.
8) Subdomain üretimi
Yeni bir subdomain oluşturduğunuzda Plesk default olarak Document Root'u SUBDOMAIN/httpdocs yapar. Mutlaka SUBDOMAIN/public olarak değiştirin.
9) Storage symlink
Plesk'in File Manager'ı bazı durumlarda symlink'i fiziksel kopyaya çevirir. Eğer logolar görünmüyorsa:
cd /var/www/vhosts/SITE/SUBDOMAIN
rm -rf public/storage
php artisan storage:link
10) Cron tanımı
Plesk → Tools & Settings → Scheduled Tasks → siteadi.com:
- Komut:
php /var/www/vhosts/SITE/SUBDOMAIN/artisan schedule:run - Çalışma sıklığı: Her dakika