Drupal 11 Temel Klasörler, Güvenlik ve Modül Yönetimi Rehberi
Drupal 11 ile çalışırken klasör yapısını anlamak, modülleri doğru şekilde yüklemek ve temayı değiştirmek, sitenizin yönetimini çok daha kolay ve güvenli hale getirir. Bu kapsamlı yazımda, tüm bu kritik konuları ekran okuyucularıyla rahatça takip ebileceğiniz şekilde, net adımlar hâlinde ele alıyoruz.
1. Drupal 11 Klasör Yapısı ve Kritik Dosyalar
Drupal’ın klasör yapısı, sistemin düzenli ve güncellenebilir bir şekilde çalışması için belirli bir mantıkla hazırlanmıştır. İşte en sık karşılaşacağınız ve hakkında bilgi sahibi olmanız gereken temel klasörler:
📁 Temel Klasörler
Klasör Adı
Açıklama
Core
Drupal çekirdeği burada bulunur. core/modules ve core/themes gibi alt klasörler, Drupal’ın kendi çekirdek modüllerini ve temalarını içerir. Bu alana müdahale edilmesi kesinlikle önerilmez. Elle yapılan değişiklikler, Drupal güncellemeleri sırasında üzerine yazılarak kaybolur.
Modules
Sisteme eklediğiniz veya geliştirdiğiniz tüm eklenti modülleri burada tutulur.
Themes
Sitenizin tasarım temalarının saklandığı ana klasördür.
Sites
Drupal kurulumlarının kritik yapılandırma dosyalarını ve ortak içeriğini barındırır.
modules/contrib: Topluluktan indirilen modüller.
modules/custom: Kendi geliştirdiğiniz özel modüller.
themes/contrib: Topluluktan indirilen temalar.
themes/custom: Kendi geliştirdiğiniz özel temalar.
🛠️ Kritik Dosya: sites/default/settings.php
Bu dosya, Drupal kurulumunuz için hayati öneme sahiptir. Kurulum sırasında otomatik olarak oluşturulur ve şu kritik bilgileri içerir:
- Veritabanı bağlantı bilgileri (DB Credentials).
- Dosya klasörü tanımları (sites/default/files yolu).
- Konfigürasyon klasörü yolu (Config directory path).
- Güvenli host (trusted host) ayarları.
- Genel sistem yapılandırmaları.
🛡️ Güvenlik Önlemi: settings.php Dosya İzinleri (CHMOD)
settings.php son derece kritik olduğu için güvenlik önlemleri alınmalıdır. Linux tabanlı sistemlerde dosya ve klasörlerin erişim izinleri (CHMOD), sahip (owner), grup (group) ve diğer kullanıcılar (others) olmak üzere üç haneli sayılarla ifade edilir.
İzin
Değer
Açıklama
Okuma (Read)
4
İçeriği görebilme.
Yazma (Write)
2
İçeriği değiştirebilme.
Çalıştırma (Execute)
1
Çalıştırılabilme (klasörler için içeriğine girebilme).
Örnek izinler:
- 444: Herkes için sadece okuma izni. (4+0+0)
- 644: Sahibi: Okuma + Yazma (6), diğerleri: sadece okuma (4).
- 755: Sahibi: tam yetki (7), diğerleri: okuma + çalıştırma (5).
Uygulama Adımları
settings.php Düzenleme Öncesi İzinler (Geçici):
- sites/default klasörü → 755
- settings.php dosyası → 644
settings.php Düzenleme Sonrası İzinler (Kalıcı ve Güvenli):
- settings.php → 444 (salt okunur olmalı)
- sites/default → 555 (yazma kapalı olmalı)
🔑 Trusted Host (Güvenli Host) Ayarları
Drupal güvenliği açısından, settings.php içerisinde sitenizin yalnızca belirtilen alan adlarından erişilmesine izin veren Trusted Host ayarları yapılmalıdır.
$settings['trusted_host_patterns'] = [
'^www\.ornek\.com$',
'^ornek\.com$',
];
2. Drupal 11 Modül ve Tema Yönetimi
Drupal’da bir modül (eklenti) veya tema, aktif çalışır hale gelmeden önce iki ayrı aşamadan geçer:
- Dosya Kurulumu (Composer Aşaması): Dosyalar ve bağımlılıklar sisteme indirilir.
- Veritabanı Kurulumu (Drupal/Drush Aşaması): Modülün tabloları ve yapılandırmaları veritabanına kaydedilerek aktif edilir.
⚙️ Yöntem 1: Composer ile Modül Kurulumu (Önerilen Yöntem)
Composer, Drupal modüllerini yüklemek için en güvenli, en güncel ve ekip çalışmasına en uygun yöntemdir. Bağımlılıkları otomatik olarak çözer.
Modülü Yükleme (Dosya Kurulumu):
composer require drupal/pathauto
(Bu komut yalnızca dosyaları indirir, veritabanına yazmaz.)
Modülü Etkinleştirme (Veritabanı Kurulumu):
drush en pathauto -y
(Bu komut, Drupal arayüzünden onay kutusunu işaretleyip “Kur” düğmesine basmakla aynı işlemi yaparak modülü veritabanına kaydeder.)
🖱️ Yöntem 2: Yönetim Panelinden Modül Yüklemek
Önemli Not: Arayüzden kurulum yapmak için Update Manager modülünün etkin olması gerekir. Eğer Eklentiler sayfasında “Yeni Modül Kur” bağlantısı görünmüyorsa, bu modül devre dışıdır ve Composer veya manuel yöntemler kullanılmalıdır.
- Arayüzde Modül Sayfasına Ulaşım: Yönetim menüsüne ulaşmak için sayfanın başındayken ekran okuyucuda “L” tuşuna basın. “Eklentiler” bağlantısını bulun.
- Kurulum: “Yeni Modül Ekle” bağlantısından ZIP dosyası yükleyebilir veya URL girebilirsiniz. Kurulum tamamlandıktan sonra sayfanın altındaki “Kur” düğmesine ilerleyip Enter’a basın.
🗑️ Modül/Tema Kaldırma Prosedürü (Güvenli Yöntem)
Kurulu bir modülün veya temanın klasörünü elle silmek, veritabanı kayıtları silinmediği için kritik sistem hatalarına ve beyaz ekranlara (white screen) yol açar. Kaldırma işlemi iki aşamalı yapılmalıdır:
- Veritabanı Temizliği (Drupal Arayüzü veya Drush):
- Arayüz: Yönetim menüsünden “Eklentiler” sayfasındaki “Kaldır” sekmesine gidin. Kaldırmak istediğiniz modülü işaretleyip “Kaldır” düğmesine basın.
- Drush ile:
- drush pm:uninstall modul_adi -y
- (Bu işlem modülün veritabanındaki tüm tablolarını ve yapılandırmalarını temizler.)
- Dosyaları Kaldırma (Composer): Veritabanı temizliği yapıldıktan sonra modülün dosyalarını sistemden kaldırmak için:
- composer remove drupal/modul_adi
- (Örnek: composer remove drupal/pathauto)
🎨 Tema Değiştirme ve Yönetimi
Tema yönetimi için yönetim panelindeki Görünüm (Appearance) menüsü kullanılır.
- Arayüzde Ulaşım: Yönetim menüsüne “L” tuşu ile gidin ve “Görünüm” bağlantısını açın.
- Kurulum: Kurulu olmayan temalar altında “Kur” veya “Kur ve Varsayılan Yap” bağlantıları bulunur.
- Kaldırma: Bir temayı kaldırmak için farklı bir temanın etkin (varsayılan) olması gereklidir. Etkin olmayan temaların altında “Kaldır” bağlantısı bulunur.
⚡ Drush ile Tema Etkinleştirme:
- Temayı Etkinleştirme: drush theme:enable tema_adi
- Varsayılan Yapma: drush config-set system.theme default tema_adi -y
Sonuç
Drupal 11 ile çalışırken klasör yapısını doğru yorumlamak, settings.php dosyasının güvenliğini sağlamak, modülleri Composer gibi doğru yöntemle yüklemek ve iki aşamalı kaldırma prosedürünü uygulamak; hem sitenizin sağlığı hem de güvenliği açısından kritik önem taşır.
Bir sonraki Drupal bültenimizde buluşmak üzere hoşçakalın!
Yorumlar
Bu yazı için henüz yorum yok.
Yeni Yorum