# ⚠️ PANDUAN: UPLOAD SELURUH PROJECT vs SELECTIVE

**Pertanyaan:** "Bisa upload seluruh /tracker/ terus rename .env.webhost dan isi kredensial?"

**Jawab:** ✅ **BISA, TAPI perlu dipahami!** - Berikut penjelasan detail.

---

## 🚨 MASALAH DENGAN "UPLOAD SEMUANYA"

### **❌ FILE YANG JANGAN DIUPLOAD**

```
1. ❌ .env.local                        - Hanya untuk LOCALHOST
                                         - Berisi credentials localhost
                                         - JANGAN upload ke webhost!

2. ❌ agent-csharp/                     - Folder C# Windows Service
                                         - Bukan untuk webhost PHP
                                         - Hanya untuk local development

3. ❌ database/*.sql                    - SQL files sudah di-execute
                                         - tidak perlu di-copy lagi
                                         - Cukup import 1x di phpmyadmin

4. ❌ Documentation files (*.md)        - QUICK_START_GUIDE.md, dll
                                         - Hanya untuk reference
                                         - Tidak perlu di-webhost

5. ❌ Test files (test-*.php)           - Testing scripts lokal
                                         - Bukan production code
                                         - Jangan expose di webhost

6. ❌ .qodo/, delete/, query/ folders  - Temporary/debug folders
                                         - Tidak ada gunanya di webhost

7. ❌ .git/                             - Version control files
                                         - Mengandung history sensitif
                                         - SECURITY RISK jika di-expose
```

**Total yang harus DIKECUALIKAN: ~10-15 item**

---

## ✅ YANG BOLEH DIUPLOAD

```
✅ api/
   ├── index.php                      [PENTING!]
   ├── config/
   ├── controllers/

✅ dashboard/
   ├── index.php
   ├── login.php
   ├── logout.php
   ├── assets/
   ├── config/
   ├── controllers/
   └── views/

✅ config/
   ├── EnvironmentHelper.php
   ├── Config.php
   └── Database.php

✅ Root files:
   ├── .htaccess                      [URL rewriting]
   ├── index.php
   └── .env.webhost                   [CONFIG - INI YANG PENTING!]
```

---

## ⚠️ TENTANG ".env.webhost"

### **Pertanyaan Anda: "Rename .env.webhost saja?"**

**PENJELASAN:**

```
❌ JANGAN rename .env.webhost!
❌ JANGAN rename menjadi .htaccess.webhost!

WHY:
- .env.webhost adalah FILE KONFIGURASI PHP
  └─ Contains: Database credentials, API settings, environment flags
  
- .htaccess adalah FILE REWRITING URL (berbeda fungsi!)
  └─ Contains: URL rewriting rules untuk REST API

- Jika di-rename, Server TIDAK BISA menemukan credentials!
  └─ Result: Database connection FAILED
  └─ Result: 500 error di semua halaman
```

**YANG SEHARUSNYA DILAKUKAN:**

```
✅ .env.webhost   → UPLOAD AS IS (jangan rename)
✅ .htaccess      → UPLOAD AS IS (separate file)

Kemudian:
✅ EDIT .env.webhost credentials via cPanel File Manager
   atau SSH:
   
   nano .env.webhost
   
   Ubah:
   DB_HOST=localhost
   DB_USER=lppmunu1_tracker
   DB_PASS=Cargo2026#       ← UPDATE ini dengan actual password
   DB_NAME=lppmunu1_tracker
   
   Save (Ctrl+O, Enter, Ctrl+X)
```

---

## 🎯 SOLUSI TERBAIK: SELECTIVE UPLOAD

### **OPSI 1: Upload Hanya Yang Perlu (RECOMMENDED)**

**Kelebihan:**
- ✅ Cepat (hanya 25+ file)
- ✅ Aman (tidak upload junk files)
- ✅ Clean installation
- ✅ Lebih aman security-wise

**Caranya:**
```
1. Buka FTP/SFTP (WinSCP, Filezilla)
2. Navigate ke: /home/lppmunu1/public_html/tracker.lppmunud.id/
3. Drag-drop HANYA folder/file yang diperlukan:
   - api/
   - dashboard/
   - config/
   - .env.webhost
   - .htaccess
   - index.php
```

**Time: ~30 menit**

---

### **OPSI 2: Upload Semuanya + Filter**

**Kelebihan:**
- ✅ Lebih mudah (seluruh folder)
- ✅ Tidak perlu select-select

**Kekurangan:**
- ❌ Upload junk files (slower)
- ❌ Need manual cleanup
- ❌ Security risk (exposed files)

**Jika pilih ini:**

```
1. Upload seluruh /tracker/ folder ke webhost
2. KEMUDIAN remote delete files yang tidak perlu:
   
   Via SSH:
   rm -rf agent-csharp/
   rm -rf database/*.sql
   rm -rf .qodo/
   rm -rf delete/
   rm -rf query/
   rm -rf *.md              (semua documentation)
   rm -rf test-*.php
   rm -rf .git/             (if exists)
   rm .env.local
   
3. EDIT .env.webhost untuk credentials
4. Set permissions: chmod 755 folders, 644 files
```

**Time: ~45 menit (lebih lama gara-gara cleanup)**

---

## 💡 REKOMENDASI SAYA

**GUNAKAN OPSI 1 (Selective Upload)** karena:

