Tüm Sistemler Çalışıyor
Network Durumu
Ana Sayfa Blog Drupal CMS Kurulumu: 7 Adımda Baştan Sona Detaylı Rehber (2026)

Drupal CMS Kurulumu: 7 Adımda Baştan Sona Detaylı Rehber (2026)

Drupal CMS Kurulumu: 7 Adımda Baştan Sona Detaylı Rehber (2026)

1. Drupal Kurulumuna Hazırlık: Sunucu ve Gereksinimler

1. Drupal Kurulumuna Hazırlık: Sunucu ve Gereksinimler - Drupal CMS Kurulumu
1. Drupal Kurulumuna Hazırlık: Sunucu ve Gereksinimler

Drupal, PHP tabanlı bir içerik yönetim sistemidir ve doğru bir ortamda çalıştırıldığında yüksek performans ve güvenlik sunar. İlk adımda, sunucu gereksinimlerini netleştirmeniz gerekir. Drupal 10 için en az PHP 8.1, MariaDB 10.3 veya PostgreSQL 13 önerilir. Ayrıca, composer ve git gibi araçların kurulu olması, bağımlılık yönetimini kolaylaştırır.

Sunucu seçimi kritik bir adımdır; AMD Ryzen VDS sunucular yüksek çekirdek sayısı ve enerji verimliliği sayesinde PHP işlemlerinde %30 daha hızlı yanıt süresi sunar. Eğer daha fazla işlem gücüne ihtiyaç duyarsanız Intel i9 VDS sunucular tercih edilebilir. Ancak, düşük bütçeli projeler için web hosting paketleri de yeterli olabilir; sadece paylaşımlı ortamların kaynak sınırlamalarını göz önünde bulundurun.

Sunucu tarafında HTTPS zorunluluğu, firewall kuralları ve SELinux/AppArmor gibi güvenlik katmanlarını etkinleştirmeniz, Drupal’ın güvenlik tavsiyeleriyle uyumlu bir temel oluşturur. Bu aşamada, WAF güvenlik duvarı eklemek, OWASP Top 10 saldırılarına karşı ilk savunma hattını oluşturur.

2. İşletim Sistemi ve Temel Yazılımların Kurulumu

Ubuntu 22.04 LTS ya da CentOS Stream 9, Drupal kurulumları için en çok tercih edilen dağıtımlardır. Aşağıda Ubuntu üzerinde gerekli paketlerin kurulumu adım adım verilmiştir:

  1. Sunucuya SSH ile bağlanın: ssh root@sunucu_ip
  2. İşletim sistemi paketlerini güncelleyin: apt update && apt upgrade -y
  3. PHP, gerekli uzantılar ve Composer'ı kurun:
    apt install -y php8.1 php8.1-cli php8.1-fpm php8.1-mysql php8.1-xml php8.1-gd php8.1-curl php8.1-mbstring composer git
  4. Veritabanı sunucusunu kurun: apt install -y mariadb-server ve ardından güvenlik betiğini çalıştırın: mysql_secure_installation
  5. Web sunucusu olarak Nginx tercih edin; apt install -y nginx komutuyla kurulum tamamlanır.

Bu adımlar tamamlandığında, sisteminiz Drupal’ın çalışması için gerekli temel bileşenlere sahip olur. fiziksel sunucu (dedicated server) kullanıyorsanız, aynı paketleri yum ya da dnf aracılığıyla kurabilirsiniz.

3. Veritabanı ve Alan Adı (Domain) Konfigürasyonu

Drupal, içerik ve yapılandırma verilerini bir veritabanında saklar. MariaDB’de bir veritabanı ve kullanıcı oluşturmak için aşağıdaki komutları izleyin:

mysql -u root -p
CREATE DATABASE drupal10 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'drupal_user'@'localhost' IDENTIFIED BY 'GüçlüŞifre123!';
GRANT ALL PRIVILEGES ON drupal10.* TO 'drupal_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Alan adı (domain) kaydı, sitenizin erişilebilirliği açısından önemlidir. alan adı (domain) kaydı hizmetimiz üzerinden .com, .net gibi uzantıları hızlıca temin edebilir ve DNS ayarlarını VDS IP’nize yönlendirebilirsiniz. DNS değişikliklerinin yayılması 24 saat içinde tamamlanır; bu sürede dig ya da nslookup komutlarıyla doğrulama yapabilirsiniz.

