Ana içeriğe atla

Drush nedir ? (Drupal Shell) Drush nasıl kullanılır ?

Drush (Drupal Shell) Nedir?

Drush kelimesi Drupal ve Shell kelimelerinin ilk hecelerinin birleştirilmesiyle oluşturulmuştur. Drupal kabuğuanlamına gelen Drush, Drupal ile geliştirilmiş siteleri kontrol etmek, işletmek ve geliştirmek için kullanılan bir kabuk tabanlı uygulamadır.
Drush ile neler yapabileceklerimizi sonraki bölümlerde ele alacağız fakat bu aşamada Drupal'in çekirdek güncellemesinin zorluğundan yakınanlara iyi bir haberimiz var! Drush en çok sizin yüzünüzü güldürecek.

Drush ile hangi işlemler yapılabilir?

Drush uygulaması ile saniyeler içinde çekirdek, modül ve/veya tema güncellemelerini yapabilirsiniz. Modülleri aktifleştirebilir ve/veya deaktif hale getirebilirsiniz. Modül ve tema indirebilirsiniz. Sitenizin yedeğini alabilir veyahut aldığınız yedeği sitenize geri yükleyebilirsiniz. Zen, Omega, Adaptive gibi popüler taban temaların alt temalarını oluşturabilir, oluşturduğunuz temaları aktifleştirebilirsiniz. Temiz url ye müdehalede bulunabilir, hatta drupal kurulu olmayan bir dizine drupalin en güncel ve stabil sürümünü indirebilirsiniz...
Şimdi yukarıda bahsettiğim işlemleri nasıl yapabileceğimizden bahsedelim. Tabiki önce Drush kurulumunu yapmamız gerek.

Drush kurulumu/güncellemesi

Burada yapacağımız kurulum Ubuntu dağıtımı içindir.
sudo apt-get install php-pear
satırı ile php-pear ı sistemimize yüklüyoruz.
Sonrasında aşağıdaki komutları sırayla uygulayarak drush kurulumumuzu gerçekleştiriyoruz.
pear channel-discover pear.drush.org
pear install drush/drush
drush version
Mevcut drush sürümümüzü güncellemek için ise aşağıdaki komutu kullanıyoruz.
pear upgrade drush/drush
Drush kurulummuzu tamamladıktan sonra gelin bahsettiğimiz işlemleri nasıl yapacağımıza bakmadan önce temel birkaç şey öğrenelim.
Drush ile işlem yapmak için komut satırımıza drush ile başlıyoruz.
Modül ve/veya tema indirmek için download kelimesinin kısaltılmışı olan dl
Modül ve/veya tema akfitleştirmek için için enable kelimesinin kısaltılmışı olan en
Modül ve/veya tema deaktifleştirmek için disable kelimesinin kısaltılmışı olan dis
Çekirdek, modül ve/veya tema güncellemek için update kelimesinin kısaltılmışı olan up gibi kısaltmaları kullanıyoruz.
Gelelim bu işlemleri nasıl yapacağımıza

Drush ile herhangi bir işlem yapmadan içinde bulunduğumuz dizinin doğru dizin olduğundan emin olmak için

drush status
komutunu kullanıyoruz ve sitemizin durumunu gösteren aşağıdaki gibi bir çıktı alıyoruz.
erdem@erdem-ubuntu:/var/www/learn$ sudo drush status
Drupal version : 7.28
Site URI : http://default
Database driver : mysql
Database username : root
Database name : learndblc
Database : Connected
Drupal bootstrap : Successful
Drupal user : Anonymous
Default theme : bartik
Administration theme : seven
PHP executable : /usr/bin/php
PHP configuration : /etc/php5/cli/php.ini
PHP OS : Linux
Drush version : 6.2.0
Drush configuration :
Drush alias files :
Drupal root : /var/www/learn
Site path : sites/default
File directory path : sites/default/files
Temporary file directory path : /tmp

Drush ile çekirdek, modül veya tema güncellemesi yapmak

