Tevhid
  • Joomla!JOOMLA CMS
    • Joomla CMS

      Joomla! CMS hakkında makaleler, resimli anlatımlar ve ipuçlarına buradan ulaşabilir, siz de bu kategoride yazılarınızı bizimle paylaşabilirsiniz.

  • Seo/SefOptimizasyon
    • Seo/Optimizasyon

      Joomla! sitelerinizi arama motorlarında hızla yükseltme ve iyi bir optimize için yapılması gereken her şey bu kategoride

  • Tasarim Gorsel Dunya
    • Tasarım/Grafik

      Tasarım ve grafik konusunda küçük ama faydalı bilgiler ve çeşitli paylaşımların bulunduğu kategorimiz

  • Php/Mysql Kodların Dunyası
    • Veritabanı/PHP

      Joomla! konusunun ayrılmaz ikilisi olan PHP ve mySQL konularında çeşitli anlatımlar ve ipuçları içeren kategorimiz

  • Teknoloji Gelisim/Yenilikler
    • Teknoloji IT/BT

      Teknolojik gelişmelere paralel olarak gelişen IT & BT sektöründen çeşitli haberler ve yorumlar içeren kategorimiz

  • iPhone iPhoneIzm
    • iPhone Dünyası

      iPhone hakkında temel bilgiler ve iphone kullanımı hakkında ipuçları ile resimli anlatım ve makaleler bölümüne mutlaka bakın.

  • MmcnAnasayfa
Çoklu Site Tek Üyelik
0 Oylar
Bu makale : 161 kişi tarafından okunmuştur.
Mehmet YAZICI / Perşembe, 08 Ocak 2009 13:21

Joomla ile birbirinden bağımsız ancak tek üyelikli çalışan bir den fazla joomla site oluşturmak için bir kaç tane eklenti olmasına rağmen gerek ücretli oluşu gerekse de deneme fırsatı olmadığından başarı oranı bilinmemesi sebebiyle uzak duran kullanıcılar için manuel bir şekilde bu bağlantılı sitelerin nasıl yapılacağı konusunda joomla.org forumlarında getirilen bir çözüm vardı ve bu çözüme dair gelen çeviri talepleri doğrultusunda sizler için hazırladığım çeviri ve derlemeyi aşağıda aynı şekilde veriyorum geri dönüşümleri buradan yorum olarak yaparsanız memnun olurum.

Bu makalemizde sizlerle, yönlendirilmiş veya alt domaine kurulmuşbir siteyi veya siteleri nasıl tek üyelik tarzında kullanabileceğinizi anlatmaya çalışacağız. Öncelikle bu işlem için, eğer sıfırdan bu işlemi yapmıyor ve kurulu olan siteleriniz için uygulayacaksanız o zaman tam bir yedek almanız gerektiğini hatırlatmalıyım, olası sorunlarda (kişisel) geri dönebilmenizi sağlayacağı için bunu ihmal etmemenizi tavsiye ederiz.

Hazırsak işlemlere başlayabiliriz, ilk olarak sunucu ana dizinimizde (ana joomla sitemizin kurulu olduğu dizin) sites.php adında bir boş dosya oluşturuyoruz ve içine aşağıdaki kodları yapıştırıp kaydediyoruz.

<?php defined('_VALID_MOS') or die('No Access'); $sites_name['ana_domain']='configuration.php'; $sites_name['ikinci_domain']='ikinci_domain.php'; $sites_name['ucuncu_domain']='ucuncu_domain.php'; ?>

Daha sonra configuration.php nin kopyalarını oluşturacağız ve configuration dosyalarının adını örnekteki gibi ayarlayalım. Sonuç itibariyle elimizde ana dizinde kurulu olan joomlamıza ait configuration.php dosyası ve ikinci_domain.php ile ucuncu_domain.php adında iki tane de farklı isimde ayar dosyamız olmuş olacak, her config dosyası yine kendine ait alt domain klasörlerinde duracaklar yani böylece ana site hariç hiç birisinde configuration.php dosyası varolmamış olacak bunların yerini isimlerini değiştirmiş olduğumuz ve yukarıdaki kodu ekleyip düzenlediğimiz config (ayar) dosyalarımız olmuş olacak. Şimdi bu ayar dosyalarımızın içindeki

