Drush’a Başlangıç Kılavuzu: Drupal Kabuğu
Drupal, web siteleri ve uygulamaları oluşturmak için güçlü ve esnek bir içerik yönetim sistemidir (CMS). Ancak, Drupal’ın tam potansiyelini kullanmak ve geliştirme süreçlerini hızlandırmak için sadece web arayüzü yeterli olmayabilir. İşte bu noktada Drush devreye girer. Drush, “Drupal Shell” kelimelerinin kısaltması olup, Drupal için bir komut satırı arayüzüdür (CLI). Bu kılavuz, Drush’ın ne olduğunu, neden bu kadar önemli olduğunu ve Drupal projelerinizde nasıl kullanmaya başlayacağınızı adım adım açıklamaktadır.
Giriş: Drush Nedir ve Neden Önemlidir?
Drush, Drupal web sitelerini komut satırından yönetmek, geliştirmek ve bakımını yapmak için kullanılan güçlü, esnek ve açık kaynaklı bir araçtır. Bir Drupal geliştiricisi, site kurucusu veya sistem yöneticisiyseniz, Drush iş akışınızı önemli ölçüde hızlandıracak ve birçok manuel görevi otomatikleştirmenize olanak tanıyacaktır.
Peki, Drush’ı bu kadar önemli kılan nedir?
* Hız ve Verimlilik: Web arayüzünde birkaç tıklamayla yapacağınız işlemleri Drush ile tek bir komutla çok daha hızlı gerçekleştirebilirsiniz. Örneğin, önbelleği temizlemek, modülleri etkinleştirmek veya devre dışı bırakmak, veritabanı güncellemelerini çalıştırmak saniyeler sürer.
* Otomasyon: Tekrarlayan görevleri otomatikleştirmek için Drush komutlarını betiklere (script) dahil edebilirsiniz. Bu, sürekli entegrasyon/sürekli dağıtım (CI/CD) süreçlerinde veya düzenli bakım görevlerinde hayati önem taşır.
* Uzaktan Yönetim: Drush, SSH üzerinden uzak Drupal siteleriyle etkileşim kurmanıza olanak tanır. Bu, birden fazla sunucuda veya farklı ortamlar (geliştirme, test, üretim) arasında çalışırken büyük bir avantaj sağlar.
* Geliştirme Araçları: Drush, modül ve tema geliştiricileri için de paha biçilmez araçlar sunar. Örneğin, yeni bir modül veya kontrolcü iskeleti oluşturabilir, veritabanı tablolarını inceleyebilir veya tek kullanımlık bir giriş bağlantısı oluşturarak hızlıca yönetici paneline erişebilirsiniz.
* Tutarlılık: Komut satırı üzerinden yapılan işlemler, web arayüzüne göre daha tutarlı ve tekrarlanabilir sonuçlar verir. Bu, özellikle ekip içinde çalışırken veya birden fazla ortamı yönetirken önemlidir.
Kısacası, Drush, bir Drupal projesinin yaşam döngüsünün her aşamasında size zaman kazandıracak ve üretkenliğinizi artıracak bir “İsviçre Çakısı” gibidir.
Drush Kurulumu: Adım Adım Rehber
Drush’ı kullanmaya başlamadan önce, sisteminizde belirli önkoşulların kurulu olduğundan emin olmalısınız. Modern Drupal projeleri genellikle Composer ile yönetildiğinden, Drush’ı da Composer aracılığıyla kurmak en yaygın ve önerilen yöntemdir.
Önkoşullar
Drush’ı çalıştırmak için aşağıdaki bileşenlere ihtiyacınız olacaktır:
* PHP: Drupal’ın kendisi gibi Drush da PHP ile yazılmıştır. Drupal sürümünüze uygun bir PHP sürümünün (örneğin, Drupal 9/10 için PHP 8.1 veya üzeri) kurulu ve komut satırından erişilebilir olduğundan emin olun.
* Gerekli PHP uzantıları: json, dom, gd, mbstring, zip, xml, pdo_mysql (veya kullandığınız veritabanı için ilgili PDO uzantısı).
* Composer: PHP bağımlılık yöneticisi Composer, Drush’ı kurmak ve yönetmek için temel araçtır. Composer’ın global olarak kurulu olduğundan emin olun. Kurulum talimatları için getcomposer.org adresini ziyaret edebilirsiniz.
* Git (İsteğe Bağlı ama Önerilir): Projelerinizin sürüm kontrolü için Git kullanmak, Drush kurulumunuzu ve projenizi daha iyi yönetmenizi sağlar.
Composer ile Kurulum (Önerilen Yöntem)
Modern Drupal projeleri için Drush’ı proje bazında (project-local) kurmak en iyi yöntemdir. Bu, her projenin kendi Drush sürümünü kullanmasını sağlar ve potansiyel sürüm çakışmalarını önler.
Proje Bazında Kurulum
1. Drupal Projenizin Kök Dizinine Gidin:
cd /path/to/your/drupal/project
2. Drush’ı Composer ile Kurun:
composer require drush/drush
Bu komut, Drush’ı projenizin vendor/drush/drush dizinine indirir ve yürütülebilir dosyasını vendor/bin/drush altına yerleştirir.
3. Drush’ı Çalıştırın: Proje bazında kurulan Drush’ı çalıştırmak için her zaman tam yolu belirtmeniz gerekir:
vendor/bin/drush status
Bu komut, Drupal sitenizin ve Drush kurulumunuzun durumunu gösterir.
Global Kurulum (Alternatif, Daha Az Önerilir)
Eski projelerle çalışıyorsanız veya Drush’ı tüm sisteminizde global olarak erişilebilir kılmak istiyorsanız, global kurulum yapabilirsiniz. Ancak bu, farklı Drupal projelerinin farklı Drush sürümleri gerektirmesi durumunda sorunlara yol açabilir.
1. Drush’ı Global Olarak Kurun:
composer global require drush/drush
2. PATH Ortam Değişkenine Ekleyin: Composer’ın global bin dizinini (genellikle ~/.composer/vendor/bin veya ~/.config/composer/vendor/bin) sisteminizin PATH ortam değişkenine eklemeniz gerekir. Bunun için ~/.bashrc, ~/.zshrc veya ~/.profile dosyanıza aşağıdaki satırı ekleyebilirsiniz:
export PATH="$PATH:$HOME/.composer/vendor/bin"
Değişiklikleri uygulamak için terminalinizi yeniden başlatın veya source ~/.bashrc (veya ilgili dosyanız) komutunu çalıştırın.
3. Drush’ı Çalıştırın: Artık drush komutunu doğrudan kullanabilirsiniz:
drush status
Kurulumu Doğrulama
Drush’ın doğru şekilde kurulup kurulmadığını kontrol etmek için aşağıdaki komutları kullanın:
* Sürüm Kontrolü:
drush --version
veya proje bazında kuruluysa:
vendor/bin/drush --version
Bu, kurulu Drush sürümünü göstermelidir.
* Durum Kontrolü:
drush status
veya proje bazında kuruluysa:
vendor/bin/drush status
Bu komut, Drupal sürümü, Drush sürümü, veritabanı bağlantısı ve diğer önemli sistem bilgilerini içeren ayrıntılı bir rapor sunar. Eğer bu komutlar başarılı bir şekilde çalışırsa, Drush’ınız kullanıma hazır demektir!
Drush Temelleri: İlk Komutlarınız
Drush’ın temel komut yapısını ve en sık kullanılan komutları öğrenmek, Drupal geliştirme ve yönetim süreçlerinizde size büyük kolaylıklar sağlayacaktır.
Drush Komut Yapısı
Drush komutları genellikle aşağıdaki yapıya sahiptir:
drush [komut] [argümanlar] [seçenekler]
* drush: Drush yürütülebilir dosyası. Proje bazında kullanıyorsanız vendor/bin/drush şeklinde olacaktır.
* [komut]: Çalıştırmak istediğiniz Drush komutu (örneğin, cr, en, updb). Drush 9 ve sonrası için komutlar genellikle namespace:command formatındadır (örneğin, cache:rebuild, pm:enable). Ancak birçok eski komutun kısa versiyonları hala çalışmaktadır.
* [argümanlar]: Komutun ihtiyaç duyduğu değerler (örneğin, bir modülün adı).
* [seçenekler]: Komutun davranışını değiştiren veya ek bilgi sağlayan isteğe bağlı parametreler (örneğin, --yes veya --uri).
Yardım Alma
Herhangi bir Drush komutu hakkında bilgi almak için help komutunu kullanabilirsiniz:
drush help
drush help [komut_adı]
Örneğin, drush help cr komutu cache:rebuild komutu hakkında ayrıntılı bilgi verecektir.
Sık Kullanılan Temel Drush Komutları
İşte yeni başlayanlar için en faydalı Drush komutlarından bazıları:
drush status (sts)
Drupal sitenizin ve Drush kurulumunuzun genel durumunu gösterir. Drupal sürümü, veritabanı adı, Drush kök dizini gibi bilgileri içerir.
drush status
drush cache:rebuild (cr)
Drupal’ın önbelleğini temizler ve yeniden oluşturur. Bu, özellikle modül yükledikten, tema değiştirdikten veya yapılandırma dosyalarında değişiklik yaptıktan sonra sıkça kullanılan bir komuttur.
drush cr
drush update:database (updb)
Modül güncellemelerinden veya yeni modül kurulumlarından sonra veritabanı güncellemelerini çalıştırır. update.php dosyasını tarayıcıdan çalıştırmakla eşdeğerdir.
drush updb
Genellikle --yes (-y) seçeneği ile birlikte kullanılır, bu da tüm onay sorularını otomatik olarak “evet” yanıtıyla geçmenizi sağlar:
drush updb -y
drush pm:enable (en) / drush pm:disable (dis)
Modülleri etkinleştirir veya devre dışı bırakır. Birden fazla modülü aynı anda etkinleştirebilirsiniz.
drush en [modül_adı]
drush en node taxonomy user -y # Node, Taxonomy ve User modüllerini etkinleştirir
drush dis views_ui # Views UI modülünü devre dışı bırakır
drush pm:list (pml)
Sitenizde yüklü tüm modül ve temaların bir listesini gösterir. Filtreleme seçenekleri de mevcuttur.
drush pml # Tüm modül ve temaları listeler
drush pml --status=enabled # Yalnızca etkin modülleri listeler
drush pml --type=module --status=disabled # Devre dışı modülleri listeler
drush user:login (uli)
Yönetici kullanıcı için tek kullanımlık bir giriş bağlantısı oluşturur. Bu, şifrenizi unuttuğunuzda veya hızlıca yönetici paneline erişmeniz gerektiğinde çok kullanışlıdır.
drush uli
Belirli bir kullanıcı için bağlantı oluşturmak isterseniz:
drush uli --name=admin
drush site:install (si)
Yeni bir Drupal sitesi kurar. Bu komut, Drupal’ı sıfırdan kurmak için kullanılır ve kurulum profilini, veritabanı bilgilerini ve site ayarlarını belirtmenize olanak tanır.
drush si standard --db-url=mysql://user:pass@host/db_name --site-name="My Drush Site" --site-mail=admin@example.com --account-name=admin --account-pass=password -y
Bu komut oldukça güçlüdür ve otomasyon betiklerinde sıkça kullanılır.
drush config:export (cex) / drush config:import (cim)
Drupal 8 ve sonrası için yapılandırma yönetimi (Configuration Management) hayati önem taşır. Bu komutlar, site yapılandırmasını dosya sistemine aktarmak (export) veya dosya sisteminden içe aktarmak (import) için kullanılır.
drush cex # Yapılandırmayı sites/default/files/config_HASH dizinine aktarır
drush cim # Yapılandırmayı dosya sisteminden içe aktarır
Bu komutlar, geliştirme, test ve üretim ortamları arasında yapılandırma değişikliklerini senkronize etmek için vazgeçilmezdir.
drush sql:dump
Drupal veritabanınızın bir yedeğini oluşturur. Bu, özellikle büyük bir değişiklik yapmadan önce veya düzenli yedekleme işlemleri için önemlidir.
drush sql:dump > backup.sql
Bu, veritabanını backup.sql adlı bir dosyaya döker.
drush sql:cli
Veritabanına doğrudan komut satırı arayüzünden erişmenizi sağlar. Bu, hızlı SQL sorguları çalıştırmak veya veritabanı içeriğini incelemek için faydalıdır.
drush sql:cli
Bu komut sizi doğrudan MySQL/MariaDB veya PostgreSQL istemcisine bağlar.
Bu temel komutlar, Drush ile etkileşim kurmanız için sağlam bir başlangıç noktası sağlar. Her bir komutun daha fazla seçeneği ve yeteneği olduğunu unutmayın; bunları drush help [komut_adı] ile keşfedebilirsiniz.
Drush’ı Daha Verimli Kullanmak: Gelişmiş Özellikler ve İpuçları
Drush’ın temel komutlarına hakim olduktan sonra, iş akışınızı daha da optimize etmek için bazı gelişmiş özelliklerini ve ipuçlarını öğrenmek isteyebilirsiniz.
Takma Adlar (Aliases)
Drush takma adları, uzun komutları kısaltmanıza, farklı Drupal siteleri arasında kolayca geçiş yapmanıza ve hatta uzak sunuculardaki sitelerle etkileşim kurmanıza olanak tanıyan güçlü bir özelliktir.
Takma Ad Nedir?
Bir takma ad, bir Drupal sitesini tanımlayan bir dizi yapılandırma ayarıdır. Bu ayarlar genellikle sitenin kök dizini (root), URL’si (uri) ve SSH bağlantı bilgileri gibi detayları içerir.
Takma Ad Oluşturma
Takma adlar genellikle YAML dosyalarında (.yml) tanımlanır. Bu dosyaları Drush’ın çeşitli yerlerde aradığı konumlara yerleştirebilirsiniz:
* Proje Bazında: /drush/sites dizini (önerilen).
* Kullanıcı Bazında: ~/.drush/sites dizini.
* Sistem Bazında: /etc/drush/sites dizini.
Örnek bir takma ad dosyası (drush/sites/myproject.site.yml):
local:
host: localhost
uri: http://myproject.ddev.site
root: /var/www/html
paths:
drush-script: /var/www/html/vendor/bin/drush
ssh:
options: '-o StrictHostKeyChecking=no -o PasswordAuthentication=no'
dev:
host: dev.example.com
user: ssh_user
root: /var/www/dev.example.com/web
uri: http://dev.example.com
ssh:
options: '-p 2222' # Özel bir SSH portu varsa
Bu örnekte local ve dev adında iki takma ad tanımlanmıştır. local genellikle yerel geliştirme ortamınız içindir, dev ise bir uzak geliştirme sunucusu içindir.
Takma Adları Kullanma
Takma adları kullanmak için komutlarınızın başına @ sembolü ile takma adın adını eklersiniz:
drush @local status # Yerel sitenin durumunu gösterir
drush @dev cr # Uzak geliştirme sunucusundaki sitenin önbelleğini temizler
drush @dev updb -y # Uzak geliştirme sunucusundaki sitenin veritabanını günceller
Uzaktan Drush (Remote Drush)
Takma adlar sayesinde, Drush’ı SSH üzerinden uzak sunuculardaki Drupal siteleriyle etkileşim kurmak için kullanabilirsiniz. Bu, sunucunuza SSH ile bağlanıp ardından Drush komutlarını çalıştırmak yerine, doğrudan yerel makinenizden uzak siteler üzerinde Drush komutları çalıştırmanıza olanak tanır.
* Önkoşul: Uzak sunucuda SSH erişiminiz olmalı ve Drush’ın uzak sunucuda kurulu olması gerekmektedir. Ayrıca, genellikle anahtar tabanlı kimlik doğrulama kullanılması önerilir.
* Kullanım: Yukarıdaki takma ad örneğinde olduğu gibi, host, user ve root gibi bilgileri içeren bir takma ad tanımladıktan sonra, @dev cr gibi komutlarla uzak site üzerinde işlem yapabilirsiniz.
Drush ve Modül/Tema Geliştirme
Drush, modül ve tema geliştiricileri için de hayatı kolaylaştıran araçlar sunar.
drush generate
Bu komut, yeni bir modül, tema, kontrolcü, form veya diğer Drupal bileşenlerinin iskeletini oluşturarak geliştirme sürecini hızlandırır.
drush generate module # Yeni bir modül oluşturmak için sihirbazı başlatır
drush generate controller # Yeni bir kontrolcü oluşturur
Bu, manuel olarak dosya ve dizin oluşturma zahmetinden kurtarır.
Drush ve Yapılandırma Yönetimi (Config Management)
Drupal 8 ve sonrası için yapılandırma yönetimi, Drush ile birleştiğinde inanılmaz derecede güçlüdür.
* drush config:export (cex): Mevcut site yapılandırmasını dosya sistemine aktarır. Bu dosyalar Git ile sürüm kontrolüne alınır.
* drush config:import (cim): Dosya sistemindeki yapılandırma değişikliklerini veritabanına uygular.
* drush config:diff: Mevcut veritabanı yapılandırması ile dosya sistemindeki yapılandırma arasındaki farkları gösterir. Bu, drush cim çalıştırmadan önce nelerin değişeceğini görmenizi sağlar.
* drush config:set / drush config:get: Belirli bir yapılandırma değerini komut satırından ayarlamak veya almak için kullanılır.
Bu komutlar, geliştirme, test ve canlı ortamlar arasında yapılandırmayı senkronize etmek için CI/CD iş akışlarının temelini oluşturur.
Toplu İşlemler ve Betikler
Drush komutlarını bir araya getirerek daha karmaşık görevleri otomatikleştirebilirsiniz. Örneğin, bir dağıtım betiği (deployment script) aşağıdaki adımları içerebilir:
#!/bin/bash
Proje dizinine git
cd /var/www/html
En son kod değişikliklerini çek
git pull
Composer bağımlılıklarını güncelle
composer install
Veritabanı güncellemelerini çalıştır
vendor/bin/drush updb -y
Yapılandırmayı içe aktar
vendor/bin/drush cim -y
Önbelleği temizle
vendor/bin/drush cr
Bu tür bir betik, canlı bir siteyi tek bir komutla güncellemeyi mümkün kılar.
Hata Ayıklama ve Detaylı Çıktı
Drush komutları çalışırken daha fazla bilgi almak veya sorunları ayıklamak için aşağıdaki seçenekleri kullanabilirsiniz:
* --verbose (-v): Daha ayrıntılı çıktı sağlar.
* --debug: En detaylı çıktıyı verir, Drush’ın dahili süreçlerini gösterir.
* --simulate (-s): Bazı komutlar için (örneğin config:import), komutun aslında ne yapacağını gösterir ancak değişiklikleri uygulamaz.
drush cr -v
drush cim --debug
Bu gelişmiş özellikler, Drush’ı sadece temel görevler için değil, aynı zamanda karmaşık geliştirme ve yönetim senaryoları için de güçlü bir araç haline getirir.
Sık Karşılaşılan Sorunlar ve Çözümleri
Drush kullanırken karşılaşabileceğiniz bazı yaygın sorunlar ve bunların nasıl çözüleceği aşağıda listelenmiştir:
drush command not found
Bu hata genellikle Drush’ın yürütülebilir dosyasının sisteminizin PATH ortam değişkeninde olmamasından veya yanlış kurulmasından kaynaklanır.
* Çözüm:
* Eğer proje bazında kurduysanız, vendor/bin/drush yolunu kullandığınızdan emin olun.
* Eğer global olarak kurduysanız, Composer’ın global bin dizininin (~/.composer/vendor/bin veya ~/.config/composer/vendor/bin) PATH’inize eklendiğinden ve terminalinizi yeniden başlattığınızdan emin olun.
* Drush’ın gerçekten Composer tarafından kurulduğunu kontrol edin (ls ~/.composer/vendor/bin/drush).
PHP Sürümü Uyumsuzluğu
Drush’ın çalıştığı PHP sürümü ile Drupal projenizin beklediği PHP sürümü farklı olabilir.
* Çözüm:
* Terminalinizde php -v komutunu çalıştırarak varsayılan PHP sürümünüzü kontrol edin.
* Eğer farklı bir PHP sürümü kullanmanız gerekiyorsa, bunu Drush’a --php=/path/to/php seçeneği ile belirtebilirsiniz. Örneğin:
drush --php=/usr/bin/php8.2 status
* Bazı yerel geliştirme ortamları (Docker, Lando, DDEV) kendi PHP sürümlerini yönetir ve Drush’ı bu ortamlar içinde çalıştırmanız gerekir.
Bellek Limiti Sorunları
Özellikle büyük veritabanı işlemleri veya önbellek temizleme gibi yoğun komutlar çalıştırırken “Allowed memory size of X bytes exhausted” hatası alabilirsiniz.
* Çözüm:
* PHP’nin komut satırı için bellek limitini artırın. Bunu php.ini dosyanızda memory_limit ayarını değiştirerek yapabilirsiniz.
* Drush komutunu çalıştırırken geçici olarak bellek limitini artırabilirsiniz:
drush --php-options='-d memory_limit=512M' cr
Veritabanı Bağlantı Hataları
SQLSTATE[HY000] [1045] Access denied for user... veya benzeri hatalar, Drush’ın Drupal veritabanına bağlanamadığını gösterir.
* Çözüm:
* sites/default/settings.php dosyasındaki veritabanı kimlik bilgilerini (kullanıcı adı, şifre, veritabanı adı, host) kontrol edin.
* Veritabanı sunucusunun çalıştığından ve doğru port üzerinden erişilebilir olduğundan emin olun.
* Kullanıcının belirtilen veritabanına erişim izinlerinin olduğundan emin olun.
Dosya/Dizin İzinleri Sorunları
Drush’ın dosya sistemi üzerinde yazma veya okuma izni olmadığında hatalar meydana gelebilir. Özellikle sites/default/files dizini için bu sıkça görülür.
* Çözüm:
* sites/default/files dizininin web sunucusu kullanıcısı (genellikle www-data veya nginx) tarafından yazılabilir olduğundan emin olun.
* Gerekirse izinleri ayarlayın:
sudo chown -R www-data:www-data /path/to/your/drupal/project/web/sites/default/files
sudo chmod -R 0775 /path/to/your/drupal/project/web/sites/default/files
* settings.php dosyasının da doğru izinlere sahip olduğundan emin olun (genellikle 644 veya 444).
Composer Bağımlılık Çakışmaları
Yeni bir modül kurarken veya güncellerken Composer bağımlılık çakışmaları yaşayabilirsiniz.
* Çözüm:
* composer update veya composer require komutlarını çalıştırırken --with-dependencies veya --with-all-dependencies seçeneklerini kullanmayı deneyin.
* composer why-not [paket_adı] komutu ile çakışmaya neden olan bağımlılıkları belirleyin.
* composer clear-cache ile Composer önbelleğini temizleyin.
* composer.lock dosyasını silip composer install ile yeniden bağımlılıkları kurmayı deneyin (dikkatli olun, bu durum beklenmedik sürüm güncellemelerine yol açabilir).
Bu sorun giderme ipuçları, Drush kullanımınız sırasında karşılaşabileceğiniz çoğu yaygın sorunu çözmenize yardımcı olacaktır.
Drush Güvenliği: En İyi Uygulamalar
Drush güçlü bir araçtır ve bu güç, doğru kullanılmadığında potansiyel güvenlik riskleri de taşıyabilir. Drush’ı güvenli bir şekilde kullanmak için bazı en iyi uygulamalar şunlardır:
* Canlı Ortamlarda Dikkatli Kullanım: Üretim ortamlarında Drush komutlarını çalıştırırken son derece dikkatli olun. Her komutu çalıştırmadan önce ne yapacağını anladığınızdan emin olun. Özellikle --yes (-y) seçeneğini kullanırken iki kez düşünün. Yanlış bir komut, veritabanı kaybına veya site çökmesine neden olabilir.
* Minimum Ayrıcalık Prensibi: Sunucunuzda Drush’ı çalıştıran kullanıcının yalnızca ihtiyacı olan minimum izinlere sahip olduğundan emin olun. Drush genellikle web sunucusu kullanıcısı (örneğin, www-data) veya özel bir dağıtım kullanıcısı tarafından çalıştırılmalıdır. root kullanıcısı olarak Drush çalıştırmaktan kaçının.
* SSH Anahtar Tabanlı Kimlik Doğrulama: Uzak sunucularla Drush takma adları aracılığıyla etkileşim kurarken her zaman SSH anahtar tabanlı kimlik doğrulamayı kullanın. Parola tabanlı kimlik doğrulama daha az güvenlidir ve otomasyonu zorlaştırır.
* Drush’ı Güncel Tutun: Drush’ın en son stabil sürümünü kullandığınızdan emin olun. Güncellemeler genellikle güvenlik düzeltmeleri ve performans iyileştirmeleri içerir. composer update drush/drush komutuyla Drush’ı güncelleyebilirsiniz.
* settings.php Dosyasının Güvenliği: Drupal’ın settings.php dosyası hassas veritabanı kimlik bilgilerini içerir. Bu dosyanın doğru izinlere sahip olduğundan (genellikle 644 veya 444 ve web sunucusu tarafından okunabilir olmalı) ve halka açık web erişimine kapalı olduğundan emin olun.
* Drush Komutlarının Kaydedilmesi: Özellikle canlı ortamlarda hangi Drush komutlarının ne zaman çalıştırıldığını takip etmek için komut geçmişini (bash history) veya dağıtım betiklerini kullanın. Bu, sorun giderme ve denetim için faydalıdır.
* Yedeklemeler: Büyük Drush komutlarını (özellikle updb, cim veya sql:query gibi veritabanı etkileşimli olanları) çalıştırmadan önce daima veritabanı ve dosya sisteminin yedeğini alın. drush sql:dump komutu bu amaçla kullanılabilir.
Bu güvenlik uygulamalarını takip etmek, Drush’ı kullanırken sitelerinizin güvenliğini sağlamanıza yardımcı olacaktır.
Sonuç ve Gelecek: Drush’ın Drupal Ekosistemindeki Yeri
Bu kılavuz boyunca, Drush’ın Drupal geliştiricileri ve yöneticileri için neden vazgeçilmez bir araç olduğunu, nasıl kurulduğunu, temel komutlarını ve gelişmiş özelliklerini inceledik. Drush, Drupal ile çalışırken hız, verimlilik, otomasyon ve uzaktan yönetim gibi birçok avantaj sunar.
Drush’ın temel faydalarını tekrar özetlemek gerekirse:
* Zaman Tasarrufu: Tekrarlayan görevleri hızla gerçekleştirir.
* Otomasyon Yeteneği: CI/CD süreçlerini ve bakım görevlerini kolaylaştırır.
* Esneklik: Yerel, uzak ve çoklu site ortamlarında sorunsuz çalışır.
* Geliştirme Desteği: Modül ve tema geliştirme süreçlerini hızlandırır.
* Tutarlılık: Komut satırı üzerinden yapılan işlemlerle hata oranını düşürür.
Drush, Drupal ekosisteminin temel bir parçası haline gelmiştir ve gelecekte de bu rolünü sürdürmesi beklenmektedir. Drupal’ın sürekli gelişimiyle birlikte Drush da yeni özellikler ve iyileştirmelerle güncellenmeye devam edecektir.
Drush’ı öğrenmek, Drupal beceri setinize paha biçilmez bir katkı sağlayacaktır. Başlangıçta komut satırı arayüzü biraz göz korkutucu gelebilir, ancak pratik yaparak ve Drush’ın kapsamlı yardım sistemi ile keşfederek kısa sürede uzmanlaşabilirsiniz. Drupal projelerinizde Drush’ı aktif olarak kullanmaya başlayarak, geliştirme ve yönetim süreçlerinizde ne kadar büyük bir fark yarattığını bizzat deneyimleyin. Drush ile Drupal yolculuğunuzda başarılar dileriz!
