Multisite (tekil kurulum) ve drush

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
Kartagis's picture

Merhaba,

Dün GANYANCI ile konuşurken bana tekil kurulum yapmak istediğini, çünkü her yeni modül ve çekirdek güncellemesinde güncellemelerin çok zaman aldığını söyledi; ben de bunu yazmaya ve drush ile nasıl kullanılabileceğini anlatmaya karar verdim.

Drush kullanabilmek için öncelikle SSH erişiminiz olan bir sunucuya sahip olmanız lazım. İşletim sistemi Linux ise kendi depolarından ya da http://drupal.org/project/drush adresinden çekebiliyorsunuz. Eğer Windows ise (ki ben Windows üzerinde hiç kullanmadım) proje sayfasından çekmeniz daha doğru olur. Daha sonra /usr/local/bin/drush altına açıp kökteki .bashrc dosyasına alias drush='/usr/local/bin/drush/drush' yazıp daha sonra da kabukta source .bashrc yazıp enter tuşuna basıp kısayolu eklemeniz gerek.

Şimdi gelelim drupal tekil kurulumuna. Drupal'ı her zamanki gibi kurun, veritabanını ekleyin, yani bir site kurun. Daha sonra sites/ dizini altında yeni kurulumunuzu yansıtacak (örnek: ornek.com) bir dizin açıp sites/default/default.settings.php dosyasını buraya settings.php olarak kopyalayın. Eğer bazı modüller veya temalar sadece bu yeni sitede kullanılacaksa modules ve themes altında yeni iki tane dizin yaratın. Eğer modülleri tek bir yerde toplamak istiyorsanız ya da birden çok site bu modülü kullanacaksa buna gerek yok, her zamanki gibi sites/all/modules dizini kullanılabilir. Daha sonra yeni sitenizi kurun.

Üsteek paragrafta yazan işlemleri, kurmak istediğiniz bütün siteler için tekrarlayın.

Şimdi gelelim drush ile birlikte kullanmak için kısayol oluşturmaya. Drush kurulumunun olduğu klasöre gidin ve examples/ klasöründeki example.aliases.drushrc.php dosyasını drush dizinine taşıyın ve adını aliasas.drushrc.php yapın ve izinlerini 755 yapın. Daha sonra içine girip en alttaki satırları $aliases['bilgisayarciniz'] = array('root' => '/var/www/drupal', 'uri' => 'bilgisayarciniz.org', ); gibi düzenleyin. Bu ne işe yarayacak? Örneğin drush dl webform ile webform modülünü indirdim ve bunu bir tek bilgisayarciniz.org için etkinleştirmek istiyorum. Drush kısayolu ile drush @bilgisayarciniz (bu kısayolları siz belirliyorsunuz) en webform ile sadece bilgisayarciniz.org için etkinleştirebilirim.

Kolay gelsin :)

Not: httpd yapılandırma dosyasında da aşağıdaki gibi yapılandırma yapmanız gerekiyor.

ServerName www.biberlifoto.net
ServerAlias biberlifoto.net
DocumentRoot /var/www/drupal
ErrorLog /var/log/httpd/www.biberlifoto.net-error.log
CustomLog /var/log/httpd/www.biberlifoto.net-access.log combined

AllowOverride All

ServerName www.bilgisayarciniz.org
ServerAlias bilgisayarciniz.org
DocumentRoot /var/www/drupal
ErrorLog /var/log/httpd/www.bilgisayarciniz.org-error.log
CustomLog /var/log/httpd/www.bilgisayarciniz.org-access.log combined

AllowOverride All

Comments

Eline sağlık. Bu konu da

Sahin's picture

Eline sağlık. Bu konu da dahil, İngilizce Kurulum Kılavuzu kitabının özet de olsa Türkçeleştirilmesi çok talep ediliyor. Keşke bu yazıları bütünlüklü bir Türkçe Kurulum Kılavuzu haline getirsek.

bir de screencaast yapsan?

Orkut Murat Yılmaz's picture

abi ellerine sağlık. süper post olmuş. bunu anlatan bir de screencast yapsan dadından yinmez:)

multisite için "çok-siteli"ye

Sahin's picture

