Joomla Multi Sites / Multiple joomla configuration

You are here  : Home
Joomla Multi Sites / Multiple joomla configuration
Jooma multi sites - Multiple domains sharing the same joomla installation PDF Print E-mail

Joomla Multi Sites allows multiple domain names or sites to have their own joomla configuration file using the same joomla 1.5.x installation.
In other terms, Joomla Multi Sites allows you to share the Joomla files and folders present on the disk in aim to create multiple web sites.

Joomla Multi Sites works like a virtual server that analyse the URL of the webpage and associate this URL to a specific joomla configuration.
With Joomla Multi Sites, it is possible to create website from the back-end of even propose the creation of website from the front-end.
With Joomla Multi Sites you can for example associate a domain "http://www.domain1.com" to a specific joomla configuration files. This association is performed using a site idenfitier defined in Joomla Multi Sites.

As each web site has its own joomla configuration, you can easily decide to share the same database with different table database prefix (other than "jos_") or use separated databases for the differents websites or a mixt of both.

In JMS 1.0.x, the setup of each configuration site was done using the standard joomla installation mechanism.
In the administration of a 'Slave' site, you can re-install/uninstall extension previously installed on the 'Master' site.
The 'Master' site is the one where you have installed the Joomla MultiSites component and where you manage the 'Slave' sites.
Additional control are performed during the installation/uninstallation of an extension in a 'slave' site.
Before executing the standard joomla installation, it is verified that the extension you request to install has exactly the same name and same version number to avoid inconsistency between all sites.
This additional control is performed to ensure that you will overwrite the current installation with identical files that you originaly installed.
On 'slave' site, the uninstall of an extension consists in a joomla standard cleanup of the database. The files present on disk for this extension are not deleted to avoid disturb the other sites.

With JMS 1.1.x, it is now possible to use an existing web site defined in JMS as a template to create new slave sites. For the moment, the replication of a web sites only works within the same database.
This new feature avoid to re-install the extensions into the slave sites as you receive a copy of the existing website that start the new one. JMS also create automatically the Joomla configuration file base on the one of the template website.
The tables replicated are not touched except the one that contain the Joomla global configuration. This means that potential configuration table used by some extensions will not be updated as this is done when using the manual Joomla re-installation.
In addition to the replication of the database, it is possible to customize several parameters such as the image folder, media folder, template (themes) folder.
For Unix platform, JMS also include the possibility to deploy a slave site into an external directory to avoid sharing the master website directory. In this case, symbolic links are used to connect JMS on the master website.

Templates and Languages are automatically shared between all sites.
Each website can select its own default template and languages.
The re-installation of thoses extension is therefore disabled from the 'Slave' sites.

In case of JMS 1.1.x, it is possible to give a specific templates (themes) foloder. When this feature is used, this allow the slave site to install its own templates.
On windows platform, the new template folder is a copy of the website that is used during the replication.
On Unix platform, this is a list of symbolic link on the website that is used for the replication. This feature is design for example for the companies that develop templates and want to propose ready to use joomla websites with specific template. They will have to maintain the template only once for all the slaves sites derived form a "template website".

JMS 1.1.x also give the possibility to create slave site from the front-end. With this new feature, a register user can create dynamically a website using a template. It is possible to create “free” or “billable” slave sites. Free front-end slave sites mean that you don’t want that your final customer pay for the creation of the slave site. If you want to sale this service to your customers, you can use the “billable” website creation. In this case, you can create a bridge with your eShop component (ie. VirtueMart) to order the creation of the slave sites. JMS 1.1.x contain all the API that allows you create such billable websites. A bridge for VirtueMart is also available in option.

As each slave sites use different table prefix, when the authentication is Joomla, this mean that each sites has its own user login. The users are not shared.
For external authentication like LDAP, by the definition of external system the users are shared between all websites.

Joomla Multi Site is a Joomla native 1.5 component.

Feature summary

  JMS 1.0.x JMS 1.1.x
