Difference between revisions of "GCube Portal Installation"

From Gcube Wiki
Jump to: navigation, search
(Additional Information)
(gCube Infrastructure Gateway 4.7.0-SNAPSHOT (February 2020))
 
(74 intermediate revisions by 3 users not shown)
Line 1: Line 1:
gCube adopts Liferay Portal as enabling portal technology for its Ecosystem Gateway. The latest version available is gCube Portal-Bundle 2.1 (May 2012) built over [http://www.liferay.com/documentation/liferay-portal/6.0/getting-started Liferay Portal 6.0.6 (Bunyan)]
+
[[Category:Administrator's Guide]]
 +
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 Portal 2.1=
+
=gCube Infrastructure Gateway 4.7.0-SNAPSHOT (February 2020)=
  
Starting from 2.0 release, installing the gCube Portal '''is 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 Java6 installed.
+
Supported Operating Systems are Linux and MacOSX. With Java8 installed.
  
==Install the gCube Portal Bundle==
+
[[File:Gcube4.0-gateway.png]]
'''gCube Portal 2.1''' is bundled with [http://tomcat.apache.org/index.html tomcat6] and the latest stable relase of [https://gcore.wiki.gcube-system.org/gCube/index.php/Main_Page gCube Core Distribution (gCore)] and [https://gcube.wiki.gcube-system.org/gcube/index.php/ASL gCube Application Support Layer (ASL)].
+
 
 +
 
 +
==Install the gCube Infrastructure Gateway Bundle==
 +
'''[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 the latest [http://eticsbuild2.research-infrastructures.eu:8080/BuildReport/browse/AllBuilds/org.gcube.2-9-0 Stable Build (org.gcube.portal.portal-bundle-2.1.0-0.tar.gz)] Make sure you get the latest Build.
+
* Download the latest version of the Portal-Bundle from maven, make sure you get the latest version from our repo: [http://maven.research-infrastructures.eu/nexus/content/repositories/gcube-staging-jenkins/org/gcube/distribution/gcube-portal-bundle/ gcube-portal-bundle]
* Extract the gCube Portal bundle tar.gz into a folder on your machine
+
<source lang="xml">
 +
<dependency>
 +
  <groupId>org.gcube.distribution</groupId>
 +
  <artifactId>gcube-portal-bundle</artifactId>
 +
  <version>LATEST</version>
 +
  <type>tar.gz</type>
 +
</dependency>
 +
</source>
 +
* Extract the gCube Infrastructure Gateway bundle tar.gz into a folder on your machine
 
* Add to the ~/.bashrc file the following:
 
* Add to the ~/.bashrc file the following:
 
** clean CLASSPATH: "export CLASSPATH="
 
** clean CLASSPATH: "export CLASSPATH="
Line 18: 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 GLOBUS_LOCATION env. variable (the home directory of gCore)
+
** 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_OPTS env. variable "export CATALINA_OPTS="-DGLOBUS_LOCATION=$GLOBUS_LOCATION -Xmx1000m -Xms1000m  -Dlog4j.ignoreTCL=true -Dlog4j.configuration=file://$CATALINA_HOME/portal-log4j.properties"
+
 
** add CATALINA_PID env. variable "export CATALINA_PID=~/pid.txt"
 
** add CATALINA_PID env. variable "export CATALINA_PID=~/pid.txt"
  
After that, say you created a "Portal-Bundle" folder on your user's home(~) and extracted the org.gcube.portal.portal-bundle-2.0.0-0.tar.gz in there, the final part of your ~/.bashrc file may look like the following:
+
''' 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:
 
<source lang="xml">
 
<source lang="xml">
export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.22
+
export JAVA_HOME=/usr/lib/jvm/java-7-oracle/
 
export JRE_HOME=$JAVA_HOME/jre
 
export JRE_HOME=$JAVA_HOME/jre
export CATALINA_HOME=~/Portal-Bundle/tomcat-6.0.29
+
export CATALINA_HOME=~/Portal-Bundle/tomcat-7.0.62
 
export CATALINA_BASE=$CATALINA_HOME
 
export CATALINA_BASE=$CATALINA_HOME
 
export CATALINA_TMPDIR=$CATALINA_HOME/temp
 
export CATALINA_TMPDIR=$CATALINA_HOME/temp
  
 
export CLASSPATH=
 
export CLASSPATH=
export GLOBUS_LOCATION=~/Portal-Bundle/gCore
+
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 GLOBUS_OPTIONS="-DX509_USER_PROXY=$X509_USER_PROXY"
+
export CATALINA_OPTS="-DGLOBUS_LOCATION=$GLOBUS_LOCATION -Xmx1000m -Xms1000m  -Dlog4j.ignoreTCL=true -Dlog4j.configuration=file://$CATALINA_HOME/portal-log4j.properties"
+
  
 
export CATALINA_PID=~/pid.txt
 
export CATALINA_PID=~/pid.txt
 
</source>
 
</source>
  
==First startup of gCube Portal==
+
==First startup of gCube Infrastructure Gateway==
  
'''gCube Portal 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 Portal. 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 portal database section below]
+
  
However, if you want to startup gCube Portal 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:  
 
<pre>
 
<pre>
 
source ~/.bashrc
 
source ~/.bashrc
Line 53: Line 64:
 
</pre>  
 
</pre>  
  
'''gCube Portal take less than a minute to initialize''', in the meanwhile you might want to '''check the portal logs''', to do so, enter the command:  
+
'''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:  
 
<pre>
 
<pre>
 
tail -f $CATALINA_HOME/logs/catalina.out
 
tail -f $CATALINA_HOME/logs/catalina.out
Line 59: 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 Portal ==
+
== Starting/Stopping a gCube Infrastructure Gateway ==
 
In order to start / stop tomcat, you should execute the following commands:
 
In order to start / stop tomcat, you should execute the following commands:
 
* source the configured ~/.bashrc
 
* source the configured ~/.bashrc
Line 73: Line 84:
 
==Additional Information==
 
==Additional Information==
  
=== Accessing Workspace ===
+
=== Setting the Infrastructure ===
  
'''please note 1''': For the correct functioning of the Portal, to guarantee access to the gCube Workspace portlet and gCube Resource Management portlet you must provide a symmetric key based on the [http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf AES] standard algorithm for cryptography. Please contact us for further information.
+
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 ===
 
=== Changing Company web id ===
  
By default, gCube Portal 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.  
+
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
 
Replace <MY_COMPANY_WEB_ID> with your own company web id, e.g. google.com
Line 92: Line 103:
 
'''please note 2''': This change '''will not work''' if you use the default HSQL DB (Hypersonic)
 
'''please note 2''': This change '''will not work''' if you use the default HSQL DB (Hypersonic)
  
=== Configuring gCube Portal database ===
+
=== 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.
 
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.
Line 119: Line 130:
 
</pre>
 
</pre>
  
The above configuration are known to be working with gCube Portal.
+
The above configuration are known to be working with gCube Infrastructure Gateway.
  
 
== Troubleshooting ==
 
== Troubleshooting ==
  
If you get something like the following exception at portal startup, just cleanup your browser cookies.
+
* If you get something like the following exception at portal startup, just cleanup your browser cookies.
  
 
<pre>
 
<pre>
Line 136: Line 147:
 
</pre>
 
</pre>
  
== Portal Staging procedure ==
+
* 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.
  
'''Portal Staging is a new feature bundled with gCube Portal 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.
+
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 other documentation is needed, hoever 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]]

Latest revision as of 13:30, 30 March 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 version from our repo: gcube-portal-bundle
<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