# NetSahibi Balıkçı Kooperatif CMS — Kurulum Kılavuzu

Balıkçı kooperatifleri için web sitesi, üye portalı, peron yönetimi, aidat/borç ve gelir-gider muhasebesi sunan Laravel tabanlı CMS uygulamasıdır.

**Demo:** https://marina.netsahibi.com  
**Lisans öneki:** `NS-BCM`  
**Destek:** https://www.netsahibi.com

---

## 1. Sunucu gereksinimleri

| Gereksinim | Minimum |
|------------|---------|
| PHP | 8.2 veya 8.3 |
| Veritabanı | MySQL 5.7+ / MariaDB 10.3+ |
| Web sunucu | Apache (mod_rewrite) veya Nginx |
| Disk | 500 MB+ (yüklemeler dahil) |
| SSL | Önerilir (HTTPS) |

**PHP eklentileri:** `pdo`, `pdo_mysql`, `mbstring`, `openssl`, `tokenizer`, `xml`, `ctype`, `json`, `fileinfo`, `gd`, `zip`, `bcmath`, `intl`

**Yazılabilir klasörler:**
- `storage/` (775)
- `bootstrap/cache/` (775)

---

## 2. Paket içeriği

ZIP açıldığında Laravel uygulama kökü elde edilir. **Belge kökü (document root) mutlaka `public/` klasörü olmalıdır.**

```
site-kok/
├── app/
├── bootstrap/
├── config/
├── database/
├── public/          ← Document root buraya
│   ├── index.php
│   └── install.php  ← İlk kurulum sihirbazı
├── resources/
├── routes/
├── storage/
├── artisan
├── composer.json
└── KURULUM.md
```

---

## 3. cPanel kurulumu

1. **Dosyaları yükleyin**  
   ZIP içeriğini `public_html` üst klasörüne veya alt domain klasörüne çıkarın (ör. `/home/kullanici/marina/`).

2. **Document root ayarlayın**  
   cPanel → **Domains** → ilgili domain → **Document Root** → `.../marina/public` olarak güncelleyin.

3. **MySQL veritabanı oluşturun**  
   cPanel → **MySQL Databases** → yeni veritabanı + kullanıcı + tüm yetkiler.

4. **PHP sürümünü seçin**  
   cPanel → **Select PHP Version** → PHP 8.2 veya 8.3, gerekli eklentileri etkinleştirin.

5. **Kurulum sihirbazını çalıştırın**  
   Tarayıcıda: `https://siteniz.com/install.php`  
   - Veritabanı bilgileri  
   - NetSahibi lisans anahtarı (`NS-BCM-...`)  
   - Site URL (`https://siteniz.com`)  
   - Yönetici e-posta ve şifre  

6. **Cron ekleyin** (Zorunlu — aidat, faiz, hatırlatma mailleri)  
   cPanel → **Cron Jobs** → her dakika:
   ```bash
   * * * * * cd /home/kullanici/marina && /usr/local/bin/php artisan schedule:run >> /dev/null 2>&1
   ```
   PHP yolunu sunucunuza göre düzenleyin (`which php`).

7. **Kurulum sonrası**  
   `install.php` otomatik silinir. Yönetim paneli: `https://siteniz.com/admin`

---

## 4. Plesk kurulumu

1. **Dosyaları yükleyin** (FTP veya Dosya Yöneticisi).
2. **Hosting Settings** → Document root → `public` klasörünü seçin.
3. **Databases** → Add Database → kullanıcı ve şifre kaydedin.
4. **PHP Settings** → PHP 8.2+, eklentileri etkinleştirin.
5. `https://domain.com/install.php` adresini açın ve sihirbazı tamamlayın.
6. **Scheduled Tasks** → her dakika `php artisan schedule:run` (uygulama kökünden).

---

## 5. VPS / aaPanel kurulumu

```bash
# Örnek dizin
SITE=/www/wwwroot/kooperatif.example.com
unzip netsahibi-balikci-kooperatif-cms-v1.0.0.zip -d $SITE

cd $SITE
composer install --no-dev --optimize-autoloader

# .env oluşturun veya install.php kullanın
cp .env.example .env
php artisan key:generate

# Nginx document root: $SITE/public
# MySQL: veritabanı + kullanıcı oluşturun

php artisan migrate --force --seed   # veya install.php
php artisan storage:link
php artisan config:cache
php artisan route:cache
php artisan view:cache

chown -R www:www storage bootstrap/cache
chmod -R 775 storage bootstrap/cache
```

