Skip to Content

Ara Sürüm Güncelleme Rehberi

onur serkan, Pzr, 04/01/2009 - 19:39 tarihinde.

Drupal 5'te harici bir eklenti olarak sunulan Update Status, Drupal çekirdeğine ve diğer eklentilere ait güncellemeler olup olmadığını kontrol edip gerektiğinde site yöneticilerini uyarıyordu. Bu eklenti Drupal 6'da çekirdeğe eklenmiş olarak geliyor. Eklenti sitemizde etkin olduğu sürece, tespit ettiği güncellemeleri yönetim paneli sayfalarında bildiriyor. Drupal'de ara sürüm güncellemeleri yeni bir özellik sunmasalar da tespit edilen hataları ve güvenlik açıklarını giderdikleri için bu tür güncelleme uyarılarını dikkate almak ve sitemizi en kısa zamanda güncellemek yararımıza olacaktır.

Güncelleme işlemlerinin detaylarına girmeden önce ufak bir hatırlatma yapalım; bu anlatımda ara sürüm güncellemelerini ele alıyoruz. Yani kullandığımız bir Drupal 5 sürümünden daha yeni olan diğer bir Drupal 5 sürümüne veya Drupal 6 sürümünden yeni başka bir Drupal 6 sürümüne geçiş ile ilgileniyoruz. Eğer amaç sitenizi Drupal 5'ten Drupal 6'ya yükseltmek ise bunun için Drupal 5'ten 6'ya geçiş başlıklı anlatıma bakınız. Yine de ana sürüm yükseltirken de ara sürüm güncellemesi yapmak gerekebileceğinden buradaki anlatıma da ihtiyacınız olacak. Evet, hatırlatmamızı da yaptığımıza göre artık güncelleme işlemlerine geçebiliriz.

Ara sürüm güncelleme aşamaları

  1. Mevcut Sitenin Yedeğini Almak
  2. Yeni Sürümü İndirmek
  3. Güncelleme Öncesi
  4. Yeni Sürüme Geçiş
  5. Siteyi Tekrardan Açmak

#1. Mevcut Sitenin Yedeğini Almak

Not: Esas amacınızı Drupal 5'ten 6'ya geçmek ise ve bu konuda yazılan anlatımı takip ederken ara sürüm güncellemesi yapmak için bu anlatıma atladıysanız, yedek alma işlemini zaten yapmış olmalısınız. Dolayısıyla burada bu işlemi tekrardan yapmaya gerek yok; bir sonraki adımdan devam ediniz. Ancak amacınız sadece ara sürüm güncellemesi yapmak ise, işe burada anlatılan yedek alma adımıyla başlamayı unutmayın!

Yedek alma işlemi hem veritabanı yedeğini hem de dosya yedeğini almayı kapsıyor. Veritabanı yedeği site yönetim paneli (cPanel, Plesk, vb.), phpMyAdmin veya Backup and Migrate eklentisi üzerinden alınabilir. Dosya yedeğini alırken de Drupal sitemizin tüm dosya ve klasörlerini almak en güvenli yol olacaktır. Eğer komple bir yedek almayacaksanız, sonradan kurduğunuz eklenti ve temaların yanı sıra site ayarlarının kayıtlı olduğu settings.php dosyasının da yer aldığı sites ve site üzerinden yüklenen dosyalarınızın bulunduğu files dizinleri ile eğer değişiklik yapmış iseniz robots.txt ve .htaccess dosyalarınızı mutlaka yedekleyin.

#2. Yeni Sürümü İndirmek

Eğer Update Status eklentisini kullanıyorsanız sitenizdeki mevcut sürüm ve bu sürümden daha yeni olan diğer sürümler aşağıdaki resimdeki gibi listeleneceklerdir. Bu durumda yapmanız gereken basitçe en son yayınlanmış olan sürüme ait Download linkine tıklayıp bu sürümü bilgisayarınıza kaydetmek. Eğer Update Status kullanmıyorsanız en güncel versiyonu sitemizin anasayfasındaki linklerden indirebilirsiniz.

Yeni sürüm uyarısı

Not: Ara sürüm güncellemelerinde doğrudan en son sürüme atlamak mümkündür. Yani Drupal 6.2'de 6.4'e geçmek için önce sitemizi Drupal 6.3'e güncellemeye gerek yok; doğrudan 6.4'e geçebiliyoruz.

#3. Güncelleme Öncesi

