To run several sites with one Magnolia instance (author and public) you can use Apache with mod_jk. Here is what you have to do:
1. Give every site a separate content tree. I.e., create a top-level item in the "Websites" panel for each site you wish to create.
- /site1.html
- /site2.html
...
2. Configure Apache with mod_jk, setup mod_jk (/etc/httpd/httpd.conf):
# Load mod_jk
#
LoadModule jk_module /usr/lib/apache/mod_jk.so
# Configure mod_jk
#
JkWorkersFile /etc/httpd/conf/workers.properties
JkLogFile /var/log/httpd/mod_jk.log
3. Setup workers.properties for Magnolia (/etc/httpd/conf/workers.properties):
# Setting Java Home
workers.java_home=/usr/java/j2sdk1.4.2_03
ps=/
worker.list=author,public
worker.author.port=8019
worker.author.host=localhost
worker.author.type=ajp13
worker.public.port=8020
worker.public.host=localhost
worker.public.type=ajp13
4. Define virtual hosts for all of you sites (/etc/httpd/httpd.conf):
NameVirtualHost *
# Site1
<VirtualHost *>
ServerName www.site1.org
ServerAlias site1.org
RewriteEngine on
RewriteRule ^/$ /site1.html [R]
JkMount /* public
</VirtualHost>
# Site2
<VirtualHost *>
ServerName www.site2.org
ServerAlias site2.org
RewriteEngine on
RewriteRule ^/$ /site2.html [R]
JkMount /* public
</VirtualHost>
5. Define a virtual host for the authoring instance (/etc/httpd/httpd.conf):
<VirtualHost *>
DocumentRoot /srv/www/htdocs/site1
ServerName author.site1.org
ServerAlias author.site2.org
JkMount /* author
</VirtualHost>
6. Setup roles for each site like you find in Setup editor role for a site
7. Test it
Once this is set up, you may find Getting site data helpful.
In its previous incarnation on JspWiki, this page was last edited on Feb 9, 2007 10:59:43 AM by Magnolia
Other known authors include :