22 Haziran 2009 Pazartesi

Drupal Versiyon Geçişi...

Drupal 6.10 dan 6.12 minör versiyon geçişi sırasında yaptıklarımı adım adım sıralamak isterim.
Zaman geçtikçe her bir adımı daha ayrıntıllı hale getirmek isterim.

1) Site bakımı kısmında sitenin offline mode çekilmesi.
Daha sonraki adımlar da offline olmuş sitenize erişimde sorun yaşıyorsanız.
"http://siteadi.com/?q=user"
linkinden yönetici adı ve şifrenizle giriş yapabilirsiniz.
2) MySQL veritabanınınn yedeğinin alınması.
3) Php sayfalarını içeren Web Sitemizin yedeğinin alınması.
4) Eklentiler (modules) sayfasında hangi eklentilerin yüklü olduğunu gösteren ekran görüntülerinin alınması.
5) Çekirdek (core) eklentilen dışındaki tüm eklentilerin devre dışı bırakılması.
6) Yeni versiyon php sayfalarının, eski versiyonun üzerine kopyalanması.
7) siteadi/update.php nin çalıştırılması ve core elementlerle beraber veritabanının update edilmesi.
8) Site Drumuna göz atılması, herhangi bir mesaj varmı? Dönemsel görevlerin çalıştırılması.
9) Çıkartılan Modüllerin devreye alınması.
10) Devreye alınan modüller için de siteadı/update.php nin çalıştırılması ve bu modüllere ait veritabanlarının update edilmesi.
11) Site Drumuna tekrar göz atılması, herhangi bir mesaj varmı? Dönemsel görevlerin çalıştırılması.
12) Update edilmesi gereken bir component yada modül yok ise site bakımından sitenin devreye alınması.

13) Update edilecek modül varsa, updatelerinin indirilmesi ve yüklenmesi sırasında dikkat etmemiz gereken bir nokta var. Modülleri update ederken, öncelikle modülü devra dışı bırakın. Daha sonra eski modüle ait klasörü tamamen silin ve yeni modüle ait klasörü kopyalayın. Son olarak yine "update.php" yi tekrar çalıştırdıktan sonra modülleri aktif hale getirin ve siteyi online moduna geçirin.


Yukarıdaki adımlar güvenlik için gerekli olsa da sanırım uygularken bir iki adımı atladım :)
Minör versiyon geçişlerinde drupal sizi ne yapmanız gerektiğine yönlendirse de, majör versiyon geçişlerinde daha dikkatli olmalıyız diye düşünüyorum.

Görüşmek dileğiyle....

21 Haziran 2009 Pazar

.htaccess Dosyası Nedir Neler Yapabilir...

Apache'nin klasor ve alt klasorler bazinda konfigurasyon secenekleri sunmak icin kullandigi dosya. yapi olarak httpd.conf'un genisletilmis halidir, ozellikle virtual hosting hizmetini alan kisiler icin vazgecilmez utility'ler sunar. icerdigi secenekler icine konuldugu klasor ve alt klasorleri icin gecerli olur. bununla sunlar yapilabilir :

- 404, 500 gibi hata sayfalarini istege gore ayarlamak
- sifreyle korunan klasorler yaratmak
- ssi'i aktif hale getirmek
- ip ve domain bazli olarak gelen istekleri reject etmek
- index sayfasini degistirmek
- redirection'lari yapmak
- istenilen tipteki dosyaların gösterimini engellemek
- mime type eklemek
- hot link'i onleyerek sitedeki icerigi korumak
- directory listing'i onlemek
+ httpd.conf ile yapilabilecek seyler

Apache serverin bir ozelligi olarak, klasore has ozellikler vermeyi saglayan bu dosyanin default ismi httpd.conf dosyasindan olmasi gereken ismi istenildiği şekilde degiştirilebilir. Apache' nin default httpd.conf dosyasi bu dosyanin kullanımına izin vermez bunun icindir ki bu ozellikten faydalanma istegi, bir takim ayarlar yapmayi gerektirir.

asp.netteki karşılığı web.config'dir.

httpd.conf dosyasına ulaşamadıgınız durumlarda,pek güzel iş gören bir aparat.
mod_rewrite bile yapılabilmekte kendisiyle.
yamulmuyorsam windows ile yaratılıp upload edilmesi mümkün degil, karşı tarafta dosya adını degişterek yaratıldıktan -belki de yaratılmış olup görünmüyor, biz tekrar yarattıgımızda ise üstüne yazılıyor olabilir- sonra,hidden file olarak ayarlanıyor.

