Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Drush

kartagis
September 17, 2012

 Drush

Mini DrupalCon 17 Eylül 2012'de yaptığım Drush sunumu.

kartagis

September 17, 2012
Tweet

More Decks by kartagis

Other Decks in Technology

Transcript

  1. DRUSH SUNUMUMA HOŞGELDİNİZ! Merhaba! Drupal Türkiye grubumuzun ilk sunumu olan

    Drush sunumuna hoşgeldiniz. Ben Kartagis (Muzaffer Tolga Özses) bu sunumda kısaca size Drush'un ne olduğundan, kurulumundan, kullanımından kısaca bahsedeceğim. Bu sunum bilgisayarciniz.org tarafından desteklenmektedir.
  2. DRUSH NEDİR? Drush ilk olarak 2006 yılında Moshe Weitzman tarafından

    yazılmış ve şu anki sürümü 7.x-5.7 olan bir can kurtarıcıdır. Drush adı Drupal Shell kelimelerinin ilk hecelerinin alınmalarından meydana gelmiştir. Drupal IRC kanalında Druplicon'a sorduğunuzda “dilimlenmiş ekmekten üstün” olduğunu söyler.
  3. DRUSH KURULUMU • Drush'u drupal.org üzerindeki http://drupal.org/project/drush proje sayfasından indirebileceğiniz

    gibi, kullandığınız GNU/Linux dağıtımının depolarından da indirebilirsiniz. Ben proje sayfasından indirmeyi öneriyorum. Böylece depolardaki Drush eski olabileceği için her zaman güncel kalmış olursunuz. Bir sonraki sayfada hem proje sayfasından indirip açmayı, hem de birkaç dağıtımın deposundan kurmayı göstereceğim.
  4. DRUSH KURULUMU - DEVAM • Bir önceki sayfada dediğim gibi

    Drush'u hem proje sayfasından hem de depolardan indirebilirsiniz. • Proje sayfasından indirip kurmak için http://ftp.drupal.org/files/projects/drush-7.x-5.7.zip dosyasını indirip diskte bir yere açın (neresi olduğu önemli değil) ve ~/.bashrc dosyanıza (burada ~ kullanıcı dizininize denk geliyor) alias drush='/usr/local/bin/drush/drush' yazıp kaydettikten sonra source ~/.bashrc yazıp Enter tuşuna basarsanız drush için bir kısayol yaratmış olursunuz. • Depolardan kurmak için kullandığınız GNU/Linux dağıtımının paket yöneticisi ile kurabilirsiniz (Debian ve Ubuntu için apt-get install drush, CentOS için yum install drush)
  5. DRUSH KULLANIMI • Drush ile birçok şey yapılabilir. Bunların en

    basitleri modül ve tema kurmak. Ama kesinlikle zahmetli değil. Drush'ı kullanmak için Drupal kurulumunun içinde olmanız gerekiyor ve herhangi bir dizinde olmanız yeterli. • Örneğin: drush dl views pathauto sky corolla komutu views ve pathauto modüllerini /sites/all/modules/ dizinine, sky ve corolla temalarını /sites/all/themes/ dizinine indirir ve kendisi açar.
  6. DRUSH KULLANIMI - DEVAM • Bir önceki sayfada views ve

    pathauto modüllerini indirmiştik. Şimdi gelelim burada Drush'ın bize yaptığı kolaylığa. drush en views pathauto komutunu verdiğimizde views modülü ctools modülünü, pathauto modülü de token modülünü istediği için otomatik olarak bunlar da otomatik olarak /sites/all/modules/ dizinine indirilip açılacak. Peki Drush modüllerin gereksinimlerini nereden anlıyor? Modüllerin .info dosyasına bakıyor.
  7. DRUSH BU KADARLA SINIRLI MI? • Tabii ki hayır. Drush'la

    bir sürü şey yapabilirsiniz. Standart olanlardan birkaç tanesi modül ve tema kurmak ve gereksinimlerini çözmek, önbelleği temizlemek, kullanıcı oluşturmak ve silmek, bütün kullanıcılara mesaj göndermek. Birçok modülle de yeni drush komutları geliyor. Bunlar komut satırında drush yazdığınızda çıkan yardım metninde All commands in devel şeklinde ayrılıyor. Örneğin drush generate users komutuyla devel modülüne kullanıcı oluşturtabilirsiniz. Tabii ki bu komutların olması için devel modülünün kurulu olması gerekiyor. Komutların tam listesini komut satırında drush yazarak alabilirsiniz. http://drupal.org/project/modules?filters=tid:4654adresinden ise drush uyumlu modüllerin listesini görebilirsiniz.
  8. DRUSH VE ÇOKLU-SİTE • Önce size çoklu-sitenin ne olduğundan ve

    kurulumundan bahsedeyim. Çoklu-site kurulumu bir Drupal kurulumu altında birden çok web sitesi kurmak için tasarlanmış bir yapıdır. • Çoklu-site kurulumu yapmak için önce normal bir Drupal kurulumu yapmanız gerekiyor. Daha sonra sites/ dizini altına diğer siteleri temsil edecek birer dizin açmanız gerek. Benim örneğim sites/drupalizm.com/ olacak. Daha sonra ise sites/default/default.settings.php dosyasını sites/drupalizm.com/settings.php olarak kopyalayıp drupalizm.com/ dizininin ve settings.php dosyasının izinlerini chmod ile 777 yapmanız gerek. Burada dikkat edilmesi gereken en büyük nokta eğer Apache web sunucusunu kullanıyorsanız bütün web siteleri için DocumentRoot değerinin aynı olması gerektiği. Daha sonra http://drupalizm.com adresine gidip kurulumu yapıyorsunuz.
  9. PEKİ YA MODÜLLER/TEMALAR? • Modüller ve temalar dilerseniz sites/all/modules dizininde

    olabilir, dilerseniz sites/drupalizm.com/modules dizininde. Ben şahsen sites/all/modules dizinini tercih ediyorum, çünkü güncellemek çok daha kolay oluyor. Eğer Drupal kurulumunun ana dizininde drush dl <projeismi> komutunu verirseniz proje sites/all/modules ya da themes dizinine iniyor, ama sites/drupalizm.com dizininin içinde verirseniz sites/drupalizm.com/modules dizinine iniyor; ama bu benim tercih ettiğim bir yol değil. Burada takma adlar devreye giriyor. drush kurulumunun içinde olan examples/ dizinindeki example.aliases.drushrc.php dosyasını bir üst dizine aliases.drushrc.php olarak kopyalayın. İçine drupalizm.com için (ben drupalizm demeyi tercih ettim) takma ad yaratırsanız drush dl <projeismi> ile indirdiğiniz projeyi, drush @drupalizm en <modülismi> ile etkinleştirebilirsiniz.
  10. PROJE/MODÜL? • Neden bir önceki sayfada hem projeismi, hem de

    modülismi kullandık? Bunun nedeni şu: Bir projede (örneğin Übercart) proje ismi ve modül ismi aynı olmayabiliyor. Örneğin Übercart bir proje, ancak bunun içinde olan uc_paypal bir modül. Onun için drush dl ubercart dedikten sonra drush @drupalizm en uc_paypal dememiz gerekiyor. Tabii ki uc_paypal'ı etkinleştirmek istediğimizde eğer bu modülün gereksinimleri varsa o modüller de etkinleştirilecek. Bir ipucu: Eğer drush @drupalizm -y en uc_paypal derseniz her soruya evet demişsiniz gibi davranır, fakat -y seçeneğini koymazsanız her soruya ayrı ayrı evet demek zorunda kalırsınız. Bu seçenek bütün komutlarla kullanılabiliyor.