drush up
komutu ile güncellemesi olan ne var ne yok her şeyi güncelleyebiliyoruz. Evet evet hepsi bu kadar :)
Sadece çekirdek güncellemesi için
drush up drupal
Çekirdek hariç diğer güncellemeleri yapmak için
drush up --no-core
Özellikle sadece bir modül veya temayı güncellemek için(mesela views ten bahsedelim biz)
drush up views
Son örnek ise benim başıma gelen bir olaydan yola çıkarak çok pratik olmasada birden çok modül varsa güncellenmesi gereken ve siz bir tanesini güncellemek istemiyorsanız aşağıdaki komutu kullanabilirsiniz(pcp modülünü güncellemek istemiyoruz mesela).
drush dis -y pcp && drush up -y && drush en -y pcp
komutu ile önce pcp modülünü devre dışı bırakıyoruz. Ardından güncellemeleri yapıyoruz. Sonrasında ise tekrar pcp modülünü aktifleştiriyoruz. Buradan da anlayacağımız gibi drush aktif olmayan modüllerin ya da temaların güncel olup olmadıklarını tarayamıyor ve aktif olmayan modülleri güncelleme dışında bırakıyor.
Burada ek olarak belirtmeliyim ki -y kısmı bize güncelleme, modül/tema aktifleştirme/deaktifleştirme işlemleri sırasında otomatik olarak "yes" cevabını verdiyor. Haliyle tek komutla güncelleme, aktifleştirme/deaktifleştirme işlemlerimizi yapmış oluyoruz.

Drush ile modül veya tema indirmek

drush dl proje_ismi
kalıbını kullanarak indirmek istediğimiz ne varsa indirebiliriz.
Burada proje_ismi dediğimiz kısım işlem yapmak istediğimiz modülün drupal.org sitesindeki projenin url kısmı. Nasıl mı?
Örneğin Administration Menu modülünü indirmek istiyoruz. Drupal.org'daki url sidrupal.org/project/admin_menu şeklinde. Bizim proje ismi dediğimiz kısım burada drupal.org/project/kısmından sonraki url nin devamıdır. Yani Administration Menu modülünü indirmek için
drush dl admin_menu
şeklinde kullanmamız lazım bu komutu.
Drush ın sağladığı kolaylıklardan biri ise tek komutla birden fazla modül/tema indirebilmek ve kurabilmektir.
drush dl admin_menu views ctools panels zen omega
gibi tek bir komut ile admin_menu, views, ctools, panels modülllerini ve zen, omega temalarını indirmiş oluyoruz.

Drush ile modül ve/veya tema aktifleştirmek/deaktirleştirmek

Aktifleştirmek için(views ve administration menu);
drush en -y views admin_menu
Deaktifleştirmek için;
drush dis -y views admin_menu

Drush ile yedek almak

drush archive-dump
komutu ile yedek aldığımızda aşağıdaki gibi bir çıktı vermeli.
root@erdem-ubuntu:/var/www/learn# drush archive-dump
Archive saved to [ok]
/root/drush-backups/archive-dump/20140613170333/learndblc.20140613_170334.tar.gz

Bu şekilde ftp ve veritabanı yedeğini tek komutla saniyeler içinde oluşturabiliyoruz.
Burada görüldüğü gibi /root/drush-backups/archive-dump dizini altına yedek dosyasını oluşturdu.
Eğer yedek dosyasını istediğimiz yere almak istiyorsak aşağıdaki komutu kullanmalıyız.
drush archive-dump default --destination=/istenilen/dizin/yolu/mysite.tar

Drush ile yedeği geri yüklemek

drush archive-restore ./mysite.tar.gz
komutunu kullanarak dosyalarımızı geri yükleyebiliriz.
Veri tabanı ile birlikte geri yükleme yapmak için
drush archive-restore ./example.tar.gz --db-url=mysql://root:pass@127.0.0.1/dbname
komutunu kullanmamız gerekiyor. Tabiki settings.php dosyasında gerekli değişiklikleri yaptıktan sonra.

Drush ile alt tema oluşturmak

Zen temasını indirelim ve alt temasını oluşturalım.
drush dl zen
komutu ile Zen taban temasını indiriyoruz.
Temayı indirdikten sonra bu adresteki adımları uygulayarak alt temamızı oluşturacağız. Her tema için alt tema oluşturma komutları farklı olduğundan proje sayfalarını incelemenizde fayda var.
root@erdem-ubuntu:/var/www/learn# drush en zen
The following extensions will be enabled: zen
Do you really want to continue? (y/n): n
Aborting. [cancel]
root@erdem-ubuntu:/var/www/learn# drush en -y zen
The following extensions will be enabled: zen
Do you really want to continue? (y/n): y
zen was enabled successfully. [ok]
root@erdem-ubuntu:/var/www/learn# drush cc all
'all' cache was cleared. [success]
root@erdem-ubuntu:/var/www/learn# drush zen "Zen Alt Tema" zenalttema
Starter kit for "Zen Alt Tema" created in: /var/www/learn/sites/all/themes/zenalttema

şeklinde Zen Alt Tema adlı alt temamızı oluşturmuş oluyoruz.

Drush ile temiz urlyi kapatmak

