Liferay provides two different ways to setup the staging
- Local Live
When Local staging is enabled then clone is created as site pages containing the content and portlet data. Original site becomes live and clone will become staging environment.
2. Remote Live
When Remote staging is enabled then there will an establishment of connection between current site and site on remote Liferay server. Remote site becomes live environment and current site becomes staging environment.
Remote Live Staging
When you enable Remote Live staging, the remote site becomes the live environment and the current site becomes the staging environment. The remote (live) Liferay server and the local (staging) Liferay server should be completely separate systems. They should not, for example, share the same the database. When Remote Live staging is enabled, all the necessary information is transferred over the network connecting the two servers.
Before a site administrator can enable Remote Live staging for a site, the remote Liferay server must be added to the current Liferay server’s list of allowed servers. The current Liferay server must also be added to the remote Liferay server’s list of allowed servers. You also need to specify an authentication key to be shared by your current and your remote server and enable each Liferay server’s tunneling servlet authentication verifier. You can make all of these configurations in your Liferay servers’ portal-ext.properties files. Your first step should be to add the following lines to your current Liferay server’s portal-ext.properties file:
Steps need to be followed:
- add below mentioned properties to current Liferay server’s portal-ext.properties file:
## ##Staging Server setting ## # Set this shared secret to secure communications from one portal to another # via the tunneling servlet. This portal will refuse communications from # other portals that do not share the same secret. # # Secrets must be 16, 32, or 64 characters long. # tunneling.servlet.shared.secret=1234567890123456 ## ## Tunnel Servlet ## # # See the properties "main.servlet.hosts.allowed" and # "main.servlet.https.required" on how to protect this servlet. # tunnel.servlet.hosts.allowed=127.0.0.1,SERVER_IP,192.168.0.16 ## ## Axis Servlet ## # # See the properties "main.servlet.hosts.allowed" and # "main.servlet.https.required" on how to protect this servlet. # axis.servlet.hosts.allowed=127.0.0.1,SERVER_IP, 192.168.0.16 # # TunnelingServletAuthVerifier # auth.verifier.TunnelingServletAuthVerifier.hosts.allowed=
- Same settings need to be replicate in both thenodes (Liferay node1 and node2).
- Restart both Servers.
Liferay’s use of a pre-shared key between your staging and production environments helps secure the remote publication process. It also removes the need to send the publishing user’s password to the remote server for web service authentication. Using a pre-shared key allows Liferay to create an authorization context (permission checker) from the provided email address, screen name, or user ID without the user’s password. You can specify any value for the tunneling.servlet.shared.secret property; the value for your current server just has to match the value of your remote server. Remember to restart both Liferay servers after making these portal properties updates. After restarting, log back in to your local Liferay portal instance as a site administrator. Then navigate to the Site Administration → Configuration page for your site. Next, click on Site Settings in the left menu and then on Staging listed under the advanced tab. Select Remote Live under Staging Type and additional options appear.