```
✅ Lebih cepat (30 menit vs 45 menit)
✅ Lebih aman (tidak expose unnecessary files)
✅ Lebih clean (hanya production files)
✅ Lebih profesional
```

---

## 🔐 CARA PROPERLY SET .env.webhost

### **Step 1: Upload .env.webhost PERTAMA**
```
Naik ke webhost terlebih dahulu
```

### **Step 2: Edit credentials via cPanel**

**Via cPanel File Manager:**
```
1. Login ke cPanel
2. Go to: File Manager
3. Navigate: /home/lppmunu1/public_html/tracker.lppmunud.id/
4. Right-click .env.webhost
5. Edit
6. Update credentials:

DB_HOST=localhost
DB_USER=lppmunu1_tracker
DB_PASS=Cargo2026#          ← UPDATE ini!
DB_NAME=lppmunu1_tracker
API_URL=http://tracker.lppmunud.id
APP_ENV=production
```

**Via SSH (Linux Terminal):**
```bash
ssh user@tracker.lppmunud.id

cd /home/lppmunu1/public_html/tracker.lppmunud.id/

nano .env.webhost

# Edit file, terutama:
# DB_PASS=   <- Ganti dengan password actual
# DB_USER=   <- Verify correct

# Save: Ctrl+O, Enter, Ctrl+X
```

### **Step 3: Verify**
```bash
cat .env.webhost    # Lihat isi file
chmod 600 .env.webhost  # Secure permissions (read-only for server)
```

---

## ✅ JANGAN LUPA!

```
POIN PENTING:

1. ⚠️ .env.webhost JANGAN di-rename!
   └─ Gunakan exactly "
.env.webhost"

2. ⚠️ .env.local JANGAN diupload ke webhost!
   └─ Itu hanya untuk localhost

3. ⚠️ Database credentials harus BENAR!
   └─ Jika salah: 500 error di semua halaman

4. ✅ .htaccess BOLEH dan HARUS diupload!
   └─ File URL rewriting terpisah dari .env.webhost

5. ✅ Set permissions 600 untuk .env.webhost
   └─ chmod 600 .env.webhost
   └─ Jangan 644!
```

---

## 📋 CHECKLIST UNTUK ANDA

### **Jika pilih OPSI 1 (Selective - Recommended):**

```
☐ Buka WinSCP/Filezilla
☐ Connect ke tracker.lppmunud.id
☐ Navigate ke /home/lppmunu1/public_html/tracker.lppmunud.id/
☐ Drag-drop HANYA: api/, dashboard/, config/
☐ Upload .env.webhost (JANGAN .env.local!)
☐ Upload .htaccess
☐ Upload index.php
☐ Right-click folders → Properties → 755
☐ Right-click .php files → Properties → 644
☐ Right-click .env.webhost → Properties → 600
☐ Via cPanel/SSH, edit .env.webhost
☐ Update DB credentials
☐ Test dengan curl atau browser
```

**Total time: ~30 menit ✅**

---

### **Jika pilih OPSI 2 (Upload All + Cleanup):**

```
☐ Upload seluruh /tracker/ folder
☐ Via SSH: rm -rf agent-csharp/
☐ Via SSH: rm -rf database/
☐ Via SSH: rm -rf .qodo/, delete/, query/
☐ Via SSH: rm -rf *.md (documentation)
☐ Via SSH: rm -rf test-*.php
☐ Via SSH: rm -rf .git/
☐ Via SSH: rm .env.local
☐ Via SSH: chmod 755 folders, 644 files
☐ Via cPanel, edit .env.webhost
☐ Set permissions 600 untuk .env.webhost
☐ Test dengan curl atau browser
```

**Total time: ~45 menit (lebih lama)**

---

## 🎯 JAWAB SINGKAT PERTANYAAN ANDA

| Pertanyaan | Jawaban | Penjelasan |
|-----------|---------|-----------|
| **Bisa upload seluruh /tracker/?** | ✅ BISA | Tapi banyak file yang tidak perlu |
| **Rename .env.webhost?** | ❌ JANGAN | File harus tetap ".env.webhost" untuk PHP detect |
| **Rename ke .htaccess.webhost?** | ❌ JANGAN | .htaccess sudah file tersendiri dengan fungsi berbeda |
| **Cukup edit .env.webhost credentials?** | ✅ YA | Itu yang penting - ganti DB password |
| **Recommended approach?** | 🟢 OPSI 1 | Selective upload (hanya 25+ file) |

---

## 🚀 SUMMARY

```
YANG SAYA REKOMENDASIKAN:

1. Upload HANYA file yang perlu (Opsi 1 - Selective)
   - Time: 30 menit
   - Security: ✅ Better
   - Cleanliness: ✅ Better

2. Jangan rename .env.webhost
   - Server perlu file dengan nama ini untuk load configuration
   - Jika di-rename, database connection FAIL

3. Edit .env.webhost credentials via cPanel/SSH
   - Ubah DB_PASS dengan password actual
   - Ubah DB_USER jika berbeda
   - Update DB_HOST jika tidak localhost

4. Test setelah upload
   - curl http://tracker.lppmunud.id/api/agents
   - Browser: http://tracker.lppmunud.id/dashboard

DONE! ✅
```

---

**Created:** March 28, 2026  
**Status:** Ready for upload

