---
week: XX
topic: 
target_hours: 
status: not-started  # not-started | in-progress | completed | extended
started: 
completed: 
actual_hours: 
---

# Hafta XX — [Konu]

> **Kullanım:** Bu dosyayı kopyala (`week-XX-topic.md` olarak), frontmatter'ı doldur, çalışırken not al.

---

## Konu Özeti

[Bu hafta hangi konu kapsanıyor, 2-3 cümle. Master plan'daki haftalık tablodan referans al.]

## Kaynaklar

- [ ] [Kitap bölümü — örn: Sander van Vugt "RHCSA 9 Cert Guide" Chapter X]
- [ ] [Video / kurs — örn: A Cloud Guru EX200 Module Y]
- [ ] [Resmi doc — örn: AlmaLinux wiki, Red Hat Customer Portal article]
- [ ] [TR kaynak — örn: Çözümpark makalesi, Sezgin Yener Udemy bölümü]

## Hands-on Lab — Görevler

> Master plan'daki "Hands-on Lab" sütunundaki görevleri buraya yaz, sonra ✓ ile işaretle.

- [ ] Görev 1
- [ ] Görev 2
- [ ] Görev 3

---

## Komutlar & Çıktılar

> **Kritik:** Çalıştırdığın HER komut + çıktısı buraya. Bu bölüm Phase 1 Epic 2 (installer script) ve Epic 3 (sysapi bridge) için **doğrudan kaynak materyali** olacak. Özene bezene yaz.

### [Alt başlık — örn: dnf paket kurulumu]

```bash
$ dnf install httpd php-fpm
# Çıktı:
Last metadata expiration check: 0:12:34 ago on ...
Dependencies resolved.
================================================================================
 Package                Architecture    Version          Repository       Size
================================================================================
...
```

**Not:** [Bu komut ne yaptı, neden gerekti, hangi flag ile çalıştırıldı]

### [Sonraki alt başlık]

```bash
$ ...
```

---

## Tıkandıklarım & Çözümleri

> Phase 1'de tekrar karşılaşmamak için debug notları. SELinux denial'ları, permission hataları, config typo'ları, vs.

### Problem 1: [kısa başlık]

**Belirti:**
```
[hata mesajı veya beklenmedik davranış]
```

**Tanı:** [Ne araştırdın, hangi log'a baktın]

**Çözüm:** [Ne yaptın, neden çalıştı]

**Phase 1'de hatırlanması gereken:** [Aynı sorunun installer script'te çıkmaması için]

---

## SELinux Notları (varsa)

> Özellikle hafta 6-7 ve sonrası için. `ausearch -m AVC -ts recent` çıktısı + `audit2allow` analizi.

```
# AVC denial örneği:
type=AVC msg=audit(...): avc:  denied  { read } for  pid=... comm="httpd" name="..." dev="dm-0" ino=... scontext=system_u:system_r:httpd_t:s0 tcontext=...
```

**Boolean / fcontext değişikliği:**
```bash
$ setsebool -P httpd_can_network_connect on
# veya
$ semanage fcontext -a -t httpd_sys_content_t "/home/[^/]+/public_html(/.*)?"
$ restorecon -R /home/
```

---

## Self-test Sonucu

**Kriter (master plan'dan):** [Bu haftanın self-test cümlesi]

**Sonuç:**
- [ ] ✅ Geçti — ilk denemede
- [ ] ⚠️ Geçti — 2-3 deneme + dokümana baktım
- [ ] ❌ Geçmedi — ek pratik gerek, konuyu bir sonraki haftaya taşıyacağım

**Süre (deneme):** ___ dakika

**Notlar:** [Ne kolay, ne zor geldi]

---

## Hafta Sonu Checklist

- [ ] Hetzner CX22 snapshot alındı (bir önceki haftaya geri dönüş için)
- [ ] Tüm komutlar bu dosyaya yazıldı
- [ ] `git add lab-notes/week-XX-*.md && git commit && git push`
- [ ] Bir sonraki haftanın kaynaklarını gözden geçirdim (kitap bölüm, video, vs.)
- [ ] Hesap kapanma riski yok (Hetzner billing OK)

---

## Phase 0 Genel İlerleme

| Hafta | Konu | Status | Süre | Self-test |
|---|---|---|---|---|
| 01 | AlmaLinux 9 temelleri | ⏳ | | |
| 02 | systemd + journald | ⏳ | | |
| 03 | User/group/quota | ⏳ | | |
| 04 | Bash scripting | ⏳ | | |
| 05 | firewalld + nftables | ⏳ | | |
| 06 | SELinux Bölüm 1 | ⏳ | | |
| 07 | SELinux Bölüm 2 | ⏳ | | |
| 08 | Apache event MPM + vhost | ⏳ | | |
| 09 | PHP-FPM + multi-version | ⏳ | | |
| 10 | MariaDB 10.11 | ⏳ | | |
| 11 | PowerDNS + MariaDB | ⏳ | | |
| 12 | Certbot + acme.sh | ⏳ | | |
| 13 | SSH/SFTP + Pure-FTPd | ⏳ | | |
| 14 | Backup/restore + monitoring | ⏳ | | |
| 15 | KVKK + TR yasal | ⏳ | | |
| 16 | **Master milestone** | ⏳ | | |

Status: ⏳ pending • 🔄 in-progress • ✅ completed • ⚠️ extended

> Bu tabloyu her hafta sonu güncelle. Phase 1'e geçiş kararı 16. hafta sonu master milestone sonucuna göre verilecek.
