15%

Tüm Hosting Hizmetlerinde %15 indirim

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın:

Skills
Başlayın
30.10.2024
5 +2

Web Sitesi Kök Dizini: Konum, Yapı ve En İyi Uygulamalar İçin Kapsamlı Kılavuz

Web sitenizin kök dizinini anlamak, her web geliştiricisinin, sistem yöneticisinin veya site sahibinin ustalaşması gereken en temel becerilerden biridir. İster bozuk bir sayfayı gideriyor, ister yeni bir uygulama dağıtıyor, ister sunucunuzu saldırılara karşı sertleştiriyor olun, her şey bu tek, kritik klasöre kadar izlenebilir. Bu kapsamlı kılavuzda, kök dizinin tam olarak ne olduğunu, farklı ortamlarda nerede bulunacağını, nasıl güvence altına alınacağını ve web sitelerini ölçekte verimli şekilde çalışır halde tutan profesyonel en iyi uygulamaları ele alacağız.

Web Sitesinin Kök Dizini Nedir?

Kök dizin, bir web sunucusundaki, bir web sitesinin tüm dosyalarının ve alt dizinlerinin sunulduğu en üst düzey klasördür. Bunu web sitenizin “ana üssü” olarak düşünebilirsiniz — bir ziyaretçi tarayıcısına alan adınızı (örn. www.example.com) yazdığında, web sunucusu hemen kök dizinin içine bakarak döndürülecek uygun dosyayı, genellikle index.html veya index.php‘i bulur.

Web sitenizin işlev görmesi için ihtiyaç duyduğu her şey burada veya altındaki alt dizinlerde bulunur: HTML işaretlemesi, CSS stil sayfaları, JavaScript dosyaları, görseller, video varlıkları, PHP betikleri ve dinamik olarak oluşturulan içerik. Düzgün yapılandırılmış bir kök dizin olmadan, web sunucunuzun başlangıç noktası yoktur ve kullanıcılara herhangi bir içerik sunamaz.

Web kök dizinini (HTTP/HTTPS aracılığıyla erişilebilen klasör) sunucunun dosya sistemi kökünden (Linux sistemlerinde / dizini) ayırt etmek önemlidir. Bunlar tamamen farklı kavramlardır. Web kökü, sunucunun dosya sistemi içindeki bir alt dizindir ve kamuoyunun erişebileceği şeyleri sınırlamak amacıyla kasıtlı olarak kapsamlandırılmıştır.

Kök Dizin için Yaygın İsimler

Kök dizinin tam adı ve yolu, barındırma ortamınıza, işletim sisteminize ve web sunucusu yazılımınıza bağlı olarak değişir. İşte en sık karşılaşılan yapılandırmalar:

OrtamVarsayılan Kök Dizin Yolu
cPanel / Paylaşımlı Hosting/home/username/public_html/
Plesk/var/www/vhosts/domain.com/httpdocs/
Ubuntu/Debian üzerinde Apache/var/www/html/
CentOS/RHEL üzerinde Apache/var/www/html/
Nginx (varsayılan)/usr/share/nginx/html/ veya /var/www/html/
XAMPP (Windows/macOS)C:xampphtdocs veya /Applications/XAMPP/htdocs/
MAMP (macOS)/Applications/MAMP/htdocs/
Özel VPS YapılandırmasıSanal host yapılandırma dosyasında tanımlanır

Bir VPS Hosting ortamında, kök dizin yolu tamamen özelleştirilebilir. Apache VirtualHost bloğu veya Nginx server bloğu içinde kendiniz tanımlarsınız; bu da sunucunuzun dosya yapısı üzerinde tam kontrol sağlar.

Kök Dizinin Amacı

Kök dizin, bir web sitesinin nasıl çalıştığı için temel olan birbirine bağlı birkaç işleve hizmet eder:

1. Merkezi Dosya Depolama

Web sitenizi oluşturan her dosya — ana sayfa HTML’inden en küçük simgeye kadar — kök dizinde veya alt dizinlerinden birinde depolanır. Web sunucusu, HTTP isteklerine yanıt verirken yalnızca bu konumdan okur.

2. Web Sunucusu Yapılandırması için Giriş Noktası