Veritabanı güvenliğini artırmak için, veritabanı bağlantılarını sadece localhost ile sınırlayın ve günlük yedeklemeler oluşturun. VDS sunucu paketleri genellikle otomatik snapshot özelliği sunar; bu sayede bir sorun anında geri dönüş mümkün olur.

4. Drupal’ın İndirilişi ve Composer ile Kurulumu

4. Drupal’ın İndirilişi ve Composer ile Kurulumu - Drupal CMS Kurulumu
4. Drupal’ın İndirilişi ve Composer ile Kurulumu

Drupal, composer kullanılarak en güncel sürümle kurulabilir. Composer, bağımlılık yönetimini otomatikleştirir ve güvenlik yamalarını takip etmeyi kolaylaştırır. Aşağıdaki adımları izleyin:

  1. İşletim sisteminin kök dizininde bir proje klasörü oluşturun: mkdir /var/www/drupal && cd /var/www/drupal
  2. Composer ile Drupal çekirdeğini indirin: composer create-project drupal/recommended-project .
  3. Gerekli izinleri ayarlayın:
    chown -R www-data:www-data /var/www/drupal
    chmod -R 755 /var/www/drupal/web
  4. Nginx konfigürasyon dosyasını oluşturun (/etc/nginx/sites-available/drupal) ve aşağıdaki örnek ayarları ekleyin:
    server {
        listen 80;
        server_name example.com www.example.com;
        root /var/www/drupal/web;
        index index.php;
    
        location / {
            try_files $uri /index.php?$query_string;
        }
    
        location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
        }
    
        location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
            expires 30d;
            access_log off;
        }
    }
  5. Nginx site etkinleştirin ve yeniden başlatın:
    ln -s /etc/nginx/sites-available/drupal /etc/nginx/sites-enabled/
    nginx -t && systemctl reload nginx

Bu aşamadan sonra tarayıcınızda http://example.com adresine giderek Drupal kurulum sihirbazını göreceksiniz. Kurulum sırasında veritabanı bilgilerini, site adı ve yönetici hesabını girmeniz yeterli olacaktır.

5. Performans ve Güvenlik Ayarları

Drupal, modüler bir yapıya sahip olduğu için gereksiz modülleri devre dışı bırakmak, bellek tüketimini %20’ye kadar azaltabilir. OPcache ve Redis gibi önbellek sistemleri, sayfa yükleme süresini 2 kat hızlandırır. Nginx üzerinden fastcgi_cache yapılandırması şu şekilde yapılabilir:

fastcgi_cache_path /var/cache/nginx levels=1:2 keys_zone=DRUPAL:100m inactive=60m;
fastcgi_cache_key "$scheme$request_method$host$request_uri";
fastcgi_cache_use_stale error timeout updating;

