# WHM ile kurulum — adım adım

Hiç WHM kullanmamış biri için yazıldı. Sırayla uygula, atlama.

---

## Önce şunu anla: WHM ≠ cPanel

Bu ikisini karıştırmak en sık yapılan hata.

| | WHM | cPanel |
|---|---|---|
| Ne yönetir | **Sunucunun tamamını** | **Tek bir hesabı** |
| Kim girer | Sen (root) | Hesap sahibi |
| Adres | `:2087` | `:2083` |
| Burada ne yaparsın | Hesap açarsın, sunucu ayarı yaparsın | Dosya yüklersin, veritabanı açarsın |

**Sıralama:** Önce WHM'den bir hesap açacaksın. Sonra o hesabın cPanel'ine girip
panel dosyalarını yükleyeceksin. WHM'de dosya yüklemeye çalışma, orası o iş için değil.

---

## Erişim adresin ne olacak

Panele şu adresten gireceksin:

```
https://kaju.oykuajans.com/panel/
```

Bu **yeni domain satın almak değil** — elindeki `oykuajans.com` alan adının
altına eklenen ücretsiz bir ad. WHM hesabı açarken DNS kaydını genellikle
kendiliğinden oluşturur.

> Alan adını hiç kullanmak istemezsen `https://websunucu.oykuajans.com/~kaju/panel/`
> yolu da mümkün, ama fazladan ayar ister ve SSL alamaz. Adım 3'e bak.

---

## Adım 1 — WHM'e gir

Tarayıcıda:

```
https://websunucu.oykuajans.com:2087
```

Kullanıcı adı `root`, şifresi sunucuyu aldığında sana verilen şifre.

Sertifika uyarısı çıkarsa "Gelişmiş → Devam et" de. Kendi sunucun, sorun değil.

---

## Adım 2 — cPanel hesabı aç

Sol üstteki arama kutusuna **`Create a New Account`** yaz, çıkan sonuca tıkla.
(Menüden: **Account Functions → Create a New Account**)

Doldurulacak alanlar:

| Alan | Ne yazacaksın | Açıklama |
|---|---|---|
| **Domain** | `kaju.oykuajans.com` | Zorunlu alan, boş bırakılamaz. Nameserver'lar kendi sunucundaysa DNS kaydı otomatik oluşur. |
| **Username** | `kaju` | Dosyaların duracağı `/home/kaju` klasörünün adı. Kısa ve harflerden oluşsun. |
| **Password** | güçlü bir şifre | Yanındaki **Password Generator**'ı kullan, çıkan şifreyi bir yere kaydet. |
| **Email** | kendi e-postan | Uyarılar buraya gelir. |

Alt taraftaki **Package** bölümünde hazır bir paket varsa seç. Yoksa
**Select Options Manually** deyip şunları ver:

- Disk Quota: `5000` MB (fotoğraflar için fazlasıyla yeter)
- Monthly Bandwidth: `unlimited`
- Max Databases: `5`
- Max Email Accounts: `0` (panel e-posta kullanmıyor)

En altta **Create** butonuna bas. Yeşil "Account Creation Complete" yazısını
görene kadar bekle.

---

## Adım 3 — DNS'i doğrula (çoğu zaman zaten hazır)

Hesabı `kaju.oykuajans.com` adıyla açtıysan ve alan adının nameserver'ları
kendi sunucunda ise (`ns1.oykuajans.com` / `ns2.oykuajans.com`), **WHM DNS
kaydını hesap açılırken kendiliğinden oluşturur.** Ekstra bir şey yapman gerekmez.

Kontrol etmek için tarayıcıda `http://kaju.oykuajans.com` adresini aç.
"Not Found" veya boş bir sayfa görüyorsan DNS çalışıyor demektir — dosyalar
henüz yüklenmediği için o hatayı veriyor, sorun yok.

Sayfa hiç açılmıyorsa (`DNS_PROBE_FINISHED_NXDOMAIN`), kaydı elle ekle:
WHM → **DNS Zone Manager** → `oykuajans.com` → **Manage** → **Add Record**:
Type `A`, Name `kaju`, Address = sunucunun IP'si. 5–30 dakika bekle.

> **Alan adı hiç kullanmak istemiyorsan:** `~kullanıcı` yolu da var, ama
> WHM → **Security Center → Apache mod_userdir Tweak**'ten `kaju` hesabını
> korumadan muaf tutman gerekir; yoksa `403 Forbidden` alırsın. DNS zaten
> çalışıyorsa bu yola hiç girme — alan adı hem kısa hem SSL alabiliyor.

---

## Adım 4 — Dosyaları yükle

Şimdi cPanel tarafına geçiyoruz.

WHM aramasına **`List Accounts`** yaz. Listede `kaju` hesabını bul, satırın
solundaki **cPanel simgesine** tıkla — şifre sormadan hesabın paneline girer.

cPanel içinde:

1. **Files → File Manager**
2. Sol ağaçtan **`public_html`** klasörüne çift tıkla
3. Üstten **Upload** → `kaju-panel.zip` dosyasını seç, yüklenmesini bekle
4. **Go Back to ...** linkiyle File Manager'a dön, **Reload** de
5. `kaju-panel.zip` üzerine **sağ tık → Extract** → **Extract Files**