Apache ve Nginx gibi web sunucuları, kök dizine DocumentRoot (Apache) veya root yönergesi (Nginx) olarak işaret edecek şekilde açıkça yapılandırılır. Bu yapılandırma sunucuya şunu söyler: “Sunulacak dosyaları ararken buradan başla.”

# Apache VirtualHost example
<VirtualHost *:80>
    ServerName www.example.com
    DocumentRoot /var/www/html/example.com/public
</VirtualHost>
# Nginx server block example
server {
    listen 80;
    server_name www.example.com;
    root /var/www/html/example.com/public;
    index index.php index.html;
}

3. Yapısal Organizasyon

Kök dizin, web sitenizin içeriğini mantıksal olarak düzenleyen tüm alt dizinler için üst kapsayıcı görevi görür — varlıkları betiklerden, yüklemeleri çekirdek dosyalardan ve genel içeriği özel yapılandırmadan ayırır.

4. Güvenlik Sınırı

Kök dizin, kamuya açık olanın sınırını tanımlar. Kök dizinin *dışına* yerleştirilen dosyalara bir web tarayıcısı aracılığıyla erişilemez; bu, hassas yapılandırma dosyalarını korumak için kritik bir güvenlik ilkesidir.

Kök Dizininizi Nasıl Bulursunuz

Yöntem 1: cPanel Kullanımı (Paylaşımlı Hosting)

cPanel, Paylaşımlı Web Hosting ortamları için en yaygın kullanılan kontrol panelidir. Kök dizininizi bulmak için:

  1. yourdomain.com/cpanel adresinden veya hosting sağlayıcınızın kontrol paneli aracılığıyla cPanel hesabınıza giriş yapın.
  2. Dosyalar → Dosya Yöneticisi‘ne gidin.
  3. Sol taraftaki dizin ağacında public_html adlı klasörü arayın — bu sizin web kökünüzdür.
  4. Doğrudan public_html içine yerleştirilen herhangi bir dosyaya alan adınızın kök URL’sinden erişilebilir (örn. example.com/filename.html).

Belge kökünü, cPanel’de Alan Adları → Alan Adları veya Ek Alan Adları bölümüne giderek de doğrulayabilirsiniz; burada her alan adı için belge kök yolu açıkça listelenir.

Yöntem 2: FTP veya SFTP Kullanımı (FileZilla)

FTP/SFTP erişimi neredeyse tüm hosting ortamlarında çalışır:

  1. FileZilla’yı (veya tercih ettiğiniz FTP istemcisini) açın.
  2. Ana bilgisayar adı, kullanıcı adı, parola ve port bilgilerini girin (FTP için 21, SFTP için 22 — güvenlik için her zaman SFTP’yi tercih edin).
  3. Bağlandıktan sonra ana dizininize geleceksiniz. public_html, www, htdocs veya httpdocs adlı klasörleri arayın.
  4. O klasöre gidin — bu sizin kök dizininizdir.
  5. FileZilla’nın adres çubuğunda görüntülenen uzak yol, tam sunucu yolunu doğrular.

> Güvenlik ipucu: Düz FTP yerine her zaman SFTP kullanın. SFTP, kimlik bilgilerinizi ve dosya aktarımlarınızı şifreleyerek ele geçirilmesini önler.

Yöntem 3: SSH Kullanımı (VPS ve Dedicated Sunucular)

SSH erişimi en güçlü yöntemdir ve Dedicated Sunucular ile VPS ortamlarında standart uygulamadır:

# Connect to your server
ssh username@your-server-ip

# Navigate to the default Apache/Nginx root
cd /var/www/html

# List contents to confirm
ls -la

# Find the document root from Apache configuration
grep -r "DocumentRoot" /etc/apache2/sites-enabled/

# Find the root from Nginx configuration
grep -r "root " /etc/nginx/sites-enabled/

Özel bir yapılandırma çalıştırıyorsanız, belge kökü sanal host dosyanızda tanımlanır. Aktif yapılandırmayı kontrol etmek, tam yolu doğrulamanın en güvenilir yoludur.

Yöntem 4: VPS’de Kontrol Paneli Kullanımı (cPanel, DirectAdmin, Plesk)

cPanel’li VPS veya başka bir panel çalıştırıyorsanız, arayüz paylaşımlı hostinge benzer şekilde çalışır. Belge kökü genellikle alan adı yönetimi bölümünde görüntülenir ve birincil alan adı için varsayılan olarak /home/username/public_html/ şeklindedir.

