GCube Portal Installation
gCube adopts Liferay Portal as enabling portal technology for its Infrastructure Gateway. The latest version available is 2.2.0 (February 2013) built over Liferay Portal 6.0.6 (Bunyan)
Contents
gCube Infrastructure Gateway 2.2.0
Starting from 2.0 release, installing the gCube Infrastructure Gateway 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.
Supported Operating Systems are Linux and MacOSX. With Java6 installed.
Install the gCube Infrastructure Gateway Bundle
gCube Infrastructure Gateway 2.2.0 is bundled with tomcat6 and the latest stable relase of gCube Core Distribution (gCore) and gCube Application Support Layer (ASL).
All you need to do is the following:
- Download the latest version of the Portal-Bundle from the latest Stable Build (org.gcube.portal.portal-bundle-2.2.0-0.tar.gz) Make sure you get the latest Build.
- 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 GLOBUS_LOCATION env. variable (the home directory of gCore)
- add CATALINA_OPTS env. variable "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"
- 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:
export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.22 export JRE_HOME=$JAVA_HOME/jre export CATALINA_HOME=~/Portal-Bundle/tomcat-6.0.29 export CATALINA_BASE=$CATALINA_HOME export CATALINA_TMPDIR=$CATALINA_HOME/temp export CLASSPATH= export GLOBUS_LOCATION=~/Portal-Bundle/gCore export GLOBUS_OPTIONS="-DX509_USER_PROXY=$X509_USER_PROXY" 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_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 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:
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
all you need to do now is follow the instructions on the screen, a wizard application will guide you through the Portal 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
Accessing Workspace
In order to make the Portal run over a gCube infrastructure and for the correct functioning of gCube Workspace portlet and gCube Resource Management portlet, starting from gCube Infrastructure Gateway 2.0 you must provide our symmetric key based on the AES standard algorithm for cryptography. Please contact us for further information: support (@) gcube-system.org .
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 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.
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
At this point the installation procedure has started. The whole procedure consist of 4 steps, as shown in the figure below:
- Infrastructure and Theme Selection
- Virtual Research Environments check-up
- Administrator account creation
- 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.
Portal Bundle Libraries (Outdated)
The following libraries are shipped with the gCube Infrastructure Gateway bundle v 2.1.0:
GHN libraries: ( $GLOBUS_LOCATION/lib )
- AntelopeTasks_3.4.2.jar
- MadgikCommons.jar
- ResultSetClientLibrary.jar
- ResultSetGarbageCollector.jar
- ResultSetLibrary.jar
- activemq-core-5.2.0.jar
- addressing-1.0.jar
- ant-launcher.jar
- ant.jar
- antlr-2.7.6.jar
- axis-url.jar
- axis.jar
- bcprov-jdk14-122.jar
- bootstrap.jar
- cglib-nodep-2.2.jar
- cog-axis.jar
- cog-jglobus.jar
- cog-tomcat.jar
- cog-url.jar
- common-utils-encryption-1.0.1.jar
- commonj.jar
- commons-beanutils.jar
- commons-cli-2.0.jar
- commons-collections.jar
- commons-configuration.jar
- commons-digester.jar
- commons-discovery.jar
- commons-io.jar
- commons-lang.jar
- commons-logging.jar
- concurrent.jar
- cryptix-asn1.jar
- cryptix.jar
- cryptix32.jar
- deployer-service-2.3.0.jar
- deployer-stubs-2.3.0.jar
- gcf-1.4.0.jar
- geronimo-j2ee-management_1.0_spec-1.0.jar
- glite-security-util-java.jar
- globus_usage_core.jar
- globus_usage_packets_common.jar
- globus_wsrf_mds_aggregator.jar
- globus_wsrf_mds_aggregator_stubs.jar
- globus_wsrf_servicegroup.jar
- globus_wsrf_servicegroup_stubs.jar
- grs2.jar
- is-publisher-2.2.0.jar
- jaxrpc.jar
- jce-jdk13-125.jar
- jgss.jar
- jms.jar
- junit.jar
- kxml2-2.3.0.jar
- log4j-1.2.15.jar
- naming-common.jar
- naming-factory.jar
- naming-java.jar
- naming-resources.jar
- objenesis-1.1.jar
- opensaml.jar
- org.gcube.common.accounting.node.jar
- org.gcube.common.core.porttypes.gcubeprovider.jar
- org.gcube.common.informationsystem.client.jar
- org.gcube.common.informationsystem.notification.jar
- org.gcube.common.searchservice.resultsetservice.jar
- org.gcube.common.searchservice.resultsetservice.stubs.jar
- org.gcube.common.smspersistence.jar
- org.gcube.common.vremanagement.ghnmanager.jar
- org.gcube.common.vremanagement.ghnmanager.stubs.jar
- org.gcube.common.vremanagement.ghnmanager.testsuite.jar
- org.gcube.contentmanagement.jar
- org.gcube.contentmanagement.storagelayer.storagemanagementservice.stubs.jar
- org.gcube.informationsystem.collector.stubs.jar
- org.gcube.informationsystem.notifier.stubs.jar
- org.gcube.informationsystem.registry.stubs.jar
- org.gcube.messaging.accounting.portal.jar
- org.gcube.messaging.common.consumer-library.jar
- org.gcube.messaging.common.consumer.stubs.jar
- org.gcube.messaging.common.consumer.testsuite.jar
- org.gcube.messaging.common.messages.jar
- org.gcube.messaging.common.producer.jar
- org.gcube.messaging.monitoring.probes.jar
- org.gcube.vremanagement.executor.jar
- org.gcube.vremanagement.executor.stubs.jar
- org.gcube.vremanagement.resourcemanager.stubs.jar
- org.gcube.vremanagement.virtualplatform.jar
- puretls.jar
- resolver.jar
- saaj.jar
- slf4j-api-1.5.6.jar
- slf4j-log4j12-1.6.4.jar
- softwaregateway-stubs-1.0.0.jar
- stax-1.2.0.jar
- vomsjapi.jar
- wsdl4j.jar
- wsrf_common.jar
- wsrf_core.jar
- wsrf_core_stubs.jar
- wsrf_mds_index.jar
- wsrf_mds_index_stubs.jar
- wsrf_mds_usefulrp.jar
- wsrf_mds_usefulrp_schema_stubs.jar
- wsrf_provider_jce.jar
- wsrf_test.jar
- wsrf_tools.jar
- wss4j.jar
- xalan.jar
- xml-apis.jar
- xmlsec-1.4.6.jar
- xmlsec.jar
- xpp3_min-1.1.4c.jar
- xstream-1.3.1.jar
ASL libraries and dependencies: ( $GLOBUS_LOCATION/lib/_application-support-layer )
- AccessLogger.jar
- ApplicationSupportLibraryContent.jar
- ApplicationSupportLibraryCore.jar
- ApplicationSupportLibraryHttpAccessManagement.jar
- ApplicationSupportLibraryOAI_PMH.jar
- ApplicationSupportLibrarySearch.jar
- ApplicationSupportLibraryUP.jar
- ApplicationSupportLibraryVRE.jar
- ISCache.jar
- applicationSupportLayerResourceManagement.jar
- applicationSupportLayerStorageManagement.jar
- ehcache-1.5.0.jar
Home Library libraries and dependencies: ( $GLOBUS_LOCATION/lib/_home-library )
- WorkspacePortletLightTree.jar
- home-library-4.0.0.jar
- home-library-jcr-1.0.0.jar
- iText-2.1.4.jar
- ij140g.jar
- jackrabbit-jcr-commons-2.4.1.jar
- jackrabbit-jcr-rmi-custom-2.4.1.jar
- jcr-2.0.jar
- org.gcube.portlets.user.workspacetree.jar
other dependencies: ($GLOBUS_LOCATION/lib/_ext)
- backport-concurrent.jar
- commons-codec-1.3.jar
- commons-fileupload-1.2.1.jar
- commons-httpclient-3.0.1.jar
- custom-portal-handler.jar
- derby.jar
- derbytools.jar
- gwt-servlet-deps.jar
- gwt-servlet.jar
- gxt-2.2.3-gwt22.jar
- mime-util-2.1.2.jar
- org.gcube.personalization.profileadministration.stubs.jar
- org.gcube.personalization.userprofileaccess.stubs.jar
- org.gcube.vo-management.usermanagement-core.jar
Tomcat 6.0.29 base libraries
Liferay 6 external dependencies.