Bu makaleyi yazmayı düşündüğüm sıralarda Facebook DrupalTurkiye grubuna gelen bir soru oldu ve siteye giriş yapmadan temiz url nin nasıl kapatılacağını sordu bir arkadaşımız. O sorudan yola çıkarak grupta verdiğim cevabı buradada vereyim. Siteyi bir sunucudan bir diğerine taşıyınca bazı temiz url sorunları ile karşılaşılabiliyor ve siteye giriş yapabilmek için temiz url yi kapatmak gerekebiliyor.
drush vset clean_url 0 --yes
komutunu kullanarak drush ile temiz url yi siteye giriş yapmadan kapatabilir
drush vset clean_url 1 --yes
komutu ile açabiliriz.

Drush ile drupal çekirdeği indirmek

Son olarak bahsettiğim drupal kurulu olmayan bir dizine drupal çekirdeğini indirmek için ise
drush dl drupal
komutunu kullanıyoruz. Böylece bulunduğumuz dizine en güncel ve stabil drupal sürümünü klasör olarak indirmiş oluyoruz.
Şimdilik Drush hakkında söyleyeceklerim bu kadar.
İyi çalışmalar.
http://www.magnec.com/tr/node/44

Yorumlar

Bu blogdaki popüler yayınlar

Word Dosyasındaki Resimleri Silme - Kaldırma ?.

Microsoft Word dosyasındaki resimler toplu olarak kaldırmak Microsoft Word dosyasındaki resimleri toplu olarak kaldırmak için CTRL+H tuş kombinasyonunu kullanarak (bul-değiştir) penceresini açın. Açılan pencere de (aranan değer / find what) wordde resimleri silmek için aşağıdaki komutu yazın. ^g microsoft word de resimleri kaldırmak için (yeni değer / replace with) alanına hiçbirşey yazmayıp boş bırakın. (Tümünü değiştir /  Replace all) butonuna tıklayın. Bütün Microsoft wordde / word dosyasından bütün resimler kaybolur / silinir.

Animasyonun 12 Prensibi / Kuralı nedir ?

ANİMASYON Animasyon nedir ? Animasyon (canlandırma) , birkaç  resmin  arka arkaya hızlı bir şekilde gösterilmesiyle elde edilen hareketli görüntüdür. Geçmişte animasyonlar birkaç kağıda istenen resimlerin çizilmesi ve kâğıtların hızlıca geçirilmesi veya bir çemberin içine konup döndürülmesi ile yapılıyordu. Günümüzde  bilgisayar  teknolojisi hem  vektör  hem de  piksel  tabanlı animasyonlar yapılmasına olanak sağlamaktadır. 2D animasyon tekniğinde saniyede 12 kare çizilerek yapılır. Limited animasyon tekniğinde ise daha az kare çizilerek yapılmaktadır. Bir animasyon filmi yapılmadan önce karakter tasarımları arkasından senaryonun storyboard çalışması ve en son layout çalışması yapılmaktadır. Profesyonel bir şekilde yapılması planlanan bir animasyon filmine bu aşamalar geçilmeden başlanamaz. Animasyon teknikleri son zamanlarda yapılan işlerle teknikte sınır tanımadığını göstermiştir. Fakat genel olarak kategorize etmek gerekirse 3D, 2D, st...

YÖNETİMİN 14 İLKESİ - Henry Fayol - 1841 - 1925

YÖNETİMİN 14 İLKESİ (Henry Fayol – 1841 – 1925) 1. İŞ BÖLÜMÜ: Bir tek alanda çalışma ya da bir konuda uzmanlaşma, çalışanların daha hızlı deneyim kazanmalarına ve yeteneklerini düzenli bir şekilde geliştirmelerine yardımcı olur. Çalışanlar, iş bölümü yapılarak daha verimli hale getirilebilirler. 2. YETKİLENDİRME/YETKELENDİRME: Talimatlar doğru bir şekilde verilmeli, bununla birlikte çalışanların görevleriyle ilgili yetkileri de dengeli bir şekilde dağıtılmalıdır. 3. DİSİPLİN: Çalışanların talimatlara riayet etmesi gerekir, ancak bu iki yönlü bir olgudur: Eğer yöneticiler, iyi bir liderlik sergileyip, takımın bir parçasıymış gibi hareket ederlerse, çalışanlarının iş talimatlarına riayet etmelerini sağlayabilirler. 4. TALİMATLARDA BÜTÜNLÜK: Talimatlarda çelişkiye yol açmamak için her çalışan yalnızca bir yöneticiye bağlı olmalıdır. 5. YÖNETİMDE BÜTÜNLÜK: Aynı görevleri yapan kişiler aynı amaçlara sahip olmak zorundadır. Bu, bir şirkette koordinasyonu sağlamanın temelidir. Yönetim bütünlü...