Kök Dizin Yapısı: En İyi Uygulamalar

İyi organize edilmiş bir kök dizin, profesyonelce yönetilen bir web sitesinin göstergesidir. İşte tipik bir web uygulaması için önerilen yapı:

/public_html/          ← Web root (publicly accessible)
├── index.php          ← Entry point / homepage
├── .htaccess          ← Apache configuration (rewrites, security)
├── robots.txt         ← Search engine crawl instructions
├── sitemap.xml        ← XML sitemap for SEO
├── assets/
│   ├── css/           ← Stylesheets
│   ├── js/            ← JavaScript files
│   └── images/        ← Image files
├── uploads/           ← User-uploaded content
├── includes/          ← PHP includes (header, footer, functions)
└── blog/              ← Blog section subdirectory

/home/username/        ← One level ABOVE the web root (private)
├── config/
│   ├── .env           ← Environment variables (NOT publicly accessible)
│   └── db-config.php  ← Database credentials (NOT publicly accessible)
└── backups/           ← Backup archives

.env gibi hassas dosyalar, veritabanı kimlik bilgileri ve API anahtarları hiçbir zaman web kökünün içine yerleştirilmemelidir. Bunları bir dizin yukarıda depolamak, HTTP aracılığıyla tamamen erişilemez olmalarını sağlar.

Kök Dizin için Güvenlik En İyi Uygulamaları

Kök dizin düzeyindeki güvenlik yanlış yapılandırmaları, web sitesi ihlallerinin en yaygın nedenlerinden biridir. Bu uygulamaları titizlikle takip edin:

1. Doğru Dosya İzinlerini Ayarlayın

Yanlış izinler, hem güvenlik açıklarının hem de sunucu hatalarının önde gelen nedenidir:

# Set correct permissions for files (read/write for owner, read-only for others)
find /var/www/html -type f -exec chmod 644 {} ;

# Set correct permissions for directories (read/write/execute for owner, read/execute for others)
find /var/www/html -type d -exec chmod 755 {} ;

# Set ownership to the web server user
chown -R www-data:www-data /var/www/html
Kaynak TürüÖnerilen İzinAçıklama
Normal dosyalar644Sahip: okuma+yazma; Grup/Diğerleri: yalnızca okuma
Dizinler755Sahip: tam; Grup/Diğerleri: okuma+çalıştırma
Yapılandırma dosyaları600Sahip: yalnızca okuma+yazma; diğerleri için erişim yok
Çalıştırılabilir betikler750Sahip: tam; Grup: okuma+çalıştırma; Diğerleri: yok

2. Hassas Dosyaları .htaccess ile Koruyun (Apache)

Hassas dosyalara doğrudan erişimi engellemek için .htaccess kurallarını kullanın:

# Block access to .env files
<Files ".env">
    Order allow,deny
    Deny from all
</Files>

# Block access to configuration files
<FilesMatch ".(ini|log|conf|sql|bak)$">
    Order allow,deny
    Deny from all
</FilesMatch>

# Disable directory listing
Options -Indexes

3. Dizin Listelemeyi Devre Dışı Bırakın

Bir dizinde index.html veya index.php dosyası yoksa, birçok web sunucusu varsayılan olarak içeriğinin tam listesini görüntüler — dosya yapınızı herkese açar. Bunu her zaman devre dışı bırakın:

  • Apache: Options -Indexes‘ı .htaccess veya sanal host yapılandırmanıza ekleyin.
  • Nginx: Sunucu bloğunuzda autoindex off;‘ın ayarlandığından emin olun (varsayılan olarak kapalıdır).

Kazara ifşayı önlemek için her dizine her zaman bir index.html veya index.php dosyası yerleştirin.

4. Hassas Dosyaları Web Kökünün Dışında Tutun

Bu, kök dizin yönetimi için tek en önemli güvenlik ilkesidir:

  • Veritabanı kimlik bilgileri, API anahtarları ve .env dosyaları web kökünün üzerinde yer almalıdır.
  • Bunlara uygulamanızın içinden başvurmak için PHP’nin require veya include‘ını mutlak yollarla kullanın.
  • Yapılandırma dosyalarını web kökünün içinde depolamanız gerekiyorsa, bunlara HTTP erişimini engellemek için .htaccess kurallarını kullanın.

