# license.titusdijital.com — Kurulum Rehberi

## 1. MySQL Veritabanı Oluştur (cPanel)

cPanel → MySQL Databases:
1. Yeni veritabanı oluştur (Örn: `titusdij_license`)
2. Yeni kullanıcı oluştur (Örn: `titusdij_licuser`)
3. Kullanıcıya veritabanı üzerinde **Tüm Yetkiler** ver

## 2. Tablo Oluştur (phpMyAdmin)

cPanel → phpMyAdmin → veritabanını seç → SQL sekmesi:

```sql
CREATE TABLE licenses (
    id           INT AUTO_INCREMENT PRIMARY KEY,
    license_key  VARCHAR(64) UNIQUE NOT NULL,
    domain       VARCHAR(128) NOT NULL,
    customer     VARCHAR(128) NOT NULL,
    status       ENUM('active','suspended') DEFAULT 'active',
    expires_at   DATE NOT NULL,
    created_at   DATETIME DEFAULT NOW()
);
```

## 3. db.php Doldur

`db.php` dosyasını açıp şu alanları doldur:
```php
define('DB_NAME', 'titusdij_license');   // oluşturduğun DB adı
define('DB_USER', 'titusdij_licuser');   // oluşturduğun kullanıcı
define('DB_PASS', 'BURAYA_SIFRE');       // kullanıcı şifresi
```

Admin şifresi `ADMIN_PASS` zaten `Biliandev!` olarak ayarlı — değiştirmek istersen bu satırı güncelle.

## 4. Dosyaları Yükle (cPanel File Manager veya FTP)

Bu klasördeki tüm dosyaları `license.titusdijital.com` web root'una yükle:
```
db.php
.htaccess
api/check.php
admin/auth.php
admin/index.php
admin/add.php
admin/edit.php
admin/logout.php
```

## 5. Test Et

Tarayıcıdan: `https://license.titusdijital.com/admin/` → giriş ekranı gelmeli
Şifre: `Biliandev!`

API testi: `https://license.titusdijital.com/api/check.php?k=TESTKEY&d=test.com`
→ `{"status":"inactive","reason":"not_found"}` gelmeli (beklenen)

## 6. Her Müşteri İçin Yapılacaklar

1. Admin panele gir → **+ Yeni Lisans** tıkla
2. Müşteri adı, domain (www. olmadan), bitiş tarihi gir → **Lisans Oluştur**
3. Oluşan **32 karakterlik key'i kopyala** (tek sefer gösterilir!)
4. Müşteri sisteminin `data/config.json` dosyasına ekle:
   ```json
   { "_lk": "KOPYALADIGIN_KEY", ... }
   ```
5. `auth.php`'yi phpobfuscator.com ile obfuscate et → müşteri sunucusuna yükle
6. Test: Sisteme giriş → çalışıyor mu?
7. Test: Admin panelden "Askıya Al" → kilit ekranı çıkıyor mu? → tekrar "Aktifleştir"

## Önemli Notlar

- Key bir kez gösterilir — add.php'de kopyalamayı unutma!
- Domain: `modatekstil.com` (www. olmadan). Sistem `www.modatekstil.com`'u da kabul eder.
- Cache: Sistem her 23 saatte bir kontrol eder. Müşteriyi kilitlemek sonraki 23 saate kadar görünmeyebilir.
  - Acil kilitlemek için müşteri sunucusunda `/tmp/` klasöründeki `.*.dat` dosyasını sil.
- Grace period: Lisans sunucusuna ulaşılamazsa 72 saat daha çalışmaya devam eder.
