Drupal 7 çoklu-site yapısı

Bu konuda birçok rehber yazılmış olmasına rağmen, Türkçe kaynak pek olmadığı için zorlanıldığını görüyorum; o yüzden bunu yazmak istedim. Çoklu site nedir? Çoklu site, bir tek Drupal yapısı ile birçok alanadı (domain) veya birçok alt-alanadı (subdomain) ile birçok site yapabilmenizi sağlayan bir yapıdır. İncelediğim kaynaklar aynı zamanda bir veritabanı olması gerektiğini savunuyor, ancak ben buna karşıyım. Neden olduğuna daha sonra değineceğim. Ben bu yazıda alanadı olarak www.webcinizim.org, veritabanı adı olarak drupal, kullanıcı adı olarak dries, ve şifre olarak qazwsx kullanacağım. Evet, kollarımızı sıvayıp işe girişelim.
  • Önce mySql arayüzüne girip CREATE DATABASE drupal; CREATE USER dries@localhost IDENTIFIED BY 'qazwsx'; GRANT ALL ON drupal.* TO dries@localhost ile veritabanımızı oluşturalım. (mySql 5.7'den önce şu şekilde yapılıyordu: CREATE DATABASE drupal;GRANT ALL ON drupal.* TO dries@localhost IDENTIFIED BY 'qazwsx' ile yapılıyordu, ancak bu işlem bu yazının konusu değil).
  • Daha sonra Drupal'ın olduğu dizine girip cd sites/ ile sites/ klasörüne giriyoruz ve mkdir www.webcinizim.org ile dizinimizi oluşturuyoruz, ve sites/default/default.settings.php dosyasını www.webcinizim.org/settings.php olarak kopyalıyoruz (taşımayın, kopyalayın).
  • chmod -R 777 sites/default komutu ile sites/default dizinini herkes tarafından yazılır olarak ayarlıyoruz (işiniz bittiğinde izinleri eski haline çekmeniz çok önemli)
  • En son olarak da http://www.webcinizim.org/ adresine girip kurulumu yapıyoruz.
Varolan yapı çoklu-site yapısına nasıl taşınır? Örnek olarak www.alperbalci.net alanadını çoklu-site yapısına taşıyalım: Varolan Drupal dizinine girip tekrar sites/ dizini altında mkdir www.alperbalci.net ile www.alperbalci.net dizinimizi yaratıyoruz ve daha önce yaptığımız gibi sites/default/default.settings.php dosyasını www.alperbalci.net/settings.php olarak kopyalıyoruz. Çoklu-site yapısının en güzel yanlarından birisi site bazında modül/tema tanımlayabilmenizdir. Bunun için tek yapmanız gereken www.alperbalci.net/modules ve www.alperbalci.net/themes dizinlerini oluşturmaktır. Ancak, eğer bütün sitelerin aynı modülleri / temaları kullanmasını isterseniz hepsini sites/all/modules veya sites/all/themes altına koyabilirsiniz. İşimiz bittiğinde drupal/sites dizin yapımız şöyle olmalıdır: drupal-multi-site-folder-structure.png Eklemek ya da düzeltmek istediğiniz bir şey mi var? Yorumlarda belirtin.