eger apachede server konfigurasyonu tarafindan ozellikle kisitlanmamis ise, bir kullanicinin eristigi dizin icerisinde directory contextine ait hemen hemen her ayari ozellestirebilmesine olanak verir. lakin kullanildigi dizinden document roota kadar her parent dizin icin baska .htaccess dosyasi olup olmadiginin kontrolu yapilir ki bu kontrol o dizindeki dosyalara her erisimde vuku bulur.


Ayrıntılı bilgi için:

http://www.acikbilgi.com/2006/03/05/htaccess-kullanimi-ve-ipuclari/
http://www.koodla.com/2008/12/13/htaccess-konulari-giris/
http://www.teknolojiherseyim.com/htaccess-dosyasi-gorunmuyorsa/
http://www.bildirgec.org/etiket/htaccess
http://www.mutena.com/htaccess-editoru/

Drupal Kurulumu

Uzun zamandır işyerimizde kullanmış olduğum Drupal 6.10 sürümünü, bazı anlayamadığım sorunlar yüzünden, 6.12 ye yükseltmektense, sıfırdan tekrar kurmayı planlıyorum. Daha önceki kurulumda, kurulum kılavuzunu okuyarak, not almadan kurulum yapmıştım. Şimdi daha farklı bir yöntem kullanarak, hem Drupal' in yapısal olarak nasıl çalıştığını daha iyi öğrenmek adına, biraz kurcalayarak hem de not alarak kurulum yapacağım.

Standart Kurulum Prosedürü :

* Öncelikle Localhost'a kurulum yapacaksanız, Apache, Mysql, Php üçlüsü kurulumu için,
"Pardusta Apache PHP MySQL Kurulumu"
linkine göz atabilirsiniz.

* Phpmyadmin' nin de sisteminize kurulu olmasında fayda var. Gördüğüm kadarıyla Pardus üzerinde pisi paketi mevcut, burdan rahatlıkla kurulum yapılabilir.

* Daha sonra http://drupal.org/project/drupal sitesinden kararlı son versiyonu çekip /var/www/localhost/htdocs/ klasörü altına açıyoruz.

* Türkçe desteği vermek için http://drupal.org/project/tr sitesinden dil desteği dosyalarını indirip, drupal klasörü üstüne kopyalıyoruz.

* Not-1: Eğer localhost yerine bir web sunucusuna kurulum yapacaksanız, ftp yazılımınızın .htaccess dosyasını da taşıdığından emin olunuz.
".htaccess" dosyası hakkında daha fazla bilgi için,
"Htaccess Dosyası Nedir Neler Yapabilir"

* Not-2: Eğer aynı hesapta farklı siteler barındırıyorsanız kök dizin yerine bir alt dizin de kullanabilirsiniz.

* Drupal sitenize ait veritabanı giriş bilgileri gibi bazı önemli bilgileri settings.php dosyasında tutar. Daha önceleri bu dosya Drupal çekirdeği ile birlikte gelmekteydi. Dolayısıyla mevcut bir sitenizi güncellemek istediğinizde önce bu dosyanın bir yedeğini almak gerekiyordu. Artık her güncellemede bu işlemi yapmak yerine sadece sitenizi kurarken ek bir işlem yapmanız gerekiyor. O da çekirdekle gelen sites/default dizinindeki default.settings.php dosyasının bir kopyasını oluşturup adını settings.php olarak değiştirmek. Böylece bu dizinde biri settings.php diğeri de default.settings.php adından 2 dosyanız olacak. Sitenizi ileride güncellemek istediğinizde de bu dosyanın yedeğini almakla uğraşmak zorunda kalmayacaksınız, çünkü indireceğiniz güncel Drupal sürümünde settings.php adından bir dosya olmadığından mevcut settings.php dosyanız korunmuş olacak.

settings.php dosyasını oluşturduktan sonra yazma izinlerini 777 olarak ayarlayınız. Kurulum tamamlandığında Drupal bu dosyanın yazma izinlerini salt-okunur olarak kendisi değiştirecektir. Eğer Drupal kurulum sonrasında izinleri değiştiremezse, bu izinleri kendiniz 555 olarak değiştirmelisiniz.

Pardus üzerinden 777 haklarını vermek için dosya özelliklerinin aşağıdaki gibi olması yeterlidir.
Eğer hosting hizmeti aıyorsanız, ftp programınızın özelliklerini yada komut satırından aynı yetkileri verebilmek için "chmod" komutunu incelemenizi öneririm.



