# Hesaplar

Liste görünümü kullanıcı adı, birincil domain, paket, web sunucusu tipi, durum, disk kullanımı ve kebab menüsünü (Görüntüle, Düzenle, Askıya al, Sonlandır) gösterir. Filtreler: arama, durum, paket, web sunucusu, bayi.

### Oluşturma Sihirbazı

| Alan | Zorunlu | Notlar |
|---|---|---|
| Kullanıcı adı | evet | 3–16 karakter, küçük harf ve rakam, harfle başlar (alt çizgi yok). Linux kullanıcısı olur. |
| Birincil domain | evet | DNS'e karşı denetlenmez — ad nereye çözümlenirse çözümlensin hesap oluşturulur. Otomatik SSL'in Let's Encrypt siparişi ancak ad bu sunucuya çözümlendiğinde başarılı olur; başarısız sipariş hesap sayfasında tamamlanamayan bir kurulum adımı olarak listelenir. Başka bir hesabın zaten sunduğu bir ad (birincil domain, eklenti, park edilmiş domain ya da alt alan adı olarak) `409 ACCOUNT_EXISTS` ile reddedilir — oluşturmada ve bir hesabın birincil domaini değiştirilirken; bu durumda hiçbir şey değişmez. |
| Paket | evet | Veya paket limitlerini elle seçmek için "Özel". |
| Web sunucusu tipi | evet | `nginx`, `nginx_apache`, `openlitespeed`, `litespeed` (son ikisi ilgili plugin'in aktif olmasını gerektirir). `apache` (tek başına Apache) yalnız tek başına Apache ile kurulmuş sunucuda listelenir; nginx ya da nginx + Apache sunucusunda `apache` isteyen API çağrısı `nginx_apache` (nginx arkasında Apache) alır — genel portları nginx tuttuğu için yalnız Apache'deki bir siteye trafik gelmez. |
| PHP sürümü | evet | `config.php.installed_versions` içinden biri. Varsayılan = `config.php.default_version`. |
| Hesap IP'si | isteğe bağlı | Varsayılan olarak birincil sunucu IP'sidir. SNI ayrımı için ikincil bir IP seçin. |
| Parola | evet | En az 8 karakter, en fazla 72 bayt (UTF-8; ASCII dışı bir karakter birden fazla bayt sayılır). Bcrypt ile hash'lenir, oluşturma anında diyalog tarafından bir kez gösterilir. Aynı sınır hesap parola diyaloğu için de geçerlidir. |
| E-posta | isteğe bağlı | Parola sıfırlama ve bildirimler için kullanılır. |
| Otomatik SSL | evet | Hesap oluşturulduktan sonra birincil domain için arka planda Let's Encrypt sertifikası ister; önce kendi DNS denetimini yapmaz (bkz. *Birincil domain*). Başarısız sipariş hesabı geri almaz, hesap sayfasında tamamlanamayan bir kurulum adımı olarak listelenir. Daha sonra düzenleme formunda kapatılırsa birincil domain düz HTTP'ye döner ve sertifikası silinir. |
| Mail + DNS kurulumu | evet | Postfix sanal posta kutuları, OpenDKIM anahtarı, PowerDNS bölgesi sağlanır. |

Sihirbaz sunucu tarafında tek bir transaction olarak çalışır — başarısızlıklar kullanıcıyı geri alır (sahipsiz Linux kullanıcısı kalmaz, sahipsiz vhost kalmaz).

### Hesap Detayı

Sekme yoktur; sayfa kartlardan oluşur: işlemler (Hesap Düzenle, İstemci Paneline Giriş, Parola Değiştir, IP Adresi Değiştir, Askıya Al / Askıdan Çıkar, Sonlandır), Kullanım Trendleri (disk, CPU, bellek), pakete göre kullanım (disk, bant genişliği, CPU, bellek, süreçler, domainler, veritabanları, e-posta hesapları, FTP hesapları), Hesap Bilgileri — Ana Dizin satırı Dosya Yöneticisi'ni hesabın ev dizininde açar — ve Paket Limitleri (bayide Bayi Limitleri de). Hesabın domainleri, veritabanları, posta kutuları ve dosyaları kendi sayfalarında yönetilir (bkz. § 11).

### Askıya Al / Askıdan Kaldır / Sonlandır

- **Askıya al** mail teslimini durdurur, birincil domainin ve her addon, subdomain ve park edilmiş domainin vhost'unu 503 sayfasına yeniden yazar, SSH'ı engeller, hesabın tüm FTP kullanıcılarını devre dışı bırakır (daemon bir sonraki girişi reddeder) ve Linux hesap bayraklarına yansıtır. Askıya alınmış vhost'u web sunucusunun yapılandırma testinden geçmeyen domain olduğu gibi bırakılır ve denetim kaydında adıyla anılır (`vhosts_left_serving`); geri kalanlar askıya alınır.
- **Askıdayken** hesabın domainleri üzerlerinde ne değişirse değişsin 503 sayfasını sunmayı sürdürür: PHP sürümü, SSL, yönlendirme, WAF ya da özel vhost değişikliği askının kenara ayırdığı yapılandırmaya kaydedilir ve hesap askıdan kaldırılınca geçerli olur. Askıdaki hesaba domain eklenemez — addon, subdomain ya da park edilmiş domain, hesap askıdan kaldırılana kadar `403 ACCOUNT_SUSPENDED` ile reddedilir.
- **Askıdan kaldır** askıya almanın kapattığı vhost'ları askı sırasında yapılan değişikliklerle, kimlik bilgilerini, FTP kullanıcılarını ve hesabın kendi SSH / Kabuk Erişimi ayarını geri yükler (kabuksuz açılan hesap kabuk kazanmaz).
- **Parola Değiştir** hesabın varsayılan FTP kullanıcısına (`<kullanıcı>_<kullanıcı>`) da yeni parolayı verir; hesabın kendi eklediği FTP kullanıcıları parolalarını korur.
- **Sonlandır** yıkıcıdır ve şu kaskadı çalıştırır: SSL → DNS → DB → FTP → PHP-FPM pool → vhost → yedekler → kullanıcı; hesabın panel bildirimleri ve bildirim ayarları da onunla gider, böylece aynı kullanıcı adıyla sonradan açılan hesap hiçbirini görmez. Verilerin kalıcı olarak silineceğini söyleyen düz bir onay diyaloğundan sonra çalışır; bir şey yazmak gerekmez.

### Bayi Anahtarı

Herhangi bir hesap bayi haline gelebilir. İşaretlendiğinde hesap kendi scope'lu hesap ağacını kazanır ve kendisine bir **Bayi ACL paketi** (bkz. § 5) atanabilir. Paket atamak zorunlu değildir: paketi olmayan bayi kısıtsızdır. Atamayı kaldırmak için hesap düzenleme formunda **ACL Paketi Yok** seçeneğini kullanın. Bir bayi sonlandırıldığında alt hesapları da onunla birlikte sonlandırılır (onay iletişim kutusu bunu söyler). Bayi askıya alındığında aktif alt hesapları da askıya alınır; askıdan çıkarıldığında bayiyle birlikte askıya alınmış olanlar da geri açılır. Bu alt hesapların her biri doğrudan askıya almadaki gibi askıya alınır: siteler, oturum açma, cron, FTP girişleri, posta ve barındırılan uygulamalar. Hâlâ alt hesabı olan bir bayi düz hesaba çevrilemez — önce alt hesapları taşıyın ya da sonlandırın.

### SSH / Kabuk Erişimi

Hesap oluşturma ve düzenleme formlarında **SSH / Kabuk Erişimi** anahtarı vardır. Hesabın
sistem kullanıcısının login kabuğunu belirler ve kapalıyken hesabı SSH sunucusunun kendisinde
de reddeder — yani kabuk da, SFTP de, port yönlendirme de kapanır. Site, cron görevleri, dosya
yöneticisi ve FTP her iki durumda da etkilenmez: panel bu işleri kendi kabuğuyla çalıştırır.

Yeni hesaplar anahtar **kapalı** oluşturulur. Hâlihazırda var olan hesaplar, bir operatör
değiştirene kadar mevcut kabuklarını korur; form hesabın depolanan değerini değil **gerçek**
kabuğunu gösterir.

Kabuk erişimi **olan** bir hesabın localhost'ta dinleyen servislere (veritabanı sunucusu dahil)
ulaşabileceğini ve bunun hesap bazlı hiçbir ayarla engellenemeyeceğini unutmayın. Bilinçli verin.

**Kullanılan endpoint'ler:** `GET /accounts`, `POST /accounts`, `GET /accounts/{u}`, `PUT /accounts/{u}`, `DELETE /accounts/{u}`, `POST /accounts/{u}/suspend`, `POST /accounts/{u}/unsuspend`, `PATCH /accounts/{u}/password`, `GET /accounts/{u}/usage`.

---