Güncelleme işlemine başlamadan önce yapılması gereken bazı işlemler var. Bunları şöyle sıralayabiliriz:

  1. Sitemize yönetici girişi (id'si 1 olan kullanıcı hesabı ile) yapalım.
  2. Siteyi bakım moduna alalım (admin/settings/site-maintenance sayfasından). Böylece güncelleme işlemleri, siteyi gezmeye ve işlem yapmaya çalışan kullanıcılar tarafından kesintiye uğratılmayacaktır.
  3. Site teması olarak Garland’ı veya başka bir çekirdek temayı seçelim.
  4. Çekirdek harici tüm eklentileri devre dışı bırakalım.
  5. Yönet » Site ayarları » Performans (admin/settings/performance) sayfasından tüm önbellek ayarlarını devre dışı bırakalım ve önbelleği temizleyelim.

#4. Yeni Sürüme Geçiş

Bu adımda FTP aracıyla eski sürüme ait dosyaların yerine yeni sürüm dosyalarını yerleştireceğiz. Bunun için:

  1. Site dizininde bulunan tüm Drupal dosya ve klasörlerini silelim veya herhangi bir aksaklık durumunda hızlıca geri dönebilmek için sunucu üzerinde başka bir dizine taşıyalım.
  2. Yeni Drupal sürümüne ait dosyaları site ana dizinine kopyalayalım.
  3. Anlatımın ilk adımında yedeğini aldığımız files dizini, sites/default dizininde yer alan settings.php dosyasını ve eğer üzerlerinde değişiklik yapıldıysa robots.txt ve .htaccess dosyalarını yeni kurulumun üzerine taşıyalım (veya daha önceden yapmış olduğumuz değişiklikleri yeni sürümle gelen dosyalara da uygulayalım).
  4. Update.php’yi çalıştıralım (sitemiz.com/update.php). Bu işlemin sonunda yapılan güncellemelerle ilgili bir özet sunulacak. Eğer işlemler sırasında herhangi bir sorun yaşanmadıysa sitemiz yeni sürüme başarıyla güncellenmiş olacaktır.

#5. Siteyi Tekrardan Açmak

Güncelleme işlemini tamamladıktan sonra sitemizi tekrardan eski görünümüne kavuşturmamız gerekecek. Bunun için:

  1. Güncelleme öncesi devre dışı bıraktığımız çekirdek harici eklentileri tekrardan etkinleştirelim. Bu işlemin ardından her ihtimale karşı update.php'yi bir kez daha çalıştırmak iyi olacaktır.
  2. Site teması olarak eski temamızı seçelim.
  3. Yönet » Site ayarları » Performans (admin/settings/performance) sayfasından önbellek ayarlarını eski haline getirelim.
  4. Sitede rasgele dolaşıp herhangi bir sorun olup olmadığını kontrol edelim.
  5. Herşeyin hazır olduğuna emin olduktan sonra siteyi tekrardan yayına alalım.
hunanka, Pzt, 05/01/2009 - 23:58 tarihinde.

Bu yazıyı günlerdir bekliyordum. :) Şimdi, Sorularım var...
1- modules klasörünü silecekmiyiz? yazıda bu konuya tam açıklık getirilmemiş, ya da ben tam olarak anlayamadım.
2- Eğer silersek eski kopyalardan mı bu içerik klasörünü kopyalamalıyız. Yoksa her modülün sayfasına gidip güncelleme varmı diye kontrol etmelimiyiz?
3- Bütün modülleri aynı anda güncellemek bir hataya yol açar mı?
Şimdiden teşekkürler... Başarılar diliyorum...

onur serkan, Sal, 06/01/2009 - 00:21 tarihinde.

1. Normalde çekirdek harici eklentileri sites/all/modules altına koyuyoruz. Dolayısıyla güncelleme sırasında drupal dizinindeki modules dizinini silmek bir sorun oluşturmuyor; zaten yeni ara sürüm bu çekirdek eklentilerin yeni versiyonlarını içeriyor. Ancak harici eklentiler de drupal dizinindeki modules klasörüne atıldıysa bu durumda çekirdek eklentileri bu klasörden tek tek silmek gerekecek. Zaten çekirdek harici eklentileri sites/all/modules klasörüne atmamızın sebebi böyle uğraşmamak :)
2. Çekirdek harici eklentileri eski kopyalardan geri yükleyebilirsin. Ancak bu eklentilerin güncelleştirmeleri varsa onları kullanmak daha iyi olur. Tabii burada dikkat edilmesi gereken eklentinin şuanda kullanılan versiyonundan en son çıkan versiyonuna geçişte herhangi bir ek işlem gerektirip gerektirmediği. Eğer böyle birşey varsa eklentinin proje sayfasında bir uyarı olur zaten.
3. Şöyle yapmak iyi olur bence; herhangi bir bağlantısı olmayan eklentiler topluca güncellenebilir. Ama örneğin CCK'da olduğu gibi etkinleştirmek için başka eklentilerin ihtiyaç duyulduğu eklentilerin bu sıraya göre güncelleştirilmesi daha iyi olur. Örneğin önce tek başına CCK paketi, sonra CCK ile kullanılan Imagefield, Embedded Media Field, Link, vb. eklentiler birlikte.

hunanka, Sal, 06/01/2009 - 01:26 tarihinde.