**Cron (root veya site kullanıcısı):**
```bash
* * * * * cd /www/wwwroot/kooperatif.example.com && php artisan schedule:run >> /dev/null 2>&1
```

---

## 6. Lisans anahtarı

- Satın alma sonrası NetSahibi lisans panelinden `NS-BCM-XXXX-XXXX-XXXX` formatında anahtar verilir.
- Her lisans **tek domain** için geçerlidir.
- Domain değişikliği için https://www.netsahibi.com üzerinden iletişime geçin.
- Demo anahtarı yalnızca `marina.netsahibi.com` için geçerlidir.

`.env` örneği:
```env
LICENSE_KEY=NS-BCM-XXXX-XXXX-XXXX
LICENSE_PRODUCT=netsahibi-balikci-kooperatif-cms
SUPER_ADMIN_EMAIL=admin@kooperatif.com
```

---

## 7. İlk yapılandırma (kurulum sonrası)

1. **Yönetim → Site Ayarları** — kooperatif adı, logo, iletişim, footer  
2. **Ödeme / IBAN** — banka bilgileri  
3. **Bağlama Peronları** — peron bölgelerini senkronize edin  
4. **Yönetim Ünvanları** — yönetim kadrosu ünvanları  
5. **Site yayın** — “Site yayında” seçeneğini açın  
6. **Üyeler** — asil/yedek üye kayıtları ve portal hesapları  

**Varsayılan süper yönetici:** `.env` içindeki `SUPER_ADMIN_EMAIL` — şifresi yalnızca sunucu üzerinden değiştirilir.

---

## 8. Zamanlanmış görevler

Uygulama şu görevleri otomatik çalıştırır (cron şart):

| Görev | Zaman | Açıklama |
|-------|-------|----------|
| Aylık aidat borçlandırma | Her ayın 1'i 08:00 | Aktif üyelere aidat |
| Gecikme faizi | Her gün 00:30 | Gecikmiş borçlara faiz |
| Hatırlatma e-postası | Her gün 09:00 | Vade 3 gün önce |
| Aylık borç bildirimi | Her ayın 1'i 09:00 | WhatsApp/SMS (yapılandırılırsa) |

Cron olmadan aidat ve hatırlatmalar **çalışmaz**.

---

## 9. E-posta (SMTP)

`.env` dosyasında SMTP ayarlarını yapın:

```env
MAIL_MAILER=smtp
MAIL_HOST=mail.siteniz.com
MAIL_PORT=587
MAIL_USERNAME=...
MAIL_PASSWORD=...
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=info@kooperatif.com
MAIL_FROM_NAME="Kooperatif Adı"
```

---

## 10. Sorun giderme

| Sorun | Çözüm |
|-------|--------|
| 500 hatası | `storage/logs/laravel.log` inceleyin; izinleri 775 yapın |
| install.php açılmıyor | Document root `public/` mi kontrol edin |
| Lisans hatası | `LICENSE_KEY` ve domain eşleşmesini doğrulayın |
| Görseller yüklenmiyor | `php artisan storage:link` çalıştırın |
| CSS/JS 404 | `.htaccess` (Apache) veya Nginx `try_files` ayarı |
| Aidat oluşmuyor | Cron tanımlı mı kontrol edin |

**Cache temizleme:**
```bash
php artisan optimize:clear
```

---

## 11. Güvenlik notları

- Kurulumdan sonra `install.php` dosyasının silindiğinden emin olun.
- `.env` dosyasını web üzerinden erişilemez tutun.
- Yönetici şifrelerini güçlü tutun; düzenli yedek alın.
- SSL (HTTPS) kullanın.

---

## 12. Destek

- Web: https://www.netsahibi.com  
- Lisans: https://www.netsahibi.com/admin/licenses.php  
- Dosyalar: https://www.netsahibi.com/dosyalar  

NetSahibi İnternet Hizmetleri — Balıkçı Kooperatif CMS Uygulaması
