# Hosting dosya yapısı: public_html, private, logs ve stats klasörleri ne işe yarar?

https://kervanhosting.com/bilgi-bankasi/makale/hosting-dosya-yapisi-public-html-nedir-hangi-klasore-ne-yuklenir

Hosting panelinize ya da FTP ile ilk bağlandığınızda karşınıza birkaç klasör çıkar ve hangisine ne koyacağınızı bilmek ilk adımdır. Yanlış klasöre yüklenen dosya sitenizde görünmez ya da, daha kötüsü, gizli kalması gereken bir dosya herkese açık olur. Her web alan adı için ayrı bir klasör takımı açılır.

## Yol

FTP ile bağlandığınızda ana dizininiz (hesabınızın klasörü) içinde `web` klasörü vardır; onun altında her alan adı için bir klasör bulunur:

```
web/
  ornek.com/
    public_html/
    private/
    cgi-bin/
    logs/
    stats/
    document_errors/
```

## Klasörlerin işi

- **`public_html`**: Sitenizin ana klasörüdür. Ziyaretçilerin tarayıcıda gördüğü her şey buraya konur. `index.html` ya da `index.php` dosyası burada olmalıdır; sitenizin ana sayfası alan adı açıldığında bu dosyadan gelir. WordPress, görseller, CSS ve JavaScript dosyaları buradadır. Alan adının altındaki alt klasörler adres olur: `public_html/resimler/foto.jpg`, `ornek.com/resimler/foto.jpg` adresinde açılır.
- **`private`**: Web'den erişilemeyen, yalnızca sitenizin kodunun okuyabildiği klasördür. Parola, yapılandırma dosyaları, yedekler, veritabanı dökümleri gibi dışarıya açılmaması gereken şeyleri buraya koyun. Bir dosyayı `public_html` içine koyarsanız adresi bilen herkes indirebilir; `private` içindeyse indiremez.
- **`cgi-bin`**: Eskiden CGI betikleri için kullanılırdı. Modern sitelerde (PHP) genellikle boş kalır.
- **`logs`**: Sitenizin erişim ve hata günlükleri. Salt okunurdur; hata arıyorsanız buraya ya da panelden günlüklere bakın: [hata günlüğünü okuma](https://kervanhosting.com/bilgi-bankasi/makale/hosting-hata-gunlugunu-okuma-site-neden-hata-veriyor).
- **`stats`**: Ziyaret istatistiği çıktılarının konduğu klasör.
- **`document_errors`**: Hata sayfaları (404, 403, 500 gibi) için şablonların bulunduğu klasör.

## Dosyaları yüklerken

1. Sitenizin dosyalarını `public_html` içine yükleyin; `public_html` klasörünün kendisini değil **içindekileri** yükleyin. Örneğin yerelde `site/index.html` varsa, FTP'de `public_html/index.html` olarak çıkmalıdır, `public_html/site/index.html` olarak değil (yoksa site `ornek.com/site/` adresinde açılır).
2. Panelde yeni bir klasör oluşturmadan önce yazılımınızın kurulum yönergesini okuyun; birçok yazılım kendi alt klasörünü bekler.
3. Gizli kalması gereken dosyaları `private` klasörüne taşıyın ve yazılımınızın bu klasöre yol vermesini sağlayın (kimi yazılımlar yapılandırma dosyasının `public_html` dışında olmasını destekler).

Dosya yükleme adımları için [FTP ile yükleme](https://kervanhosting.com/bilgi-bankasi/makale/hosting-paketime-dosya-yukleme-ftp) makalesine bakın.

## Sık sorunlar

- **Siteyi açınca "Index of /" ya da varsayılan sayfa görüyorum:** `public_html` içinde `index.html`/`index.php` yok, ya da varsayılan bir deneme `index.html` hâlâ duruyor. Kendi dosyanızı yükleyin ve deneme sayfasını silin ya da üzerine yazın.
- **Dosyam sitede görünmüyor:** Yanlış alan adının klasörüne yüklemiş olabilirsiniz (birden fazla alan adınız varsa her birinin kendi `public_html` klasörü vardır).
- **Dosya adı büyük/küçük harf:** Sunucu Linux'tur; `Resim.JPG` ile `resim.jpg` farklı dosyalardır.
- **Başka bir klasörü sitenin ana klasörü yapmak:** Laravel gibi çerçeveler için `public` alt klasörünü kök yapmak gerekir: [Laravel yükleme](https://kervanhosting.com/bilgi-bankasi/makale/laravel-uygulamasini-hosting-paketine-yukleme-public-klasoru).

Hosting paneline giriş için: [panele giriş](https://kervanhosting.com/bilgi-bankasi/makale/hosting-paneline-nasil-girerim-panel-bilgilerim-nerede). Paketlerimiz: [Web Hosting](https://kervanhosting.com/web-hosting).

## Sık sorulanlar

### public_html'in üstündeki klasöre dosya yükleyebilir miyim?

Alan adı klasörünün (`ornek.com`) altına yükleyebilirsiniz ama web'den erişilemez; yalnızca yazılımınızın dahili kullanımı içindir. Genelde `private` bu iş için ayrılmıştır.

### Başka bir sitenin klasörüne erişebilir miyim?

Hayır. Hesabınızın dışındaki klasörlere erişiminiz yoktur ve PHP de yalnızca kendi klasörlerinize yazabilir.

### Alan adını değiştirince klasörler ne olur?

Her alan adının klasörü ayrıdır. Alan adını değiştirmek yerine yeni alan adını web alan adı olarak ekleyip dosyaları taşımanız gerekir: [site taşıma](https://kervanhosting.com/bilgi-bankasi/makale/baska-hostingden-bu-hostinge-site-tasima-dosya-ve-veritabani).

**İlgili makaleler**

- [Hosting paketime dosya nasıl yüklerim? (FTP)](https://kervanhosting.com/bilgi-bankasi/makale/hosting-paketime-dosya-yukleme-ftp)
- [Hosting'de sitem 403, 404 veya 500 hatası veriyor](https://kervanhosting.com/bilgi-bankasi/makale/hosting-sitem-403-404-veya-500-hatasi-veriyor)
- [cPanel'den geliyorsanız: hosting panelimizde işlemlerin karşılıkları](https://kervanhosting.com/bilgi-bankasi/makale/cpanelden-gelenler-icin-hosting-paneli-rehberi-islem-karsiliklari)

*Sorununuz çözülmediyse [destek talebi açın](https://kervanhosting.com/destek-taleplerim). Hangi adımı denediğinizi ve ekranda ne gördüğünüzü yazarsanız çözüm çok daha hızlı olur.*
