Drupal sitesini Localhost'tan sunucuya taşımak

İlgili Konular: Drupal Genel Bilgiler     

Localhost'ta uzun bir hazırlık döneminden sonra Drupal sitenizi tamamladınız ve sıra artık sitenizi herkesin erişebilmesi için internet ortamına taşımaya geldi. Elbette bunun için herşeye sıfırdan başlayarak sitenizi web sunucusu üzerinde tekrardan kurabilirsiniz. Ancak karmaşık sitelerde bu işlem oldukça ciddi bir zaman kaybına sebep olacaktır. Bu gibi durumlarda localhost'ta çalışır durumda bulunan sitenizi olduğu gibi web sunucusuna taşımak düşünülmesi gereken bir alternatif. Bu anlatımda bu sürecin nasıl işlediğine bakacağız.

Anlatıma başlamadan önce ufak bir hatırlatma: localhost'ta sorunsuz olarak çalışan sitenizi web sunucusuna aktardığınızda bazı sorunlarla karşılaşabilirsiniz. Bu sorunlar genellikle localhost'taki ayarlarınızla web sunucusundaki ayarların farklı olmasından kaynaklanır. Örneğin bazı hosting firmalarının düşük php bellek limiti kullanması, php safe mode özelliğini ve open_basedir kısıtlamasını etkinleştirmeleri çeşitli sorunlara sebep olabilmekte. Bu gibi durumlarda, sitemizde benzer sorunlarla karşılaşan arkadaşların açmış oldukları konuları inceleyebilir ve hosting firmanızla iletişime geçip yardım isteyebilirsiniz. Biz yine de sorunsuz bir taşıma işlemi gerçekleştireceğinizi umarak anlatıma başlayalım.

Localhost'tan web sunucusuna site taşıma işleminin üç ana aşamadan oluştuğunu söyleyebiliriz:

  • Dosya aktarımı
  • Veritabanı aktarımı
  • Düzenlemeler

Bu aşamaları sırasıyla inceleyeceğiz.

1. Dosya Aktarımı

İlk aşamada localhost'ta bulunan sitemize ait dosya ve dizinleri web sunucusuna aktaracağız. Bunun için sitemize FTP erişimi sağlamamız gerekecek. Ben bu işlem için Filezilla programını kullanıyorum; kullanımı kolay, ücretsiz ve de hızlı; size de tavsiye ederim.

Programın kullanıcı arayüzü:

FTP bilgilerini* girip hızlı başlata basarak siteye ftp'den ulaşıyoruz.

  • Localhost'taki dizin içeriği
  • Web sunucusunun dizin içeriği
  • Localhost'taki seçili dizin içeriği
  • Web sunucundaki seçili dizin içeriği
  • Aktarım durumu

Bilgilerinizden emin değilseniz hosting firmanıza danışabilirsiniz.

Sitemizdeki dosya ve dizinleri web sunucusuna aktarmadan önce sunucu sekmesinden gizli dosyaları göster'i işaretleyerek bütün dosyaların görünür hale gelmesini sağlıyoruz. Bu sayede normalde gösterilmeyen .htaccess dosyasının durumunu da takip edebilirsiniz. FTP'den sitemize ulaştıktan sonra localhost'ta sitemize ait dosyaların bulunduğu dizini bularak tüm dosya ve klasörleri seçiyor ve sağ tıklayarak yükle diyoruz. Böylece yükleme işlemi başlamış oluyor.

2. Veritabanı aktarımı

Dosyalarımızın yüklemesi sürerken biz de sitemize ait veritabanın bir kopyasını alalım. Bunun için web tarayıcımızın adres satırına http://localhost/phpmyadmin yazarak localhostumuzdaki veritabanları için bir kullanıcı arayüzü sunan phpMyAdmin sayfasına ulaşıyoruz.

Buradaki listeden web sunucusuna yüklemek istediğimiz sitemize ait veritabanını seçerek açıyoruz ve de Dışarı Aktar (export) sekmesine tıklıyoruz.

Bu sayfada Dışarı Aktar sütünunda yer alan Tümünü Seç linkine tıklayarak veritabanındaki tüm tabloların seçilmesini sağlıyoruz. Hemen alttaki listeden de kayıt formatı olarak SQL'i işaretliyoruz. Son olarak sayfanın alt tarafındaki Dosya olarak kaydet seçeneğini işaretleyip Git düğmesine tıklıyoruz. Böylece veritabanımızın bir kopyasını bilgisayarımıza kaydetmiş olduk.

Not: Çok fazla veri bulunan büyük ölçekli veritabanlarında zip, gzip veya bzip gibi sıkıştırma tekniklerinden birini seçmek dosya boyutunu küçülteceğinden daha uygun olacaktır.