5. SSL/TLS Uygulayın

Web sitenizi HTTPS üzerinden sunmak, sunucu ile ziyaretçinin tarayıcısı arasındaki aktarımdaki tüm verileri şifreler. Bir SSL Sertifikası artık isteğe bağlı değil — temel bir güvenlik gereksinimi ve onaylanmış bir Google sıralama faktörüdür. Web sunucunuzu tüm HTTP trafiğini HTTPS’ye yönlendirecek şekilde yapılandırın ve maksimum koruma için HSTS başlıkları ayarlayın.

Popüler CMS Platformları için Kök Dizin Yönetimi

WordPress

WordPress, platformu güvenli bir şekilde yönetmek için anlamanız gereken iyi tanımlanmış bir kök dizin yapısına sahiptir:

/public_html/
├── index.php              ← WordPress bootstrap file
├── wp-config.php          ← Database credentials & settings (move above web root if possible)
├── wp-login.php           ← Login page (consider restricting by IP)
├── .htaccess              ← WordPress permalink configuration
├── wp-admin/              ← Admin dashboard (restrict access)
├── wp-includes/           ← Core WordPress files (do not modify)
└── wp-content/
    ├── themes/            ← Installed themes
    ← Installed plugins
    └── uploads/           ← Media library files

Kritik WordPress kök dizin ipuçları:

  • wp-config.php‘ı web kökünün bir dizin üstüne taşıyın — WordPress onu orada otomatik olarak bulacaktır.
  • wp-admin/ ve wp-login.php‘a erişimi .htaccess kullanarak IP adresine göre kısıtlayın.
  • wp-includes/ içindeki dosyaları asla değiştirmeyin — bir sonraki güncellemede üzerine yazılacaktır.
  • Kötü amaçlı dosya yüklemeleri için wp-content/uploads/ dizinini düzenli olarak denetleyin.

Joomla

Joomla’nın kök dizin yapısı benzer bir düzeni takip eder:

/public_html/
├── index.php              ← Main entry point
├── configuration.php      ← Database & site configuration
├── .htaccess              ← URL rewriting rules
├── administrator/         ← Admin panel (restrict access)
├── components/            ← Frontend components
├── modules/               ← Joomla modules
├── plugins/               ← Joomla plugins
└── templates/             ← Site templates

Veritabanı kimlik bilgilerinin ifşasını önlemek için configuration.php‘ı web kökünün dışına taşıyın veya .htaccess aracılığıyla erişimini kısıtlayın.

Laravel / Modern PHP Çerçeveleri

Laravel gibi modern PHP çerçeveleri, özellikle kök dizin güvenliği göz önünde bulundurularak tasarlanmıştır. Yalnızca public/ alt dizini web kökü olarak açığa çıkarılır:

/var/www/laravel-app/      ← Application root (NOT the web root)
├── app/                   ← Application logic
├── config/                ← Configuration files
├── .env                   ← Environment variables
├── vendor/                ← Composer dependencies
└── public/                ← THIS is the web root (DocumentRoot points here)
    ├── index.php
    └── assets/

Bu mimari bir güvenlik en iyi uygulamasıdır — hassas dosyalara HTTP aracılığıyla erişmek yapısal olarak imkânsızdır.

Kök Dizin için Yedekleme Stratejileri

Kök dizininizin düzenli yedeklemeleri tartışmasızdır. Tek bir yanlışlıkla silme, başarısız güncelleme veya güvenlik ihlali web sitenizi çevrimdışı bırakabilir. İşte en etkili yedekleme yaklaşımları:

SSH ile Manuel Yedekleme

# Create a compressed archive of the entire web root
tar -czf /home/username/backups/webroot-$(date +%Y%m%d).tar.gz /var/www/html/

# Transfer the backup to a remote location using SCP
scp /home/username/backups/webroot-$(date +%Y%m%d).tar.gz user@backup-server:/backups/

Cron ile Otomatik Yedekleme

# Edit crontab
crontab -e

# Add a daily backup job at 2:00 AM
0 2 * * * tar -czf /home/username/backups/webroot-$(date +%Y%m%d).tar.gz /var/www/html/ 2>/dev/null

