™ JMS MULTISITE for joomla! Extends joomla! with multisite functionality ™ « Technical (workshop) presentation » Joomla Day Mallorca 9 th and 10 th april 2010 Page : 1 www.jms2win.com 08-Apr-2010
Table of content ◄ Why did we created JMS MULTISITE (its history) ? ◄ Which are our requirement and solutions ? ◄ For whom JMS MULTISITE is designed ? ◄ What is JMS MULTISITE ? – A super switch, a dispatcher that is able to display the appropriate website depending on the domain, subdomain or subdirectories – A set of tools • to create, replicate, clone websites (a copy machine) that can be used : – From the front-end (Free or Billable websites) – From the back-end to speed-up the website creation • To supervise the installation, sharing of extensions and also supervise the dependencies between websites ◄ How the « super switch » is working ? – Concept of JMS MULTISITE to share the same joomla installation • How a HTTP Server is working ? • Functionalities present in the different version of Jms Multi Sites ? ◄ Security and proposed architecture. ◄ How to use JMS MULTISITE (the set of tools) ? – How to create a websites from the front-end and back-end ? – How to create the rules to replicate, clone a website and how to share the content of some extensions – Creation of menu item for the front-end website creation • Possibility to have different layouts – How it is possible to share the articles ? ◄ Why to use JMS MULTISITE ? ◄ Who are using JMS MULTISITE today ? ◄ Our other products ◄ Conclusions Page : 2 www.jms2win.com 08-Apr-2010
History 1 Page : 3 www.jms2win.com 08-Apr-2010
History 2 Page : 4 www.jms2win.com 08-Apr-2010
Our requirements & solutions Requirements Solutions ◄ Have a unique maintenance and ◄ to share the same joomla installation. redure the disk spacce So share the same joomla directories. ◄ Be able to create website from : ◄ Replication (clone) of existing websistes that will be used as – The Back-end template. – The Front-end – Just change the DB parameters • Be able to create a huge number of slave sites in a short time. – Use keywords (or variable) to change • Have a secured environment and be able to dynamically some parameters filter the « front-end » parameters ◄ Share the users and data to avoid ◄ Share some MySQL tables synchronisations (All records or none) ◄ Share the individual articles ◄ Articles sharing (not all the articles) ◄ Have a tool to supervise the extension ◄ JMS MULTISITE « website tool » installation Page : 5 www.jms2win.com 08-Apr-2010
For whom JMS MULTISITES is designed ? Page : 6 www.jms2win.com 08-Apr-2010
What is JMS MULTISITES ? Page : 7 www.jms2win.com 08-Apr-2010
Super switch / set of tools Page : 8 www.jms2win.com 08-Apr-2010
Set of tools to replicate the websites Page : 9 www.jms2win.com 08-Apr-2010
How the super-switch is working ? Jms Multi Sites works like a HTTP Server (apache, IIS, …) • How a HTTP Server is working ? • How the HTTP Server processing is applied in Jms Multi Sites HTTP Server (apache / IIS) Application #2 VirtualHost document root Index.php http://www.domain1.com www.domain1.com Location 1 on disk Request (url) www.domain2.com Location no 2 Application #1 Index.php execute Display the web page PHP Parked domains AddOn domains Symbolic Links VirtualHost document root VirtualHost document root VirtualHost document root www.domain1.com Location 1 on disk www.domain1.com www.domain1.com Location 1 on disk Location 1 on disk www.domain2.com www.domain2.com Location no 2 www.domain2.com Location 1 on disk Page : 10 www.jms2win.com 08-Apr-2010
HTTP Server processing <VirtualHost *> ServerName domain1.com Server admin tool ServerAlias *.domain1.com DocumentRoot /home/user1/domain1/www •Cpanel . . . . . •Plesk </VirtualHost> •GoDaddy •Etc … DNS Server Convert name into IP address Server IP 123.123.123.123 Name: IP: domain1.com 123.123.123.123 Parked domains Apache / IIS configuration HTTP Server Virtual host name directory port 123.123.123.123:80 Browser http ://www. domain1.com Unix – apache host = 80 Name: domain1.com Windows - IIS www. domain1.com Alias: www.domain1.com, /home//user1/domain 1 /www domain2.com , www.domain2.com Http -> port 80 port FTP Server 21 AddOn domains JMS >= 1.1 ( Symbolic Links ) Apache / IIS configuration Apache / IIS configuration Virtual host name directory Virtual host name directory Name: domain1.com Name: domain1.com /home/user1/domain 1 /www /home/user1/domain 1 /www Alias: www.domain1.com Alias: www.domain1.com Name: domain2.com Name: domain2.com /home/user1/domain 1 /www /home/user1/domain 2 /www Alias: www.domain2.com Alias: www.domain2.com Page : 11 www.jms2win.com 08-Apr-2010
JMS MULTISITES concept <VirtualHost *> ServerName domain1.com Server ServerAlias *.domain1.com, *.domain2.com DocumentRoot /home/user1/domain1/www IP 123.123.123.123 </VirtualHost> Apache / IIS configuration HTTP Server port Virtual host name directory Unix – apache 80 Name: domain1.com Windows - IIS Alias: www.domain1.com, /home/user1/domain 1 /www domain2.com , port FTP Server www.domain2.com 21 Jms Multisite: •Parse the HTTP protocol envelop to extract the domain, subdomain and subdirectory information •Select the appropriate joomla « configuration.php » file JMS Multisite configuration ID Domains DB Configuration domain1.com site1 .…/multisites/ site1 /configuration.php www.domain1.com domain2.com site2 .…/multisites/ site2 /configuration.php www.domain2.com Default (not found) .…/configuration.php = master website Page : 12 www.jms2win.com 08-Apr-2010
Version History • Version 1.0 – Just share the same PHP code and require to assign the same « document root » to each domain – Only select the appropriate « configuration.php » based on the « host » (domain or subdomain) – Only create fresh slave sites • Version 1.1 – Introduction of the Symbolic Links functionality to allow deploy a slave site into another directory. • Case where the HTTP admin tool does not allow assign a specific « document root » – Possibility to create websites from the front-end Template of websites • Give the possibility to delears or branches, … to create their own websites and avoid « head quarter » create all the websites • Also request from « templates (themes) » company to propose « ready to use » websites amoung different themes • Etc … – Possibility to replicate websites into a same DB Template of websites • Version 1.2 – Extended with the replication into another DB – Add the sharing of extensions – Creation of a « website tools » to supervise the « install », « sharing », « uninstall » of the extensions Page : 13 www.jms2win.com 08-Apr-2010
Version 1.0: Share the joomla installation HTTP Server Dir: AAA http://www.domain1.com/index.php DB www.domain1.com J joomla domain1 => directory AAA O O M HTTP Server Dir: BBB http://www.domain2.com/index.php L DB www.domain2.com joomla domain2 A => directory BBB As many maintenance as w ebsites As many maintenance as w ebsites As many maintenance as websites Version JMS 1.0 M M HTTP Server u u DB http://www.domain1.com/index.php www.domain1.com domain1 l l => dir: common t Dir: Common t Dir: Common i joomla i joomla HTTP Server S S http://www.domain2.com/index.php DB www.domain2.com i i domain2 => dir: common Single joomla maintenance Single joomla maintenance t t e e Page : 14 www.jms2win.com 08-Apr-2010
Version 1.0: Compared directories Standard Joomla Each websites duplicate the Joomla files and folders This require as many maintenance as there are websites Hosting directory structure http://www.site1.com jos _ DB Site 1 http://www.site2.com jos _ DB Site 2 jos _ Version JMS 1.0 http://www.siten.com DB Site 3 JMS MULTISITE A single common JMS MULTISITE Joomla installation Share the same Joomla files and folders Share the same Joomla files and folders reduce the maintenance ! http://www.site1.com jos _ DB Site 1 jos _ http://www.site2.com DB Site 2 jos _ DB Site 3 http://www.siten.com Page : 15 www.jms2win.com 08-Apr-2010
Version 1.1: Symbolic Link + templates HTTP Server Dir: AAA http://www.domain1.com/index.php DB www.domain1.com J joomla domain1 => directory AAA O O M HTTP Server Dir: BBB http://www.domain2.com/index.php L DB www.domain2.com joomla domain2 A => directory BBB As many maintenance as w ebsites As many maintenance as w ebsites Version JMS >= 1.1 M Symbolic Link M DB u u HTTP Server domain1 Dir: AAA http://www.domain1.com/index.php l www.domain1.com l joomla t => directory AAA t DB domain2 i i S y m S b S o HTTP Server l + i c T L e i n http://www.domain2.com/index.php Dir: BBB m k p i i l a www.domain2.com t e s linked to AAA t t => directory BBB Single joomla maintenance Single joomla maintenance e e Page : 16 www.jms2win.com 08-Apr-2010
Version 1.1 : Concept of the Symbolic Links ◄ The unix Symbolic Link is similar to – a shortcut on windows platform, – an alias on macintosh ◄ It does not consume disk space. (this is an alias, a link, a shortcut, a pointer to a directory or file) Page : 17 www.jms2win.com 08-Apr-2010
Recommend
More recommend