Creating a new public instance
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 DX Core 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
-
-
-
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
.
WARNING: Add the connection information twice: once for theworkspace
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 Jackrabbit Repository Configuration File (a Community Wiki page). -
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
.
WARNING: 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.
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.
-
Synchronization module. Create new public instances without shutting down existing ones.
-
Programmatically by writing a
cloneInstanceCommand
. -
Jackrabbit DataStore for blobs in special cases.