> ## Documentation Index
> Fetch the complete documentation index at: https://destek.gurstore.net/llms.txt
> Use this file to discover all available pages before exploring further.

# cPanel ile Kurulum (Adım Adım)

> Paylaşımlı/cPanel hosting üzerinde GurStore kurulumu — dosyaları tam olarak hangi klasöre yükleyeceğiniz, public klasörüne domain yönlendirme, veritabanı ve PHP ayarları dahil, ekran ekran.

Bu rehber, **cPanel** panelli paylaşımlı hostinglerde GurStore kurulumunu **hiçbir adımı atlamadan**
anlatır. Sonunda alan adınız GurStore'un `public` klasörünü gösterecek ve `/install` sihirbazına hazır
olacaksınız.

<Note>
  Bütün bunlarla uğraşmak istemiyorsanız [GurStore Hosting](/installation/gurstore-hosting) her adımı
  sizin yerinize yapar; kurulmuş bir mağaza teslim alırsınız.
</Note>

<Info>
  **Başlamadan önce elinizde şunlar olsun:** GurStore ZIP paketi (lisans panelinizden indirdiğiniz),
  cPanel kullanıcı adı + şifreniz ve alan adınız. Alan adınızı henüz sunucuya yönlendirmediyseniz önce
  [Alan Adı & DNS](/installation/domain-dns) sayfasını uygulayın.
</Info>

## 1. PHP Sürümünü ve Eklentileri Ayarlayın

<Steps>
  <Step title="MultiPHP Manager'ı açın">
    cPanel ana ekranında arama kutusuna **MultiPHP** yazın ve **MultiPHP Manager**'a girin. Listeden alan
    adınızı işaretleyin, sağ üstteki **PHP Version** menüsünden **8.3** (yoksa **8.2**) seçin ve **Apply**
    deyin.
  </Step>

  <Step title="Gerekli eklentileri açın">
    Ana ekrana dönün, bu kez **Select PHP Version** (bazı sunucularda **PHP Selector** ya da **PHP
    Extensions**) aracını açın. **Extensions** sekmesinde şunların **işaretli** olduğundan emin olun:

    `pdo` · `openssl` · `mbstring` · `curl` · `tokenizer` · `xml` · `fileinfo` · `bcmath` · `json` ·
    `gd` (veya `imagick`)

    Değişiklikler otomatik kaydolur.
  </Step>
</Steps>

## 2. Veritabanı Oluşturun (MySQL)

<Steps>
  <Step title="MySQL Database Wizard'ı açın">
    Ana ekranda **MySQL® Database Wizard**'a girin.
  </Step>

  <Step title="Adım 1 — Veritabanı adı">
    Bir ad girin, ör. `gurstore`. cPanel buna kullanıcı adınızı ön ek olarak ekler; sonuç
    `kullaniciadi_gurstore` gibi olur. **Bu tam adı not edin.** **Next Step** deyin.
  </Step>

  <Step title="Adım 2 — Veritabanı kullanıcısı">
    Bir kullanıcı adı ve **güçlü bir şifre** girin (cPanel'in Password Generator'ını kullanabilirsiniz).
    Tam kullanıcı adını (`kullaniciadi_gurstore` gibi) ve şifreyi **not edin**. **Create User** deyin.
  </Step>

  <Step title="Adım 3 — Tüm yetkileri verin">
    Açılan izin ekranında **ALL PRIVILEGES** kutusunu işaretleyin ve **Next Step** deyin.
  </Step>
</Steps>

<Warning>
  Kurulum sihirbazında bu üç bilgiyi gireceksiniz: **veritabanı adı**, **kullanıcı adı**, **şifre**.
  cPanel'de veritabanı **host** değeri neredeyse her zaman `localhost`'tur.
</Warning>

## 3. Dosyaları Doğru Klasöre Yükleyin

Burası en kritik adımdır. Alan adınızın türüne göre **doğru klasörü** seçmelisiniz:

<Tabs>
  <Tab title="Ana alan adı (birincil domain)">
    Alan adınız cPanel hesabının **birincil alan adıysa**, hedef klasör:

    ```
    /home/kullaniciadi/public_html
    ```

    Yani cPanel'in **Home** dizinindeki `public_html` klasörü.
  </Tab>

  <Tab title="Addon domain / alt alan adı">
    Alan adınız bir **addon domain** ya da **subdomain** ise, cPanel onu genellikle kendi klasörüne
    kurar, ör:

    ```
    /home/kullaniciadi/magazaniz.com
    ```

    veya

    ```
    /home/kullaniciadi/public_html/magazaniz.com
    ```

    Hangi klasör olduğunu **Domains** aracında alan adınızın **Document Root** sütununda görebilirsiniz.
    GurStore dosyalarını **o klasöre** yükleyeceksiniz.
  </Tab>
</Tabs>

