Deployment step-by-step for Apache Tomcat and Liferay Portal

  1. Install Liferay Portal as written in its manual. We recommend using the bundle distribution, because that contains both the Apache Tomcat servlet container and the Liferay Portal portlet container in a single package.

  2. Deploy Jakarta Slide to the Tomcat instance used by Liferay as written in the JBoss AS step-by-step.

  3. You can deploy the server component into the Apache Tomcat instance used by Liferay simply by running the server deploy script:

    ant -f deploy-server-tomcat.xml

    Please don't forget to set the CATALINA_HOME environment variable before.

  4. Hot-deploy the portlets as written at http://www.liferay.com/web/guest/documentation/development/hot_deploy. The portlet distribution package of Kosmos contains a customized version of portlet-deployer-3.5.0.xml which you might find convenient as starting point.

    There are a couple of issues you can face while starting up your Liferay, depending on your JVM version:

    1. You have to downgrade the $LIFERAY_HOME/webapps/kosmos-portlet/WEB-INF/lib/ext/commons-logging-1.0.4.jar to commons-logging-1.0.3.jar (downloadable from http://www.ibiblio.org/maven/commons-logging/jars/) if Liferay throws a java.lang.NoSuchMethodError: org.apache.log4j.Category.log(Ljava/lang/String;Lorg/apache/log4j/Level;Ljava/lang/Object;Ljava/lang/Throwable;)V. The same exception might be thrown also for the kosmos-servlet and the kosmos-portlet web-applications, the fix is the same: downgrade the same JAR also in $LIFERAY_HOME/webapps/kosmos-server/WEB-INF/lib and $LIFERAY_HOME/webapps/kosmos-portlet/WEB-INF/lib, respectively.

    2. You have to delete $LIFERAY_HOME/common/endorsed/xml-apis.jar if Liferay throws a javax.servlet.ServletException: Provider org.apache.xalan.processor.TransformerFactoryImpl not found exception

    3. You have to copy $LIFERAY_HOME/liferay/WEB-INF/tld/liferay-portlet.tld to $LIFERAY_HOME/webapps/kosmos-portlet/WEB-INF/tld if Liferay throws a org.apache.jasper.JasperException: /pages/sf_monitoring.jsp(1,1) File "/WEB-INF/tld/liferay-portlet.tld" not found or similar exception

    4. You have to copy $LIFERAY_HOME/liferay/WEB-INF/lib/util-taglib.jar to $LIFERAY_HOME/webapps/kosmos-portlet/WEB-INF/lib if Liferay throws a org.apache.jasper.JasperException: /pages/sf_monitoring.jsp(1,1) Failed to load or instantiate TagExtraInfo class: com.liferay.portlet.taglib.ActionURLTei or similar exception

  5. Launch Liferay, open the default portal page (e.g. http://localhost:8080) and login with the default account (test@liferay.com and test).

    Open the portlet administration portlet and assign some roles to the Kosmos portlets (e.g. User and Guest). Also, set the JIRA and Subversion monitoring portlets to wide style, all the others to narrow. Create a new page or go to an existing page, and check whether you can see the Kosmos portlets selectable in the combo boxes at the bottom of the portal pages.