($mosConfig_live_site = 'domaininiz'; $mosConfig_dbprefix = 'tablo_oneki'; $mosConfig_site_name = "site adiniz";)

kısımlarını da varolan altdomainlere kurulu olan sitelerimizin bilgilerini girmeliyiz. Bu aşamadan sonra index.php ve index2.php dosyalarında tanımlanmış olan ayar dosyalarımızı tanımlayan kodda değişiklik yapacağız ki sistem configuration.php dosyasını bulamadığı için hataya sebep olmasın. Bunun için index.php ve index2.php dosyalarını açarak aşağıdaki kodları varolan ve require_once ile başlayan iki satırın yerine yapıştıracağız, yani diğerlerini silmiş olacağız

require_once ( 'sites.php' ); $conf_igure = $sites_name[$_SERVER['SERVER_NAME']]; require_once( $conf_igure );

İlk aşamada ana dizinde bir tane sites.php isimli bir dosya oluşturmuştuk işte burada configuration.php dosyasını sistemin okuma durumunu değiştirip yerine bu oluşturduğumuz ve içinde diğer siteleri tanımladığımız sites.php dosyasını okuyacak. Ardından /administrator/index.php index2.php ve index3.php dosyalarında aşağıdaki kodu buluyoruz

require('../configuration.php');

ve bu kodu aynen aşağıdaki gibi değiştiriyoruz.

require_once ( '../sites.php' ); $conf_igure = $sites_name[$_SERVER['SERVER_NAME']]; require_once( '../' . $conf_igure );

/administrator/components/com_config/admin.config.php dosyasında bu kodu arayalım,

$fname = $mosConfig_absolute_path . '/configuration.php';

Bu kodu da aşağıdaki kodla değiştirelim. global $conf_igure;

$fname = $mos_Config_absolute_path . '/' . $conf_igure;

Şimdi de /administrator/includes/auth.php içinde aşağıdaki kodu arayalım,

include 'configuration.php'; Ve bu kodla değiştirelim,

global $conf_igure; include ( $conf_igure ); /components/com_sef/sef.php ve  /includes/sef.php dosyaları içinde aşağıdaki kodu arıyoruz,

include ( 'configuration.php' );

Ve bunu aşağıdakiler ile değiştiriyoruz,

global $conf_igure; include ( $conf_igure );

Birbirinden bağımsız olan veritabanlarını tek bir veritabanıymış gibi kullanmak istiyorsak yapmamız gereken veritabanı tablolarını bu isteğimize göre uyarlamak, bunu da veritabanından değil veritabanı işlemlerini yapan dosyalarımızdan yapacağız şöyle ki; /includes/database.php dosyamızı açıyoruz ve aşağıdaki satırı buluyoruz,