<Steps>
  <Step title="File Manager'ı açın ve hedef klasöre girin">
    cPanel ana ekranında **File Manager**'a girin. Yukarıda belirlediğiniz hedef klasöre çift tıklayarak
    girin (ör. `public_html`).
  </Step>

  <Step title="ZIP paketini yükleyin">
    Üst menüden **Upload** deyin, açılan sayfada **Select File** ile bilgisayarınızdaki GurStore ZIP
    dosyasını seçin. Yükleme %100 olduğunda sekmeyi kapatıp File Manager'a dönün ve **Reload** deyin.
  </Step>

  <Step title="Arşivi çıkarın">
    Yüklenen ZIP dosyasına **sağ tıklayın → Extract** deyin, hedef yolu onaylayın. Çıkarma bitince ZIP
    dosyasını silebilirsiniz.
  </Step>

  <Step title="Klasör yapısını doğrulayın">
    Çıkardıktan sonra bu klasörde `app`, `bootstrap`, `config`, `public`, `artisan`, `.env.example` gibi
    öğeleri görmelisiniz.

    <Warning>
      Bazı ZIP paketleri her şeyi tek bir alt klasöre (`gurstore/`) çıkarır. Böyleyse o klasörün
      **içindeki** tüm dosyaları bir üst dizine taşıyın; `artisan` ve `public` doğrudan hedef klasörde
      olmalı, `.../public_html/gurstore/public` gibi iç içe **olmamalı**.
    </Warning>
  </Step>
</Steps>

## 4. Alan Adını `public` Klasörüne Yönlendirin (EN ÖNEMLİ ADIM)

GurStore, güvenlik için yalnızca `public` klasörünü dışarıya açar. Alan adınız `public` klasörünü
göstermezse, açılışta **HTTP 500** veya kaynak dosyalarının listelenmesi gibi hatalar alırsınız.

<Tabs>
  <Tab title="Yöntem A — Document Root'u değiştir (ÖNERİLEN)">
    <Steps>
      <Step title="Domains aracını açın">
        cPanel ana ekranında **Domains** aracına girin. Alan adınızı bulun.
      </Step>

      <Step title="Document Root'u düzenleyin">
        Alan adının yanındaki **Manage** (veya kalem/düzenle simgesi) ile **Document Root** alanını açın
        ve şunu yazın (klasör yapınıza göre uyarlayın):

        ```
        public_html/public
        ```

        addon domain ise ör. `magazaniz.com/public`. **Update** / **Save** deyin.
      </Step>
    </Steps>

    <Note>
      Bazı paylaşımlı paketlerde Document Root düzenleme kapalıdır. Bu seçeneği göremiyorsanız Yöntem
      B'yi kullanın veya hosting sağlayıcınızdan "belge kökünü `public` alt klasörüne çevirin" desteği
      isteyin.
    </Note>
  </Tab>

  <Tab title="Yöntem B — .htaccess yönlendirmesi">
    Document Root'u değiştiremiyorsanız, hedef klasörün köküne (ör. `public_html/.htaccess`) aşağıdaki
    içerikle bir `.htaccess` oluşturun. Bu, tüm istekleri `public` klasörüne yönlendirir:

    ```apache theme={null}
    <IfModule mod_rewrite.c>
      RewriteEngine On
      RewriteRule ^(.*)$ public/$1 [L]
    </IfModule>
    ```

    <Warning>
      Yöntem A (Document Root) her zaman daha temiz ve güvenlidir; mümkünse onu tercih edin. Yöntem B
      yalnızca Document Root değiştirilemediğinde kullanılmalıdır.
    </Warning>
  </Tab>
</Tabs>

## 5. Yazma İzinlerini Ayarlayın

GurStore'un yazabilmesi gereken klasör ve dosyalar: `storage`, `bootstrap/cache` ve `.env`.

File Manager'da her birine **sağ tıklayın → Change Permissions** ve değeri **755** (veya sorun
yaşarsanız **775**) yapın. `storage` için **Recurse into subdirectories** kutusunu işaretleyin ki alt
klasörler de aynı izni alsın.

<Info>
  `.env` dosyası henüz yoksa dert etmeyin — [Kurulum Sihirbazı](/installation/setup-wizard) veritabanı
  adımında onu sizin için oluşturur. Yalnızca klasörün **yazılabilir** olması yeterlidir.
</Info>

## 6. Kurulum Sihirbazını Çalıştırın

Her şey hazır. Tarayıcıdan şu adrese gidin:

```
https://magazaniz.com/install
```

Ardından [Kurulum Sihirbazı](/installation/setup-wizard) adımlarını izleyin — lisansınızı, 2. adımda
oluşturduğunuz veritabanı bilgilerini ve yönetici hesabınızı orada gireceksiniz.

<Warning>
  `/install` yerine **HTTP 500** görüyorsanız, büyük olasılıkla 4. adım (public yönlendirme) veya 5.
  adım (izinler) eksiktir. Adım adım çözüm için [Sorun Giderme](/installation/troubleshooting)
  sayfasına bakın.
</Warning>

## 7. Zamanlanmış Görev (Cron) Ekleyin

Lisans yenileme, e-posta kuyruğu gibi arka plan işleri için cPanel'de **Cron Jobs** aracına girin ve
**dakikada bir** çalışan şu görevi ekleyin (yolu kendi klasörünüze göre düzeltin):

```bash theme={null}
* * * * * /usr/local/bin/php /home/kullaniciadi/public_html/artisan schedule:run >> /dev/null 2>&1
```

<Tip>
  PHP yolunuzu bilmiyorsanız cPanel **Cron Jobs** sayfasının altında örnek komut satırında görebilir ya
  da hosting desteğinize sorabilirsiniz. Çoğu cPanel'de `/usr/local/bin/php` doğrudur.
</Tip>
