# cPanel Deploy Adımları

## A. File Manager'a Yükle
1. cPanel → File Manager → `public_html` üst dizini (home: `~`)
2. `peyzajart-deploy.zip` yükle
3. Zip'i aç → `peyzaj-art` klasörü oluşur (`~/peyzaj-art`)

## B. Node.js App — Kurumsal Site
1. cPanel → Setup Node.js App → Create
   - Node version: 20.x
   - App mode: Production
   - App root: `peyzaj-art/apps/web`
   - App URL: `peyzajart.com`
   - App startup file: `server.js`
2. Save → Run NPM Install
3. `.env.production` dosyasını `.env.local` olarak kopyala:
   ```
   cp apps/web/.env.production apps/web/.env.local
   ```

## C. Node.js App — Bayi Paneli
1. cPanel → Setup Node.js App → Create
   - Node version: 20.x
   - App mode: Production
   - App root: `peyzaj-art/apps/panel`
   - App URL: `panel.peyzajart.com`
   - App startup file: `server.js`
2. Save → Run NPM Install
3. `.env.production` dosyasını `.env.local` olarak kopyala:
   ```
   cp apps/panel/.env.production apps/panel/.env.local
   ```

## D. Veritabanı Kurulumu (Terminal/SSH)
```
cd ~/peyzaj-art
export DATABASE_URL="mysql://gitarfor_peyzajart1:Just8520**@localhost:3306/gitarfor_peyzajart"
npx prisma generate --schema=packages/db/schema.prisma
npx prisma db push --schema=packages/db/schema.prisma
npx ts-node packages/db/seed.ts
```

> Not: `npx ts-node` çalışmazsa: `node --loader ts-node/esm packages/db/seed.ts`
> veya kök `package.json`'daki `npm run db:seed` script'ini kullan.

## E. Restart
Her iki Node.js App için **Restart** butonuna bas.

## F. SSL
cPanel → SSL/TLS → Let's Encrypt:
- `peyzajart.com` ✓
- `www.peyzajart.com` ✓
- `panel.peyzajart.com` ✓

---

## Notlar / Sorun Giderme
- **node_modules zip'te yok** — her app için cPanel "Run NPM Install" ile kurulur. Monorepo workspace olduğundan kök `package.json` ve `packages/*` mevcut olmalı (zip'te var).
- **Prisma binary**: schema `binaryTargets = ["native", "rhel-openssl-1.0.x"]` içerir; cPanel (RHEL/CentOS) için `prisma generate` doğru engine'i üretir.
- **SMTP**: `SMTP_HOST=ares.ixirhost.com`, `SMTP_PORT=465`, `SMTP_SECURE=true` (SSL). Port 587 kullanılırsa `SMTP_SECURE=false` yap.
- **İyzico**: `.env.production` içindeki `IYZICO_API_KEY` / `IYZICO_SECRET_KEY` placeholder — canlı anahtarlarla değiştir. `IYZICO_BASE_URL=https://api.iyzipay.com` (production).
- **İlk admin**: seed `ADMIN / Admin2024!` oluşturur — **canlıda ilk girişte şifreyi değiştir**.
- **Görseller**: Panel'den yüklenen ürün görselleri `apps/panel/public/uploads/`'a yazılır; kurumsal site ayrı app olduğundan `apps/web/public/uploads/`'a da erişmesi gerekir — cPanel'de ortak dizine symlink değerlendirilebilir.
- **Banka bilgileri**: `NEXT_PUBLIC_BANK_IBAN` placeholder — gerçek IBAN ile güncelle.