$literal .= str_replace( $prefix , $this->_table_prefix , substr...;

Ve bu kodun yerine aşağıdaki kodları yapıştırıyoruz,

$common_tables = array('#__banner'=>'jos_banner', '#__bannerclient'=>'jos_bannerclient', '#__bannerfinish'=>'jos_bannerfinish', '#__components'=>'jos_components', '#__comprofiler'=>'jos_comprofiler', '#__comprofiler_fields'=>'jos_comprofiler_fields', '#__comprofiler_field_values'=>'jos_comprofiler_field_values', '#__comprofiler_lists'=>'jos_comprofiler_lists', '#__comprofiler_members'=>'jos_comprofiler_members', '#__comprofiler_plugin'=>'jos_comprofiler_plugin', '#__comprofiler_tabs'=>'jos_comprofiler_tabs', '#__comprofiler_userreports'=>'jos_comprofiler_userreports', '#__comprofiler_views'=>'jos_comprofiler_views', '#__contact_details'=>'jos_contact_details', '#__core_acl_aro'=>'jos_core_acl_aro', '#__core_acl_aro_groups'=>'jos_core_acl_aro_groups', '#__core_acl_aro_sections'=>'jos_core_acl_aro_sections', '#__core_acl_groups_aro_map'=>'jos_core_acl_groups_aro_map', '#__groups'=>'jos_groups', '#__mambots'=>'jos_mambots', '#__messages'=>'jos_messages', '#__messages_cfg'=>'jos_messages_cfg', '#__modules'=>'jos_modules', '#__templates_menu'=>'jos_templates_menu', '#__template_positions'=>'jos_template_positions', '#__users'=>'jos_users', '#__usertypes'=>'jos_usertypes', $search = array_keys($common_tables); $replace = array_values($common_tables); array_push($search,$prefix); array_push($replace,$this->_table_prefix); $literal .= str_replace( $search , $replace , substr( $sql, $startPos, $j - $startPos ) );

Böylelikle aynı üyelik sistemiyle çalışan birbirinden bağımsız sitelerimizi elde etmiş olacağız, yukarıdaki tabloların içinde görüleceği gibi sistemimizde community builder bileşeninin kullanılmış olduğunu görmekteyiz, eğer sisteme kurulu değilse buna ait kod satırlarını yukarıdaki örneğimizden silmelisiniz, ancak anlatımın orjinali böyle geçtiğinden her sitemize bu bileşenin kurulması sonuç olarak daha olumlu olabileceğini düşünüyorum. Umarım bu çeviri ile beraber arzu edilen çoklu siteleri birbirine bağlama olayı gerçekleşmiş ve çalışıyor olacaktır, bu makale bire bir çeviri olup anlatımın orjinaline aşağıdaki linkten ulaşabilirsiniz. Anlatıma kolaylık getirmek için detaylarda eklemiş olduğum kendi açıklamalarımda yer almaktadır, ayrıca bu anlatımın Joomla 1.0 üzerinde denenmiş olduğunu belirtmekte yarar var. Orijinal Kaynak: http://forum.joomla.org/viewtopic.php?t=99639


0 Yorum

Yorum Ekleyin




Kategorideki İlgili Konular:


Kaydolun.
İletişim
Login

Giriş



Register

Kaydolun.

Question

İletişim



Joomla RehberiJOOMLA CMS KULLANMA KILAVUZU

Güncel HaberlerBiZi TAKiP EDEBiLECEGiNiZ KAYNAKLAR

İçerik aboneliği

blog'umuza ait haberlere siz gitmeyin, haberlerimiz size gelsin, feedburner üzerinden hemen eposta abonemiz olabilirsiniz. abonelik


Cıvıltımızı duyun!

Popüler sosyalleşme sitesi Twitter üzerindeki cıvıltılarımızı da her an takip edebilirsiniz. takip


Çok Okunanlar En çok okunan konular

12/03/2010 GitiPhone Youtube Sorunu

Bilindiği gibi ülkemize has yasakların en acayibi olan Youtube yasağı bir çok kullanıcısı olan bu siteye erişime engel oluyor ve normal internet kullanıcıları bu siteye özel DNS tanımla [ ... ]


22/03/2009 GitIphone DFU Mod'a Nasıl Alınır

Öncelikle DFU Mode'un açılımının ne olduğunu merak edenlerin bu meraklarını gidermek için "Device Firmware Update" olduğunu belirterek bu işlemin iphone cihazlarda nasıl yapılacağına d [ ... ]


03/05/2010 GitiPhone 3.1.3 3GS Jailbreak Yayınlandı

iPhone 3.1.3 sürümlü 3GS sahiplerinin merakla beklediği jailbreak nihayet yayınlandı. Telefonunuzu bilgisayarınıza bağlayın ve bilgisayarınıza yükleyeceğiniz Spirit isimli program vasıt [ ... ]


06/01/2009 GitInstallous Kullanımı

Installous uygulamasını bilmeyenler için kısaca bir açıklama yazmak istersek, installous, iphone için crackli oyun ve uygulamaları bilgisayarınızdan yüklemenize de yarayan bir uygulama olup [ ... ]


26/04/2010 GitiPhone 3.1.3 Unlock Limera1n

iPhone'un diğer sürümlerine nazaran geç kalmış 3.1.3 sürümü unlock için herkesin gözü yine Geohot'ta. Malum Geohot iPhone'un belalısı konumda ve gecikmenin sebebi olarak Geohot'un Sony P [ ... ]