Not-1: default.settings.php dosyasını kopyalamak yerine sadece adını değiştirmeniz yeterli olmayacaktır. Bu dizinde her iki dosyanın da bulunması gerekiyor.

Kurulum sırasında settings.php dosyası içeğinde elle bir değişiklik yapmanıza gerek yok. Kurulum sırasında sizden istenen bilgiler otomatik olarak bu dosyaya yazılacaktır. Bu dosya hakkında daha fazla bilgi aşağıda verilmiştir.

settings.php
/var/www/localhost/htdocs/drupal1/sites/default klasöründeki settings.php, drupal ayarlarının tutulduğu dosyadır. Bu dosya içerisindeki "$db_url = 'mysqli://root@localhost/drupal1';" satırı drupal' in mysql serverda "drupal1" isminde bir veritabanı kullandığını gösterir. Veritabanının yedeğini alır yada değiştirme ihtiyacı duyarsanız bu dosyadaki veritabanı ismini değiştirmeniz yeterli. Eski bir yedek veritabanına geçiş yaptığımda sitemin, teması dahil tüm içeriğinin, ve tüm nodeların değiştiğini görüyorum. Kısaca Drupal'in php sayfalarında yaptığınız değişiklikler hariç, tüm web sitesi içeriğini bu şekilde değiştirebilirsiniz. Tabi burada versiyon geçişlerinden bahsetmiyorum.

Versiyon geçişlerinde yeni versiyon PHP dosyalarını drupal klasörünüze yerleştirdikten sonra, veritabanının da yeni versiyona geçişi için "update.php" dosyasını çalıştırarak, veritabanımızı da güncellememiz gerekiyor.

* Drupal PHP dosyalarının üzerine Türkçe dil desteği dosyalarını üzerine yazarak kopyaladım ve bu klasör içeriğini "/var/www/localhost/htdocs" klasörü altına "drupal612" isminde bir klasör içine yerleştirdim. Dolayısıyla local bilgisayardan "http://localhost/drupal612/" adresine eriştiğimde kurulum işleminin aşağıdaki gibi, ilk ekranı gelmiş bulunmakta.



Bu ekranı görüyorsanız, Apache PHP ve Drupal düzgün ve çalışır durumda demektir. Devam etmeden önce yeni bir veritabanı yaratmamız gerekiyor.

* PhPMyAdmin yönetim sayfasına erişmek için "http://localhost/phpmyadmin/" linkini kullanabilirsiniz. Default user "root" olmakla beraber şifresini boş geçebilirsiniz.

Aşağıdaki ekranda görüldüğü gibi yeni oluşturduğum veri tabanı adına "drupal612db" ismini vererek "Oluştur" düğmesine basıyoruz.



* Veritabanımız da oluştuğuna göre artık bir önceki ekrandaki Drupal kurulumuna, dili Türkçe seçerek devam edebiliriz. Eğer "/sites/default/files" dizini bulunamadı gibi bir hata mesajı alırsanız, "/var/www/localhost/htdocs/drupal612/sites/default/files" adresinde bir files klasörü açın ve yetkilerinin 777 olduğuna emin olun.

* Veritabanına ait bilgileri, aşağıdaki ekrandaki gibi doldurarak kuruluma devam ediyoruz. Buradaki server ve port bilgileri farklı kurulumlarda değişiklik gösterebilir.



* Bir sonraki ekranda Mail Sunucusu üzerinden kullanabileceğiniz mail adresiniz ile beraber, yönetici adı (ben admin vereceğim) ve şifresini tanımlamanızı isteyecektir. Pardus üzerindeki sistemimde mail gönderebilmek için "postfix" mail sunucusunun da kurulumunu bu sırada yapmaktayım. Daha önceki kurulumlarda sistemimde herhangi bir SMTP sunucum yoktu.
Çalışıp çalışmayacağını bilemiyorum, servislerden postfix' i start ettim. Daha fazla bilgi ve postfix e ait yönetim araçları için "http://www.postfix.org/addon.html" sitesini ziyaret edebilirsiniz.

* Yönetici ve parola bilgilerini verdikten sonra kurulum işlemi tamamlanmış oluyor.

* Son olarak aşağıdaki resimdeki gibi settings.php dosyasındaki yazma yetkilerini kaldırarak daha güvenli bir sistem elde ediyoruz.



BİR DAHAKİ YAZIMDA, DRUPAL EKLENTİLERİNDEN BAHSETMEK İSTİYORUM, GÖRÜŞMEK ÜZERE...