Güvenlik açısından, .htaccess yerine Nginx’de location ~* \.(php|inc|module|engine)$ { deny all; } gibi kurallar eklemek, doğrudan PHP dosyalarının dışarıdan erişimini engeller. Ayrıca, SSL sertifikası (Let's Encrypt ücretsiz) kurarak HTTPS’i zorunlu kılın. certbot ile otomatik yenileme ayarlamak, kesintisiz güvenliği sağlar.

Drupal’ın çekirdek güncellemeleri ve güvenlik yamaları, drush komutu ile kolayca uygulanabilir:

composer require drush/drush
vendor/bin/drush pm:security-update
Bu komut, mevcut güvenlik açıklarını tarar ve önerilen güncellemeleri otomatik olarak uygular.

6. Çevresel Değişkenler ve Konfigürasyon Yönetimi

Üretim ortamında gizli anahtarlar, veritabanı şifreleri ve API token’ları doğrudan kod içinde tutmak risklidir. .env dosyası ve dotenv kütüphanesi ile bu değerleri yönetebilirsiniz. Drupal 10, settings.php içinde $settings['hash_salt'] gibi güvenlik parametrelerini dışarıdan almayı destekler:

$settings['hash_salt'] = getenv('DRUPAL_HASH_SALT');
$databases['default']['default'] = array (
  'driver' => 'mysql',
  'database' => getenv('DRUPAL_DB_NAME'),
  'username' => getenv('DRUPAL_DB_USER'),
  'password' => getenv('DRUPAL_DB_PASS'),
  'host' => getenv('DRUPAL_DB_HOST'),
  'port' => getenv('DRUPAL_DB_PORT'),
);

Bu yapı, SLA hizmeti kapsamında otomatik yedekleme ve felaket kurtarma süreçlerinde de kullanılabilir. Ayrıca, Docker ya da Kubernetes gibi konteyner platformlarıyla entegrasyon yaparak ölçeklenebilir bir altyapı oluşturabilirsiniz.

7. Test, Yayına Alma ve İzleme

Kurulum tamamlandıktan sonra, sitenizin fonksiyonel ve performans testlerini yürütmek kritik bir adımdır. ApacheBench (ab) ya da wrk gibi araçlarla 1000 istek üzerinden yanıt süresi ölçümleri yapılabilir. Örnek komut:

ab -n 1000 -c 50 http://example.com/

Elde edilen ortalama yanıt süresi 200 ms’nin altında ise, sunucu ve önbellek ayarları yeterli demektir. İzleme için Prometheus + Grafana entegrasyonu kurulabilir; bu sayede CPU, RAM ve HTTP hata oranları anlık olarak takip edilir.

Son adımda, yedekleme stratejinizi belirleyin. Günlük veritabanı dump’ları (mysqldump) ve dosya sistemi anlık görüntüleri, bir sorun anında 5 dakikadan az sürede geri dönüş sağlar. colocation hizmeti kullanıyorsanız, fiziksel yedekleme cihazlarıyla ek güvenlik katmanı ekleyebilirsiniz.

Sıkça Sorulan Sorular

Drupal kurulumunda hangi PHP sürümü önerilir?

Drupal 10 için minimum PHP 8.1 gereklidir; PHP 8.2 veya 8.3 sürümleri ise performans ve güvenlik iyileştirmeleri sunar.

VDS ile paylaşımlı hosting arasında ne fark vardır?

VDS (Virtual Dedicated Server) size izole kaynaklar, root erişimi ve özelleştirilebilir ortam sağlar; paylaşımlı hosting ise kaynakları diğer kullanıcılarla paylaşır ve genellikle sınırlı yapılandırma imkanı sunar.

Drupal’da önbellek nasıl etkinleştirilir?

Drupal çekirdeği içinde “Cache API” bulunur; ek olarak Redis veya Memcached gibi dış önbellek sistemleri settings.php üzerinden tanımlanarak performans iki katına çıkarılabilir.

Güvenlik güncellemelerini otomatik alabilir miyim?

Evet, Composer ve Drush kombinasyonu ile composer update ve drush pm:security-update komutları düzenli olarak çalıştırılarak kritik yamalar otomatik uygulanabilir.

Sonuç: Drupal Kurulumunu Tamamladıktan Sonra Atmanız Gereken Adımlar

Drupal kurulumunu başarıyla tamamladınız. Şimdi odaklanmanız gerekenler:

  • Güçlü bir admin şifresi ve iki faktörlü kimlik doğrulama (2FA) ekleyin.
  • İhtiyacınız olmayan çekirdek ve katkı modüllerini devre dışı bırakın.
  • Performans için Redis ve OPcache yapılandırın.
  • Günlük yedeklemeleri VDS sunucu paketleri ile otomatikleştirin.
  • SSL sertifikasını Let's Encrypt ile kurun ve HSTS başlıklarını ekleyin.

Bu adımları izleyerek, Drupal siteniz hem hızlı hem de güvenli bir şekilde hizmet vermeye hazır olacaktır. Sorularınız varsa iletişim sayfamızdan destek alabilirsiniz.