Sayende yeni bişey daha öğrendim. :)
benim bütün modüllerim drupal ana dizinin içerisindeki modules de bulunuyor. sites/all altında ise modules klasörü yok. Bu durumda sites/all/modules klasörü oluşturup dediğin şekle mi getirmem lazım. Yoksa bırakalım - olduğu gibi - dağınık mı kalsın? :))

onur serkan, Sal, 06/01/2009 - 01:40 tarihinde.

Güncelleme sırasında çekirdek harici eklentileri devre dışı bıraktıktan sonra sites/all/modules dizinini oluşturabilir ve daha sonra herşeyi geri yüklerken çekirdek harici eklentileri buraya koyarak etkinleştirebilirsin.

hunanka, Sal, 06/01/2009 - 04:13 tarihinde.

bu alanda bulduğum benioku dosyasında burda sites/all/themes da yazıyor ben sitenin özel temasınıda burayamı koymalıyım yoksa ana dizindeki themes klasöründemi dursun?

onur serkan, Sal, 06/01/2009 - 05:44 tarihinde.

Eklentiler için sites/all/modules, temalar için de sites/all/themes kullanılıyor.

hunanka, Sal, 06/01/2009 - 12:43 tarihinde.

Çok teşekkür ederim... Yeni ve esaslı bişey daha öğrendim sayende...

mb1984, Sal, 13/01/2009 - 00:24 tarihinde.

Mesaj bir editör tarafından buraya taşınmıştır.

bps1960, Pzr, 21/03/2010 - 22:23 tarihinde.

Merhabalar

Sitem için drupalın uyarısı üzerine mutlak sürüm güncellemesi yapmam gerekiyor.

Drupalı'ı ilk kurduğumda, drupal dosyalarını ftp dizinine oluşturmuş olduğum bir dizin içine atmış bulunmaktayım. (siteadi.com/wwwroot/rr) kurulumda site diye bir dosya oluşturmama rağmen sonradan kurduğum eklentilerle beraber çekirdek eklentiler de drupal dosyaları içinde bulunuyor. yani ana dosyalar da

bu durumda ne yapmam gerek?

/siteadi.com/wwwroot/bb/sites/
içinde,
all
default
Dosyaları var.

/siteadi.com/wwwroot/rr/sites/all
dosyası içinde ise README.txt isminde bir dosya var.

/siteadi.com/wwwroot/rr/sites/default
içinde ise şu dosyalar bulunuyor

files (dosya)
site (dosya)
defaultsetttings.php
settings.php
dosyaları var.

/siteadi.com/wwwroot/rr/sites/default/site/files
içinde
sites (dosya)
languanges (dosya)
.htaccses
favicon dosyası ve resim dosyaları mevcut.

/siteadi.com/wwwroot/rr/sites/default/site
içi ise boş.

konu ile ilgili yardımlarınız için şimdiden teşekkür ederim.

gkhnd, Per, 03/06/2010 - 09:07 tarihinde.

6.17 Sürümü çıktı şu an itibari ile. 6.17 sürümüne güncelledim, poker oynadım kazandım update olmasaydı 7x kurmayı düşündüm (localde hayran kalmıştım);
6.17 dosyaları oldugu gibi ftp den site dosyaları üzerine attım, tıpki modül günceller gibi, update.php yi çalıştırdım sorunsuz güncellendi. fakat atarken htcaccesi atmadım diğer tüm dosyaları değiştirdim.

bps1960, Pzr, 06/06/2010 - 01:08 tarihinde.

Bende aynı yolu denesem mi?

juli, Cuma, 18/06/2010 - 21:34 tarihinde.

kendi sitemde bunu denedim. biraz zahmetlide olsa başardım. çünkü ilk defa yaptım.
yaptıklarım:
1- sitemi htdocs klasörünü ne olur ne olmaz diyerekten komple kendi bilgisayarıma indirdim.
2- backup migrate eklentisini kurdum. yedeği pcye indirdim. hatta epostaya göndermesinide yaptım.
3- burada anlatılan adımları yaptım. buradaki adımlara farklı olarak, zaten pcme inik dosyaları tekrar indirmedim. ftp ile yenibir dosya açıp içine attım. yani silmedim.
4-drupali kurdum eklentilerimin hepsini yedekteki dosyadan ftp ile taşıma yöntemi ile kolayca taşıdım(sürükle bırak) ve açtım. ve backupu bilgisayarımdan göstererek geriye yükledim. türkçe olmayan kurulumum en son bıraktığım haliyle türkçe olarak ve eklentileride dahil en son bıraktığım ayarda geldi. yani şuanda sorunsuz çalışmakta sitem. bir sorun yok.

anlatıma teşekkür edip, benim sormak istediğim soruya geçmek istiyorum. mesela diyelimki benim sitemde birrden çok eklenti aktifti ve sitemde 200-300 makale olsaydı ve 10-20 belkide 100 kullanıcım olsaydı ve ben temamı varsayılan kullanmamış olsaydım (editlemiş olsaydım) yinede herşey bu yaptığım ayarlar mantığıyla geriye kusursuz şekilde gelecekmiydi?