multisite için "çok-siteli"ye ne dersiniz?
(mahallenin çevirmen delisi olarak İngilizce-Türkçe Drupal terimleri sözlüğünü hatırlatmak için not... :)

Hmm, Sahin, fena fikir değil,

Kartagis's picture

Hmm,

Sahin, fena fikir değil, hem mantığını da kapsıyor. Diğer dillere de bir bakmak, o dillerde ne dendiğini araştırmak lâzım...

Sevgiyle...

Screenshot iyi fikir!

caner.celik's picture

Ellerinize sağlık, çok güzel olmuş.

Murat'ın da dediği gibi görselleştirme olursa başka kullanıcıların da kafasına çok daha kolay oturacaktır.

En kısa zamanda bu işe

Kartagis's picture

En kısa zamanda bu işe eğileyim ben ;)

Drush Konusunda Kilitlendim

hulu1966's picture

Merhaba,
Pardus Gnome 2013'te Drupal 7.22 kurdum fakat Drush kabuğunu yapılandıramadım.Defalarca kendime uyarlamama rağmen çalıştıramadım.
Sistemi localhost'ta kullanıyorum.Drupal.org dan indirdiğim sıkıştırılmış Drush dosyasını açtıktan sonra klasörü /usr/local/bin/drush altına kopyalıyorum.
Kopyaladığım Drush dosyasının /usr/local/bin/drush/drush/examples içindekiexample.bashrc dosyasına alias drush='/usr/local/bin/drush/drush' yolunu yapıştırıyorum.
Drush kabuğunda source .bashrc komutunu giriyorum,aşağıdaki gibi,herhangi bir kısayol vermiyor.
hulu1966@asus:~$ source .bashrc
hulu1966@asus:~$
Drush kurulumunun olduğu klasöre gidiyorum ve examples/ klasöründeki example.aliases.drushrc.php dosyasını drush dizinine taşıyor ve adını aliasas.drushrc.php yapıyor ve izinlerini "Dosyaları Oluştur ve Sil" yapıyorum.
İçine giriyorum ve en alttaki satırları yapılandırma konusunda sıkıntı yaşıyorum.Satırları veriyorum.

Orjinali :

$aliases['dev'] = array(

'uri' => 'dev.mydrupalsite.com',

'root' => '/path/to/drupal/root',

'variables' => array('mail_system' => array('default-system' => 'DevelMailLog')),

);

$aliases['server'] = array(

'remote-host' => 'mystagingserver.myisp.com',

'remote-user' => 'publisher',

'os' => 'Linux',

);

$aliases['live'] = array(

'parent' => '@server,@dev',

'uri' => 'mydrupalsite.com',

'target-command-specific' => array (

'sql-sync' => array (

'skip-tables-list' => 'comments',

),

),

);

Benim Yapılandırmam :

$aliases['siirdunyasi'] = array(

'uri' => 'siirdunyasi',

'root' => '/var/www/siirdunyasi',

'variables' => array('mail_system' => array('default-system' => 'DevelMailLog')),

);

$aliases['siirdunyasi'] = array(

'remote-host' => 'localhost',

'remote-user' => 'hulu1966',

'os' => 'Linux',

);

$aliases['siirdunyasi'] = array(

'parent' => '@server,@dev',

'uri' => 'siirdunyasi',

'target-command-specific' => array (

'sql-sync' => array (

'skip-tables-list' => 'comments',

),

),

);

Ayrıca httpd yapılandırma dosyasını sistemde arattığım zaman böyle aşağıdaki gibi yalın halde bir dosya bulunmuyor.Bu konuda yardımlarınızı bekliyorum.Teşekkür ederim.

ServerName www.biberlifoto.net
ServerAlias biberlifoto.net
DocumentRoot /var/www/drupal
ErrorLog /var/log/httpd/www.biberlifoto.net-error.log
CustomLog /var/log/httpd/www.biberlifoto.net-access.log combined

AllowOverride All

ServerName www.bilgisayarciniz.org
ServerAlias bilgisayarciniz.org
DocumentRoot /var/www/drupal
ErrorLog /var/log/httpd/www.bilgisayarciniz.org-error.log
CustomLog /var/log/httpd/www.bilgisayarciniz.org-access.log combined

AllowOverride All