# cPanel Kurulum Rehberi — PHP 8.4

Bu paket Composer veya Node.js komutu çalıştırmadan, tarayıcıdaki kurulum sihirbazıyla kurulacak biçimde hazırlanır. cPanel tarafında güncel PHP 8.4 (en az 8.4.1) ve MySQL/MariaDB yeterlidir; PHP 8.5 gerekmez.

## 1. cPanel hazırlığı

1. **MultiPHP Manager** ekranından alan adını **PHP 8.4** sürümüne alın.
2. **Select PHP Version / PHP Extensions** ekranında en az `ctype`, `curl`, `dom`, `fileinfo`, `mbstring`, `openssl`, `pdo`, `pdo_mysql`, `session`, `tokenizer` ve `xml` eklentilerini etkinleştirin.
3. **MySQL Databases** ekranından bir veritabanı ve kullanıcı oluşturun.
4. Kullanıcıyı veritabanına ekleyip **ALL PRIVILEGES / Tüm Yetkiler** seçeneğini verin.
5. Alan adında SSL sertifikasını etkinleştirin.

cPanel veritabanı ve kullanıcı adlarının hesap ön ekiyle birlikte kullanıldığını unutmayın. Örneğin `hesap_monac`.

## 2. Dosyaları yükleme

1. `monac-cpanel-php84.zip` dosyasını cPanel File Manager ile hesabınızdaki uygulama klasörüne yükleyip çıkartın.
2. cPanel **Domains** ekranından alan adının document root değerini paketin `public` klasörüne yönlendirin. Örnek:

```text
/home/cpanel_kullanici/monac/public
```

Uygulama kökünü doğrudan web’e açmayın. `.env`, `storage` ve uygulama kaynakları `public` dışında kalmalıdır.

3. `storage` ve `bootstrap/cache` klasörlerinin PHP tarafından yazılabilir olduğunu kontrol edin. Genellikle `775`, dosyalar için `664` yeterlidir; hosting firmanız farklı bir izin önerebilir.

## 3. Tarayıcıdan otomatik kurulum

Tarayıcıda şu adresi açın:

```text
https://alanadiniz.com/install.php
```

Kurulum anahtarını cPanel File Manager üzerinden şu dosyadan kopyalayın:

```text
storage/app/installer.key
```

Kurulum ekranında:

- Site adı ve HTTPS adresini,
- MySQL sunucusu, portu, veritabanı adı, kullanıcı ve parolayı,
- İlk süper yönetici bilgilerini,
- İsterseniz Cloudflare Turnstile anahtarlarını,
- İsterseniz SMTP bilgilerini

girin. Sistem önce bağlantıyı test eder; ardından `.env` ve güvenli uygulama anahtarını oluşturur, migration ve başlangıç verilerini çalıştırır, yönetici hesabını açar, storage bağlantısını dener ve üretim önbelleklerini hazırlar.

Başarılı kurulum `storage/app/installer.lock` ile kilitlenir ve tek kullanımlık anahtar silinir.

## 4. Kurulum sonrası

1. Güvenlik için `public/install.php` dosyasını File Manager’dan silin.
2. Yönetici girişini ve ürün oluşturma ekranını kontrol edin.
3. Turnstile’ı kurulumda açmadıysanız canlıya geçmeden önce `.env` içinde anahtarları ekleyip `TURNSTILE_ENABLED=true` yapın.
4. E-posta gönderimi kullanacaksanız cPanel Cron Jobs’a her dakika çalışan şu görevi ekleyin:

```bash
cd /home/cpanel_kullanici/monac && /usr/local/bin/php artisan queue:work --stop-when-empty --tries=3 --timeout=120
```

PHP yolu hosting firmasına göre değişebilir. cPanel Terminal’de `which php` komutuyla doğru yolu öğrenin.

Laravel zamanlanmış görevleri için ayrıca:

```bash
cd /home/cpanel_kullanici/monac && /usr/local/bin/php artisan schedule:run
```

komutunu her dakika çalışacak ikinci bir cron olarak ekleyin.

## Sorun giderme

- **500 hatası:** PHP 8.4 seçimini, eklentileri ve `storage` / `bootstrap/cache` izinlerini kontrol edin.
- **MySQL bağlantısı kurulamadı:** cPanel ön ekli tam veritabanı/kullanıcı adını, parolayı ve kullanıcıya verilen yetkileri kontrol edin. Çoğu hostingde sunucu `localhost`, port `3306` olur.
- **Görseller açılmıyor:** cPanel Terminal’den `php artisan storage:link` çalıştırın. Symlink kapalıysa hosting desteğinden etkinleştirmesini isteyin.
- **Eski ayarlar kullanılıyor:** `php artisan optimize:clear` ardından `php artisan optimize` çalıştırın.
- **Kurulumu yeniden yapmak:** Canlı veriyi korumak için installer kilidini elle silmeyin. Yeniden kurulum gerekiyorsa önce veritabanı ve dosya yedeğini alın.
