Difference between revisions of "GCube Portal Installation"

From Gcube Wiki
Jump to: navigation, search
(gCube Infrastructure Gateway 4.0.0 (June 2016))
(Install the gCube Infrastructure Gateway Bundle)
(19 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
[[Category:Administrator's Guide]]
 
[[Category:Administrator's Guide]]
gCube adopts Liferay Portal as enabling portal technology for its Infrastructure Gateway. gCube portal is built over [http://www.liferay.com/documentation/liferay-portal/6.0/getting-started Liferay Portal 6.0.6 (Bunyan)]
+
gCube adopts Liferay Portal as enabling portal technology for its Infrastructure Gateway. gCube portal is built over [https://sourceforge.net/projects/lportal/files/Liferay%20Portal/6.2.5%20GA6/ Liferay Portal 6.2 CE GA6 (Newton / Build 6205 / January 6, 2016)]
  
=gCube Infrastructure Gateway 4.0.0 (June 2016)=
+
=gCube Infrastructure Gateway 4.7.0-SNAPSHOT (February 2020)=
  
 
Starting from 3.0 release, the gCube Infrastructure Gateway has been mavenized, this make installing it '''a very simple process''' and takes '''less than five minutes''' to complete. We've been '''working hard''' to make this process as '''easiest and quicker as possible'''.  
 
Starting from 3.0 release, the gCube Infrastructure Gateway has been mavenized, this make installing it '''a very simple process''' and takes '''less than five minutes''' to complete. We've been '''working hard''' to make this process as '''easiest and quicker as possible'''.  
  
Supported Operating Systems are Linux and MacOSX. With Java7 installed.
+
Supported Operating Systems are Linux and MacOSX. With Java8 installed.
  
 
[[File:Gcube4.0-gateway.png]]
 
[[File:Gcube4.0-gateway.png]]
Line 12: Line 12:
  
 
==Install the gCube Infrastructure Gateway Bundle==
 
==Install the gCube Infrastructure Gateway Bundle==
'''gCube Infrastructure Gateway 4.0.0''' is bundled with [http://tomcat.apache.org/index.html tomcat6] and the latest stable relase of [https://gcube.wiki.gcube-system.org/gcube/index.php/Featherweight_Stack gCube Featherweight Stack Distribution], [https://gcube.wiki.gcube-system.org/gcube/index.php/ASL gCube Application Support Layer (ASL)], [http://gcube.wiki.gcube-system.org/gcube/index.php/Social_Networking_Library gCube Social Networking Library] and [http://gcube.wiki.gcube-system.org/gcube/index.php/Home_Library gCube Home Library]
+
'''[https://code-repo.d4science.org/gCubeSystem/gcube-portal-bundle gCube Infrastructure Gateway]''' is bundled with [https://tomcat.apache.org/tomcat-7.0-doc/index.html Apache Tomcat 7] and the latest stable relase of [https://gcube.wiki.gcube-system.org/gcube/index.php/Featherweight_Stack gCube Featherweight Stack Distribution], [http://gcube.wiki.gcube-system.org/gcube/index.php/Social_Networking_Library gCube Social Networking Library] and [http://gcube.wiki.gcube-system.org/gcube/index.php/Home_Library gCube Home Library]
  
 
All you need to do is the following:
 
All you need to do is the following:
* Download the latest version of the Portal-Bundle from maven, make sure you get the latest snapshot.
+
* Download the latest version of the Portal-Bundle from maven, make sure you get the latest snapshot from our Nexus repo: [http://maven.research-infrastructures.eu/nexus/index.html#nexus-search;quick~gcube-portal-bundle gcube-portal-bundle SNAPSHOT]
 
<source lang="xml">
 
<source lang="xml">
 
<dependency>
 
<dependency>
   <groupId>org.gcube.portal</groupId>
+
   <groupId>org.gcube.distribution</groupId>
   <artifactId>portal-bundle</artifactId>
+
   <artifactId>gcube-portal-bundle</artifactId>
 
   <version>LATEST</version>
 
   <version>LATEST</version>
 
   <type>tar.gz</type>
 
   <type>tar.gz</type>
Line 30: Line 30:
 
** add JAVA_HOME env. variable (the home directory of java)
 
** add JAVA_HOME env. variable (the home directory of java)
 
** add JRE_HOME env. variable (JAVA_HOME/jre)
 
** add JRE_HOME env. variable (JAVA_HOME/jre)
** add CATALINA_OPTS env. variable "export CATALINA_OPTS="-Dexternal-properties=portal-developer.properties -Xmx1000m -Xms1000m  -Djava.protocol.handler.pkgs=com.sun.net.ssl.internal.www.protocol -Dlog4j.ignoreTCL=true -Dlog4j.configuration=file://$CATALINA_HOME/portal-log4j.properties"
+
** add CATALINA_OPTS env. variable "export CATALINA_OPTS="-Dexternal-properties=portal-developer.properties -Xmx1000m -Xms1000m  -Dlog4j.ignoreTCL=true -Dlog4j.configuration=file://$CATALINA_HOME/portal-log4j.properties -Dlogback.configurationFile=file://$CATALINA_HOME/portal-logback.xml"
 
** add CATALINA_PID env. variable "export CATALINA_PID=~/pid.txt"
 
** add CATALINA_PID env. variable "export CATALINA_PID=~/pid.txt"
 +
 +
''' IMPORTANT '''
 +
The CATALINA_OPTS env variable: '''-Dexternal-properties=portal-developer.properties''' optimizes Liferay Portal for development by removing all caches and thus making sure that any change made by the developer is visible in the website as soon as technically possible. One of the final goals is to avoid rebooting the server as much as possible. Further Information at: [https://web.liferay.com/community/wiki/-/wiki/Main/Liferay+Developer+Mode LiferayDeveloper Mode Doc]
  
 
After that, say you created a "Portal-Bundle" folder on your user's home(~) and extracted the org.gcube.portal.portal-bundle-2+ in there, the final part of your ~/.bashrc file may look like the following:
 
After that, say you created a "Portal-Bundle" folder on your user's home(~) and extracted the org.gcube.portal.portal-bundle-2+ in there, the final part of your ~/.bashrc file may look like the following:
Line 42: Line 45:
  
 
export CLASSPATH=
 
export CLASSPATH=
export CATALINA_OPTS="-DGLOBUS_LOCATION=$GLOBUS_LOCATION -Xmx1000m -Xms1000m  -Djava.protocol.handler.pkgs=com.sun.net.ssl.internal.www.protocol -Dlog4j.ignoreTCL=true -Dlog4j.configuration=file://$CATALINA_HOME/portal-log4j.properties"
+
export CATALINA_OPTS="-Dexternal-properties=portal-developer.properties  -Xmx1000m -Xms1000m  -Djava.protocol.handler.pkgs=com.sun.net.ssl.internal.www.protocol -Dlog4j.ignoreTCL=true -Dlog4j.configuration=file://$CATALINA_HOME/portal-log4j.properties"
  
 
export CATALINA_PID=~/pid.txt
 
export CATALINA_PID=~/pid.txt
Line 50: Line 53:
  
 
'''gCube Infrastructure Gateway enabling technology (Liferay)''' comes with a default database called HSQL or "hypersonic." '''This is not meant for production use!''''  
 
'''gCube Infrastructure Gateway enabling technology (Liferay)''' comes with a default database called HSQL or "hypersonic." '''This is not meant for production use!''''  
You should switch to a real database to use the gCube Infrastructure Gateway. For further information see  
+
You should switch to a real database to use the gCube Infrastructure Gateway. For further information see Section Configuring gCube Infrastructure Gateway database section in the following of this page.
[https://gcube.wiki.gcube-system.org/gcube/index.php/GCube_Portal_Installation#Configuring_gCube_portal_database Configuring gCube Infrastructure Gateway database section below]
+
  
 
However, if you want to startup gCube Infrastructure Gateway using the default database just open a shell and enter the following command:  
 
However, if you want to startup gCube Infrastructure Gateway using the default database just open a shell and enter the following command:  
Line 68: Line 70:
 
open your browser and go to http://localhost:8080
 
open your browser and go to http://localhost:8080
 
if you performed all of the above operations correctly, you should be presented something like the following  
 
if you performed all of the above operations correctly, you should be presented something like the following  
[[File:PortalStaging.png | screenshot]]
+
[[File:Gcube4.0-bundle-1.png | screenshot]]
  
all you need to do now is '''follow the instructions on the screen''', a  wizard application will guide you through the [https://gcube.wiki.gcube-system.org/gcube/index.php/GCube_Portal_Installation#Portal_Staging_procedure Portal Staging procedure]. '''Thank you for using gCube'''.
+
all you need to do now is '''follow the instructions on the screen''', a  wizard application will guide you through the [https://wiki.gcube-system.org/gcube/GCube_Portal_Installation#Staging_procedure Staging procedure]. '''Thank you for using [http://www.gcube-system.org gCube]'''.
  
 
== Starting/Stopping a gCube Infrastructure Gateway ==
 
== Starting/Stopping a gCube Infrastructure Gateway ==
Line 149: Line 151:
 
== Staging procedure ==
 
== Staging procedure ==
  
'''Staging is a new feature bundled with gCube Infrastructure Gateway 2.0''' When you install the portal for the first time a Wizard Application will guide you through the installation configuration and will setup everything's needed for you.
+
'''Staging is a revised feature bundled with gCube Infrastructure Gateway 4.0''' When you install the portal for the first time a Wizard Application will guide you through the installation configuration and will setup everything's needed for you.
 +
 
 +
Follow the standard [https://dev.liferay.com/discover/deployment/-/knowledge_base/6-2/using-liferays-setup-wizard Liferay Wizard Procedure] until entering your desired password for your user. After that you will be presented the gCube Portal Staging procedure as displayed in the screenshot below.
  
Once you logged in for the first time with the suggested credential you are presented the following page, click the button Begin Install (circled in red) to start the installation
+
[[File:Gcube4.0-bundle-5.png]]
  
[[File:PortaStaging2.png]]
+
Click "Begin Install" button to make the gCube Staging installation procedure start.
  
At this point the installation procedure has started.
+
The whole procedure consist of 3 steps, as shown in the figure below:
The whole procedure consist of 4 steps, as shown in the figure below:
+
* Infrastructure Selection
* Infrastructure and Theme Selection
+
 
* Virtual Research Environments check-up
 
* Virtual Research Environments check-up
* Administrator account creation
 
 
* Final step
 
* Final step
  
Provide the information requested, if your not sure about the settings you should read more about gCube on this wiki. The next steps are quite handy and we think no further documentation is needed, however feel free to ask for support if needed.
+
Provide the information requested, if your not sure about the settings you should read more about gCube on this [http://wiki.gcube-system.org wiki]. The next steps are quite handy and we think no further documentation is needed, however feel free to ask for support if needed.
  
[[File:PortaStaging3.png]]
+
[[File:Gcube4.0-bundle-staging.png]]

Revision as of 15:40, 12 February 2020

gCube adopts Liferay Portal as enabling portal technology for its Infrastructure Gateway. gCube portal is built over Liferay Portal 6.2 CE GA6 (Newton / Build 6205 / January 6, 2016)

gCube Infrastructure Gateway 4.7.0-SNAPSHOT (February 2020)

Starting from 3.0 release, the gCube Infrastructure Gateway has been mavenized, this make installing it a very simple process and takes less than five minutes to complete. We've been working hard to make this process as easiest and quicker as possible.

Supported Operating Systems are Linux and MacOSX. With Java8 installed.

Gcube4.0-gateway.png


Install the gCube Infrastructure Gateway Bundle

gCube Infrastructure Gateway is bundled with Apache Tomcat 7 and the latest stable relase of gCube Featherweight Stack Distribution, gCube Social Networking Library and gCube Home Library

All you need to do is the following:

  • Download the latest version of the Portal-Bundle from maven, make sure you get the latest snapshot from our Nexus repo: gcube-portal-bundle SNAPSHOT
<dependency>
  <groupId>org.gcube.distribution</groupId>
  <artifactId>gcube-portal-bundle</artifactId>
  <version>LATEST</version>
  <type>tar.gz</type>
</dependency>
  • Extract the gCube Infrastructure Gateway bundle tar.gz into a folder on your machine
  • Add to the ~/.bashrc file the following:
    • clean CLASSPATH: "export CLASSPATH="
    • add CATALINA_HOME env. variable (the home directory of tomcat)
    • add JAVA_HOME env. variable (the home directory of java)
    • add JRE_HOME env. variable (JAVA_HOME/jre)
    • add CATALINA_OPTS env. variable "export CATALINA_OPTS="-Dexternal-properties=portal-developer.properties -Xmx1000m -Xms1000m -Dlog4j.ignoreTCL=true -Dlog4j.configuration=file://$CATALINA_HOME/portal-log4j.properties -Dlogback.configurationFile=file://$CATALINA_HOME/portal-logback.xml"
    • add CATALINA_PID env. variable "export CATALINA_PID=~/pid.txt"

IMPORTANT The CATALINA_OPTS env variable: -Dexternal-properties=portal-developer.properties optimizes Liferay Portal for development by removing all caches and thus making sure that any change made by the developer is visible in the website as soon as technically possible. One of the final goals is to avoid rebooting the server as much as possible. Further Information at: LiferayDeveloper Mode Doc

After that, say you created a "Portal-Bundle" folder on your user's home(~) and extracted the org.gcube.portal.portal-bundle-2+ in there, the final part of your ~/.bashrc file may look like the following:

export JAVA_HOME=/usr/lib/jvm/java-7-oracle/
export JRE_HOME=$JAVA_HOME/jre
export CATALINA_HOME=~/Portal-Bundle/tomcat-7.0.62
export CATALINA_BASE=$CATALINA_HOME
export CATALINA_TMPDIR=$CATALINA_HOME/temp
 
export CLASSPATH=
export CATALINA_OPTS="-Dexternal-properties=portal-developer.properties  -Xmx1000m -Xms1000m  -Djava.protocol.handler.pkgs=com.sun.net.ssl.internal.www.protocol -Dlog4j.ignoreTCL=true -Dlog4j.configuration=file://$CATALINA_HOME/portal-log4j.properties"
 
export CATALINA_PID=~/pid.txt

First startup of gCube Infrastructure Gateway

gCube Infrastructure Gateway enabling technology (Liferay) comes with a default database called HSQL or "hypersonic." This is not meant for production use!' You should switch to a real database to use the gCube Infrastructure Gateway. For further information see Section Configuring gCube Infrastructure Gateway database section in the following of this page.

However, if you want to startup gCube Infrastructure Gateway using the default database just open a shell and enter the following command:

source ~/.bashrc

and start tomcat

$CATALINA_HOME/bin/startup.sh

gCube Infrastructure Gateway take less than a minute to initialize, in the meanwhile you might want to check the portal logs, to do so, enter the command:

tail -f $CATALINA_HOME/logs/catalina.out

open your browser and go to http://localhost:8080 if you performed all of the above operations correctly, you should be presented something like the following screenshot

all you need to do now is follow the instructions on the screen, a wizard application will guide you through the Staging procedure. Thank you for using gCube.

Starting/Stopping a gCube Infrastructure Gateway

In order to start / stop tomcat, you should execute the following commands:

  • source the configured ~/.bashrc
  • $CATALINA_HOME/bin/startup.sh
  • $CATALINA_HOME/bin/shutdown -force

please note: If you change gCore's configuration or Tomcat's settings or Liferay portal.ext.properties file, you should restart tomcat for the changes to be applied.

Additional Information

Setting the Infrastructure

By Default the bundle is configured to run on the gCube Development infrastructure. However if you want to change infrastructure please edit this file under $CATALINA_HOME/conf/infrastructure.properties

Changing Company web id

By default, gCube Infrastructure Gateway starts with "liferay.com" as default company web id, this means, among other things, that at login time portal will suggest email addresses ending with @liferay.com. If you want to configure the portal to use your own Company web id just add the following property in portal.ext.properties file located under $CATALINA_HOME/webapps/ROOT/WEB-INF/classes.

Replace <MY_COMPANY_WEB_ID> with your own company web id, e.g. google.com

#company web id name
company.default.web.id=<MY_COMPANY_WEB_ID>

please note 1: This change must be performed before starting up your portal for the first time.

please note 2: This change will not work if you use the default HSQL DB (Hypersonic)

Configuring gCube Infrastructure Gateway database

If you want to configure the portal to use a different database than the default HSQL DB one (and you are encouraged to do so) you should add some properties in portal.ext.properties file located under $CATALINA_HOME/webapps/ROOT/WEB-INF/classes. Please refer to the Liferay Database Portal Properties to know which type of database is supported.

Configuration examples: (replace <YOUR_DB_NAME>, <YOUR_DB_USER>, <YOUR_DB_PASSWORD> with actual values

  • PostgreSQL
#
# PostgreSQL
#
jdbc.default.driverClassName=org.postgresql.Driver
jdbc.default.url=jdbc\:postgresql\://localhost\:5432/<YOUR_DB_NAME>
jdbc.default.username=<YOUR_DB_USER>
jdbc.default.password=<YOUR_DB_PASSWORD> 
  • MySQL
 #
 # MySQL
 #
 jdbc.default.driverClassName=com.mysql.jdbc.Driver
 jdbc.default.url=jdbc:mysql://localhost/<YOUR_DB_NAME>?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false
 jdbc.default.username=<YOUR_DB_USER>
 jdbc.default.password=<YOUR_DB_PASSWORD>

The above configuration are known to be working with gCube Infrastructure Gateway.

Troubleshooting

  • If you get something like the following exception at portal startup, just cleanup your browser cookies.
ERROR [CompanyThreadLocal:54] com.liferay.portal.NoSuchCompanyException: No Company exists with the primary key 1
com.liferay.portal.NoSuchCompanyException: No Company exists with the primary key 1
	at com.liferay.portal.service.persistence.CompanyPersistenceImpl.findByPrimaryKey(CompanyPersistenceImpl.java:436)
	at com.liferay.portal.service.base.CompanyLocalServiceBaseImpl.getCompany(CompanyLocalServiceBaseImpl.java:325)
	at sun.reflect.GeneratedMethodAccessor515.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
       .....
  • If the Workspace Portlet shipped within this Bundle popups an error on startup you need to Install the Encryption key and add the Encryption key in your classpath to access runtime resources.

Staging procedure

Staging is a revised feature bundled with gCube Infrastructure Gateway 4.0 When you install the portal for the first time a Wizard Application will guide you through the installation configuration and will setup everything's needed for you.

Follow the standard Liferay Wizard Procedure until entering your desired password for your user. After that you will be presented the gCube Portal Staging procedure as displayed in the screenshot below.

Gcube4.0-bundle-5.png

Click "Begin Install" button to make the gCube Staging installation procedure start.

The whole procedure consist of 3 steps, as shown in the figure below:

  • Infrastructure Selection
  • Virtual Research Environments check-up
  • Final step

Provide the information requested, if your not sure about the settings you should read more about gCube on this wiki. The next steps are quite handy and we think no further documentation is needed, however feel free to ask for support if needed.

Gcube4.0-bundle-staging.png