Artımlı Yedeklemeler için rsync Kullanımı

# Sync web root to a backup directory (only copies changed files)
rsync -avz --delete /var/www/html/ /mnt/backup/webroot/

Hosting Sağlayıcısı Yedeklemeleri

Birçok yönetilen hosting çözümü otomatik günlük yedeklemeler içerir. AlexHost’un VPS Hosting planları, tüm sunucu ortamınızı koruyan yedekleme seçenekleri içerir ve kendi yedekleme rutinlerinizin yanı sıra güvenilir bir güvenlik ağı sağlar.

Yaygın Kök Dizin Sorunlarını Giderme

SorunOlası NedenÇözüm
403 Yasak hatasıEksik index dosyası veya yanlış izinlerindex.html/index.php ekleyin; dizin izinlerini kontrol edin (755)
Ana sayfada 404 BulunamadıSunucu yapılandırmasında yanlış DocumentRoot yoluApache’de DocumentRoot veya Nginx yapılandırmasında root‘ı doğrulayın
Yüklemeden sonra dosyalar güncellenmiyorTarayıcı veya sunucu tarafı önbelleğe almaTarayıcı önbelleğini temizleyin; sunucu önbelleğe alma başlıklarını kontrol edin
PHP dosyaları çalıştırılmak yerine indiriliyorBu dizin için PHP yapılandırılmamışPHP işleyicisinin sunucu/hosting yapılandırmasında etkin olduğunu doğrulayın
Dizin listesi açığa çıktıOptions Indexes etkinOptions -Indexes‘ı .htaccess veya sunucu yapılandırmasına ekleyin
Dosya yazımında izin reddedildiYanlış dosya/dizin sahipliğichown -R www-data:www-data /var/www/html komutunu çalıştırın

Kök Dizin İhtiyaçlarınız için Doğru Hosting Ortamını Seçme

Kök dizininiz üzerinde sahip olduğunuz kontrol düzeyi, hosting ortamınıza önemli ölçüde bağlıdır:

  • Paylaşımlı Web Hosting: Kök dizin public_html olarak önceden yapılandırılmıştır. Kullanımı kolaydır, ancak özelleştirme sınırlıdır. Küçük web siteleri ve yeni başlayanlar için en iyisidir.
  • VPS Hosting: Sunucuya tam kök erişimi. Belge kökünü kendiniz tanımlarsınız, web sunucusunu yapılandırırsınız ve tüm güvenlik ayarlarını kendiniz yönetirsiniz. Esnekliğe ihtiyaç duyan büyüyen işletmeler ve geliştiriciler için idealdir.
  • Dedicated Sunucular: Maksimum kontrol ve performans. Sunucunun tamamı sizindir — kök dizini, web sunucusunu ve güvenlik yığınını tam olarak ihtiyaç duyulduğu şekilde yapılandırın. Yüksek trafikli web siteleri ve kurumsal uygulamalar için en iyisidir.
  • VPS Kontrol Panelleri: Bir VPS’nin gücünü grafiksel bir kontrol panelinin kolaylığıyla birleştirerek, derin komut satırı uzmanlığı gerektirmeden kök dizin yönetimini erişilebilir kılar.

Sonuç

Kök dizin, her web sitesinin mimari temelidir. Web sunucunuzun içeriği nasıl bulup sunduğunu belirler, genel ve özel dosyalar arasındaki sınırı tanımlar ve sitenizin güvenlik duruşunu ve organizasyonel netliğini doğrudan etkiler. İster paylaşımlı hostingde basit bir broşür sitesi yönetiyor, ister dedicated sunucuda karmaşık çok uygulamalı bir ortam yönetiyor olun, ilkeler aynı kalır: düzenli tutun, hassas dosyaları genel web kökünün dışında tutun, doğru izinleri uygulayın ve düzenli olarak yedekleyin.

Kök dizin yönetiminde uzmanlaşmak yalnızca teknik bir onay kutusu değildir — kesinti sürelerini önleyen, güvenlik açıklarını kapatan ve web sitelerinizi zaman içinde çok daha kolay bakım ve ölçeklendirme yapılabilir hale getiren temel bir yetkinliktir.

15%

Tüm Hosting Hizmetlerinde %15 indirim

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın:

Skills
Başlayın