Joomla Multi Sites Works like a virtual server    
  It analyzes the URL and associates the URL with a Joomla configuration file    
    With JMS 1.0.x, it uses the host present in the URL "http://HOST/" and is able to recognize    
     
  • The Domain (http://www.domain.com)
  • YES YES
         
  • The Sub Domain (http://sub_domain.domain.com)
  • YES YES
        With JMS 1.1.x it analyze the complete URL and can also recognize    
         
  • the protocol (http, https)
  • no YES
         
  • the Sub-directories (http://www.domain.com/sub_directoriy)
  • no YES
      Joomla Multi Sites shares the Joomla Installation – This means that all the websites use the same PHP code and therefore share the files and the folders present on the disk. This reduces the maintenance as the files and folders are identical for all the websites.
    Template (themes) folder can be customized and become specific for some websites.
       
    Possible database configuration    
      Share the same DB – In this case the table prefix for each website must be different to guarantee that each website is independent the one of each other. In this case, it is recommended to never use the table prefix ‘jos_’ YES YES
      Two DB    
       
  • One DB for the master website
    (jos_ table prefix is allowed)
  • One DB for the slave sites
    (jos_ is not recommended)
  • YES YES
      As many DB than there are website
    (jos_ table prefix is allowed)
    YES YES
      As each website use its own database or at least different table prefix when it shares the same database then this means that the articles, the news, the forum, the users or whatever is stored in DB is NOT shared.    
    The creation of a website consists in:    
     
  • Using the standard Joomla Installation procedure
    This require that each website re-install the extensions
  • JMS 1.1.x contain the possibility to replicate the table of an existing website
    This avoid to re-install the extensions.
    Remark: Some extensions may save their configuration in the database and the data are not modified. The configuration of those extensions should be updated manually. JMS does not contain any mechanism to update the data of the extensions.
  • YES

    no
    YES

    YES
    JMS 1.1.x – new features    
      Definition of "template websites" with their replication rules for    
       
  • Table replications
    Possibility to replicate the table of a website with another table prefix into the same database
  • New Image folder path computation
  • New Media folder path computation
  • New Template (themes) path computation
  • Possibility to select the user that will be used as administrator by the front-end
  • no YES
      Possibility to customize the folders    
       
  • Images – This is a copy from the "template website"
  • Media – This is a copy from the "template website"
  • Templates (themes)
    On windows, This is a copy from the "template website"
    On UNIX, the Symbolic Links are used instead of a copy of the directories to reduce the maintenance
  • no YES
      Use a specific directory for    
       
  • Cache (front-end) only
  • Log
  • Tmp
  • no YES
      Unix only    
       
  • Possibility to deploy a slave site into an external directory to simplify the configuration of some tools such as Cpanel, Plesk, …
  • Possibility to have specific folder for some extension (ie. dmdocuments for DOCMain)
  • no YES
      Back-end administration
      
      Only accept the "Super Administrator" as user to administrate the "back-end" JMS noYES
      Front-end services
      
      Dynamic website creation using template definition rules
     noYES
      Languages for the front-end and back-end
      
       English YESYES
       French noYES
     Options available (see the related product for more detail)  
     Plug-in Joomla Multi Sites bridge for VirtueMart no YES

    Maintenance Advantage

    The advantage of Joomla Multi Sites is that joomla upgrade are performed only once.
    With Joomla Multi Sites, you don't have to replicate the core Joomla bug fix, security fix or whatever.
    You just upgrade your master website and all the slave websites are updated in the same times.
    You gain in time, security, and disk space.

    Robustness

    To increase the robustness of this Joomla Multi Sites extension, the number of core file to patch has been reduced as much as possible.Only 5 core joomla files require to be patched.
    In each file, the patches consists in modifying 2 lines and adding 1 line.
    The patches are not deployed at the installion of the component.
    To avoid loosing any files, a backup is performed during the installation of the component. This allow restoring files if you decide to uninstall the component.
    When you decide to install the patches, the sub-menu "check patches" give you a supervision of the files that need to be patched in aim to let slave sites wroking properly.

    The Joomla Multi Sites is delivered with a copy of the standard Joomla installation directory to ease the deployment of this component.
    It is also delivered with a backup of the original joomla files in case where you have deleted the backup realized at the installation of joomla multisites compoent.

    Possible architecture

    Single database

    Joomla Multi Sites can use a single database for all the websites. In this case, the separation of the data of each websites is guarantee with different database table prefix.
    The "jos_" table prefix can not be used in this scenario.
    This kind of architecture can be used when you start a fresh installation and when you are limited in the number of database you can create.

    Two databases (1 master and 1 slave)

    When using two databases, the master database can use the "jos_" table prefix.
    The second database is used to store the slave sites. The "jos_" table prefix is forbidden in the slave database.
    This kind of architecture is adviced when you are limited in the number of database and when you want install Joomla Multi Sites in an existing website (master site).

    As many databases than there are websites

    This architecture is the most flexible architecture and corresponds to the default Joomla Installation procedure.
    The "jos_" table prefix is allowed for each website.

    Summary

    The choice of the architecture depend on:

    • The maximum number of database that your provider authorise;
    • The disk quota (disk space) used by the databases
    • the need to use "jos_" as tabel prefix.
      The "jos_" table prefix can only be used when there is only a single website stored in the database.
      As soon there are multiple websites stored in the same database, the "jos_" table prefix is forbidden.

    Compatibility

    JMS were oriiginally been developed under Joomla 1.5.2 and used intenally.
    The first public distribution started with Joomla 1.5.3 and now upgraded with Joomla 1.5.8.
    JMS works perfectly with all Joomla 1.5.x due to the limited patches required.

    Several external components were tested with Joomla Multi Sites.
    Following components works perfectly without any patches:

    • DOCMAN 1.4.0rc3
    • FAQ for Joomla (see www.faq2win.com)
    • EventList 1.0 Beta
    • Phoca Gallery 2.0.0

    Reported as working without patches by our customers

    • Joomla flash uploader
    • MorfeoShow
    • Joom!Fish 2.0 RC1
    • SOBI2

    Other extension may have problems when they contain their own Installation system. This is the case for example of XMAP and Community Builder that have an extension installer or a Plugin Installer.
    We deliver Joomla Multi Sites with patches for:

    • VirtueMart 1.0.15 & 1.1.x to accept multiple SECUREURL depending on the domain name;
    • XMAP 1.1 to accept extension re-installation from a Slave site;
    • Community Builder 1.1 Stable, CB 1.2 RC2 and RC3 to accept Plugin re-installation from a Slave site.
    • JCE

    A special "Check for Updates" menu is available in JMS to upgrade its patches definition when a specific component require a new patch.

    Don't hesitate to contact us if you have any doubt about a specific component.

    Documentation and Demo

    If you want to see screenshot, click here

    In the users manual, you have a description of each functionalities.
    The two major functionalities are:

    • Check, Install and Uninstall the patches for the core joomla and possible extensions
    • Manage the slave website to define the relation between the domain name and a directory where will be stored the specific configuration file.

    A document "demo installation" is also available to guide the new users in the different steps of the installation of Joomla Multi Sites. It also highlight some points that must be respected to guarantee that each website is independant.

    Visit also our FAQ where we you will find the answer to some frequently asked questions.

    Last Updated on Wednesday, 19 November 2008 23:06