Bu noktada eğer hala devam ediyorsa dosyalarımızın aktarımının tamamlanmasını bekleyebiliriz. Dosya aktarımı tamamlandığında sıra localhost'tan aldığımız veritabanı kopyasının web sunucusuna aktarılmasına gelecek. Bu işlem için hosting firması tarafından bize sunulan site yönetim panelini (Plesk, cPanel, vb.) kullanacağız.

Plesk'e göre anlatım yapılacak ancak benzer işlemleri cPanel'de de MySQL veritabanı sihirbazını ve phpMyAdmin arayüzünü kullanarak yapmak mümkün. Plesk anasayfasında veritabanları düğmesine tıklıyoruz. Açılan sayfada yeni veritabanı ekle düğmesine tıklıyoruz. Veritabanı adı ve tipini belirliyoruz. Veritabanımızı oluşturduktan sonra kullanıcı adı ve şifresini oluşturarak üstüne tıklıyoruz ve boş veritabanımıza phpMyAdmin arayüzü ile ulaşıyoruz. Bu kez Dışarı Aktar sekmesinin yanındaki İçeri Aktar (import) sekmesine tıklayarak bilgisayarımızda bulunan veritabanı kopyasını yüklemeye başlıyoruz.

Not: Veritabanı dosyası çok büyükse içeri aktarma işlemi için phpMyAdmin arayüzü yerine bigdump.php gibi betikleri kullanmanız gerekebilir. Bununla ilgili anlatımlar çoğu sitede var onun için es geçiyorum.

3. Düzenlemeler

Dosya ve veritabanı aktarımı tamamlandıktan sonra heyecanla hemen sitenize erişmeye çalışırsanız alacağınız hata mesajları moralinizi bozabilir. Sitemizin çalışır duruma gelmesi için hala yapılması gereken bazı düzenlemeler var. Bunlar çok karmaşık işlemler olmasalar da doğru olarak yapmadığınız sürece sitenize sağlıklı bir erişim sağlamanız mümkün olmayabilir.

Mutlaka yapılması gereken tek bir işlem varsa o da settings.php dosyasındaki veritabanı erişim bilgilerinin güncellenmesidir. Bunun için localhostumuzda sites/default dizini altında bulunan settings.php dosyasını açıyor ve de şu satırları bularak düzenlemeye başlıyoruz.

/*
 * Database URL format:
 *   $db_url = 'mysql://username:password@localhost/databasename';
 *   $db_url = 'mysqli://username:password@localhost/databasename';
 *   $db_url = 'pgsql://username:password@localhost/databasename';
*/

$db_url = 'veritabanı tipi (mysql, mysqli, pgsql gibi...)://veritabanı kullanıcı adınız:şifreniz@localhost/veritabanı adınız';
$db_prefix = 'varsa veritabanı önekiniz';

Elbette buradaki $db_url ve $db_prefix satırları herkesin veritabanı bilgilerine göre değişiklik gösterecektir. Dosyadaki mevcut bilgiler localhost'a ait veritabanı bilgileri olup bizim yapmamız gereken bunları web sunucumuzdaki veritabanı bilgileriyle değiştirmek. Bu değişikliği yaptığımızda dosyayı kaydedip yine Filezilla ile web sunucusundaki sites/default dizine yüklüyoruz (bu dizinde zaten aynı isimde bir dosya olacağı için üzerine yazdıracağız).

Not: Localhost'taki ve web sunucusundaki veritabanı sürücüleri farklı olabiliyor; örneğin localhost'ta siz daha gelişmiş olan MySQLi'yi kullanırken web sunucusunda MySQL kullanılıyor olabilir. Düzenleme sırasında buna da dikkat ediniz.

Normalde bu son işlem ile birlikte sitemiz artık sorunsuz olarak açılıyor olmalı. Ancak bu aşamada bende sitem açılmasına rağmen bir hata mesajı verdi. Kısa bir araştırmadan sonra kurulum sırasında localhost'ta geçici dosyalar için belirlenen klasörün (bende c:/xammp/tmp olarak geçiyordu) veritabanında aynı kalmasından dolayı sistemin bu klasörü web sunucusunda da aradığını ama doğal olarak bulamadığını farkettim. Eğer siz de bu hata ile karşılaşırsanız, Yönet » Site Ayarları » Dosya Sistemi (admin/settings/file-system) sayfasında Geçici dizin değerini düzenlemeniz (ör: sites/default/files/tmp) sorunu çözecektir.

Kaynak: DDO'da pullsarr rumuzlu arkadaşımız.

Yorumlar

Yeni yorum veya soru gönder

Bu alanın içeriği gizlenecek, genel görünümde yer almayacaktır.
  • PHP source code can also be enclosed in <?php ... ?> or <% ... %>.
  • You may insert videos with [video:URL]

Biçimlendirme seçenekleri hakkında daha fazla bilgi


5 + 0 =
Basit matematik sorusunuz çözünüz. Örn; 1+3= 4