Artık `public_html/panel/` klasörü oluştu. ZIP dosyasını silebilirsin
(sağ tık → Delete).

---

## Adım 5 — Veritabanı oluştur

cPanel içinde **Databases → MySQL® Databases**.

**a) Veritabanı:**
"Create New Database" kutusuna `panel` yaz → **Create Database**.
Tam adı `kaju_panel` olacak — **cPanel başına hesap adını otomatik ekler.**
Bu tam adı bir yere not et.

**b) Kullanıcı:**
Sayfayı aşağı kaydır, "MySQL Users → Add New User":
- Username: `panel` (tam adı `kaju_panel` olacak)
- Password: **Password Generator** ile üret, **kaydet**
- **Create User**

**c) Kullanıcıyı veritabanına bağla:**
"Add User To Database" bölümünde:
- User: `kaju_panel`
- Database: `kaju_panel`
- **Add**
- Açılan izin ekranında **ALL PRIVILEGES** kutusunu işaretle → **Make Changes**

Bu son adımı atlarsan panel "veritabanına bağlanılamadı" der.

---

## Adım 6 — Bağlantı bilgilerini gir

File Manager → `public_html/panel/inc/` → `config.php` dosyasına
**sağ tık → Edit** (uyarı çıkarsa **Edit** de geç).

Şu dört satırı doldur:

```php
defined('DB_HOST') || define('DB_HOST', 'localhost');
defined('DB_NAME') || define('DB_NAME', 'kaju_panel');
defined('DB_USER') || define('DB_USER', 'kaju_panel');
defined('DB_PASS') || define('DB_PASS', 'ADIM-5B-DEKI-SIFRE');
```

`BASE_URL` satırına **dokunma**, boş kalsın — panel hangi klasörde çalıştığını
kendisi buluyor.

**Save Changes**.

---

## Adım 7 — İzinler

File Manager'da `public_html/panel/uploads` klasörüne **sağ tık →
Change Permissions** → **755** olsun (Read/Write/Execute owner, Read/Execute diğerleri).

Fotoğraf yüklenmiyorsa sorun neredeyse her zaman burasıdır.

---

## Adım 8 — Kurulumu çalıştır

Tarayıcıda aç:

```
https://kaju.oykuajans.com/panel/kurulum.php
```

- İşletme adı: `Kaju Pet Club`
- Kullanıcı adı ve şifre belirle (en az 8 karakter)
- **Kurulumu tamamla**

Tablolar otomatik oluşur, sayfa kendini kapatır. Artık giriş yapabilirsin.

---

## Adım 9 — Ücretsiz SSL (AutoSSL)

Hesap ilk açıldığında sertifika **self-signed** olur ve tarayıcı "güvenli değil"
uyarısı verir. Ücretsiz gerçek sertifika almak için:

**cPanel'den (kolay yol):** **Güvenlik → SSL/TLS Durumu** → alan adını işaretle
→ **Run AutoSSL**. Birkaç dakika sürer.

**WHM'den:** arama kutusuna `Manage AutoSSL` → **Manage Users** sekmesi →
`kaju` satırında **Check** butonu.

Sertifika gelince adres `https://` ile açılır ve uyarı kalkar.

> **Bu adım PWA için şart.** iPhone'da "Ana Ekrana Ekle" ile tam ekran uygulama
> görünümü (service worker) geçerli bir HTTPS sertifikası istiyor.

---

## Sorun giderme

| Belirti | Sebep |
|---|---|
| `403 Forbidden` | Yalnızca `~kullanıcı` yolunu kullanıyorsan: mod_userdir muafiyeti verilmemiş (Adım 3 notu) |
| "Veritabanına bağlanılamadı" | Adım 5c atlandı (ALL PRIVILEGES) veya Adım 6'daki şifre yanlış |
| Beyaz sayfa | `inc/config.php` içinde `DEBUG` değerini geçici olarak `true` yap, hatayı oku, sonra `false`'a çevir |
| Fotoğraf yüklenmiyor | `uploads` izni 755 değil |
| Türkçe karakter bozuk | Veritabanı derlemesi `utf8mb4_unicode_ci` değil |
| "Güvenli değil" uyarısı | AutoSSL çalıştırılmamış (Adım 9) |
| Kurulum sayfası "zaten tamamlanmış" diyor | Tablolar var, `index.php`'den giriş yap |

---

## Veri taşınabilirliği

Şimdi veri girmeye başlayabilirsin, hiçbiri kaybolmaz. İleride başka bir
sunucuya veya alan adına geçersen taşınacak olan sadece iki şey:

1. **Veritabanı** — cPanel → phpMyAdmin → Export (tek dosya)
2. **`panel/uploads` klasörü** — fotoğraflar

Panelin kodunda sabit yol veya sabit alan adı yok; ZIP'i yeni yere açıp
`config.php`'yi doldurmak yeterli.

---

OX Digital Solutions
