Magnolia 5.7 reached extended end of life on May 31, 2022. Support for this branch is limited, see End-of-life policy. Please note that to cover the extra maintenance effort, this EEoL period is a paid extension in the life of the branch. Customers who opt for the extended maintenance will need a new license key to run future versions of Magnolia 5.7. If you have any questions or to subscribe to the extended maintenance, please get in touch with your local contact at Magnolia.
Multiple public instances are useful when you want to:
- Publish one part of a site to a different public instance.
- Manage multiple sites in one author instances and publish each site to a dedicated public instance.
- Add more public instances to cope with high load.
- Add more public instances to ensure high-availability.
You must have a Magnolia Enterprise license to be able to configure multiple working public instances.
Copying a public instance
The simplest way is to create a new public instance is to copy an existing one.
Before you do this, back up the
webapps
folder and the database. There is always the risk of corrupting the existing instance.
- Stop both your Public and Author instances.
- Copy a public instance folder such as
magnoliaPublic
. If you use an external database such as MySQL, copy the database folder too. - Rename the copied folder to
magnoliaPublic2
. - Delete unnecessary subfolders from the copy. The copy is a clone of the source instance. Some folders are essential to the new instance but others can be deleted.
- OK to delete:
cache
contains cached entries of the original instance.logs
contains log entries of the original instance. Empty log files will be recreated during server startup.index
subfolders in each/repositories/magnolia/workspaces/*
folder. Deleting the subfolders reindexes therepositories
. The rest of therepositories
folders should remain intact.tmp
is a temporary folder which Tomcat or Jackrabbit uses for its processes during export/import.
- Do not delete:
docroot
contains the TomcatdocBase
static resources.META-INF
templates
contains static resources.WEB-INF
- OK to delete:
- If you use an external database such as MySQL, connect the new instance to its database location. Edit the Jackrabbit configuration XML file in
/webapps/magnoliaPublic2/WEB-INF/config/repo-conf
. Each database has a file of its own, edit the file that you have configured inmagnolia.properties
in themagnolia.repositories.jackrabbit.config
parameter. For example, if you use MySQL then editjackrabbit-bundle-mysql-search.xml
.Add the connection information twice: once for the
workspace
section and once for theversioning
section in the XML file.
You can also include a custom XML configuration file for your database. For more information, see Content storage and structure, Configuration and Setting up a Jackrabbit persistence manager. - If you use an external database, set the persistence manager also for each workspace. Workspace configuration XML files are in
/<contextPath>/repositories/magnolia/workspaces/<workspace>/workspace.xml
.
The MySQL InnoDB storage engine is supported by Magnolia. InnoDB is the default engine in MySQL 5.5+. The MyISAM engine is not supported.
- Start Magnolia.
- On the author instance, configure the new public instance as a receiver.
Node name | Value |
---|---|
modules | |
publishing-core | |
config | |
receivers | |
magnoliaPublic8080 | |
enabled | true |
url | |
magnoliaPublicTwo8080 | |
enabled | true |
url |
Other ways to create a public instance
Other ways to create new public instances:
- Backup module. Use the Restore function. This creates a new public instance for the restored data automatically.
- Backup and restore JSP scripts. The Packager module is also useful here.
- Synchronization module. Create new public instances without shutting down existing ones.
- Programmatically by writing a
cloneInstanceCommand
. - How to replicate a public instance lists many options to repair a broken public instance using a second instance.
- Jackrabbit DataStore for blobs in special cases.