2. JBoss 4.04 with Jetty

  1. Download and install JBoss AS into your preferred directory. From now on, the directory where you installed Tomcat will be referred to as $JBOSS_HOME.

  2. Download and install JDK 5 . Set an environment variable called %JAVA_HOME% to point to your JDK directory.

  3. Download MySQL from www.mysql.com and install.

  4. Download liferay-portal-4.x.ear.

  5. Edit $JBOSS_HOME/server/default/conf/jboss-service.xml:

    <classpath codebase="${jboss.server.lib.url:lib}/ext" archives="*"/>
  6. Create directory $JBOSS_HOME/directory/server/default/deploy/jbossweb-jetty.sar. Download jetty-5.1.4-jboss-4.0.2.sar and unzip to directory.

  7. Remove $JBOSS_HOME/server/default/deploy/jbossweb-tomcat55.sar.

  8. Remove $JBOSS_HOME/server/default/deploy/management.

  9. Create file $JBOSS_HOME/server/default/deploy/liferay-ds.xml with following content:

    <?xml version="1.0"?>
    
    <datasources>
       <local-tx-datasource>
         <jndi-name>jdbc/LiferayPool</jndi-name>
         <connection-url>
             jdbc:mysql://localhost/lportal?useUnicode=true&amp;characterEncoding=UTF-8
         </connection-url>
         <driver-class>com.mysql.jdbc.Driver</driver-class>
         <user-name></user-name>
         <password></password>
         <min-pool-size>0</min-pool-size>
       </local-tx-datasource>
    </datasources>
  10. Go to $JBOSS_HOME/server/default/lib/ and create new directory ext. Download mysql-connector-java-{$version}-bin.jar and copy to this directory. (This is the JDBC connector for MySQL, for other databases, go to appropriate website to download.)

  11. Populate your database with the portal schema and default data.

    1. Download script create-mysql.sql from Liferay Portal 4.1.0 SQL Scripts.

    2. In command prompt, run mysql script by entering mysql < create-mysql.sql.

  12. Download portlet.jar and portal-kernel.jar from liferay Portal 4.1.0 Dependencies.

    1. Copy to $JBOSS_HOME/server/default/lib/ext.

  13. Set mail properties by replacing the contents of $JBOSS_HOME/server/default/deploy/mail-service.xml with:

    <?xml version="1.0"?>
    
    <server>
    	<mbean code="org.jboss.mail.MailService" name="jboss:service=MailSession">
    		<attribute name="JNDIName">mail/MailSession</attribute>
    		<attribute name="User">nobody</attribute>
    		<attribute name="Password">password</attribute>
    		<attribute name="Configuration">
    			<configuration>
    				<property name="mail.store.protocol" value="imap" />
    				<property name="mail.transport.protocol" value="smtp" />
    				<property name="mail.imap.host" value="localhost" />
    				<property name="mail.pop3.host" value="localhost" />
    				<property name="mail.smtp.host" value="localhost" />
    			</configuration>
    		</attribute>
    	</mbean>
    </server>
  14. Configure JAAS. Edit $JBOSS_HOME/server/default/conf/login-config.xml and comment out the entire XML for policy 'other' in lines 140-156.

    <!--<application-policy name = "other">-->
        ...
           <!--<authentication>
              <login-module code = "org.jboss.security.auth.spi.UsersRolesLoginModule"
                 flag = "required" />
           </authentication>
        </application-policy>-->
  15. Deploy liferay-portal-4.x.ear.

    1. Create directory $JBOSS_HOME/server/default/deploy/liferay-portal.ear

    2. Unzip liferay-portal-4.x.ear to directory

    3. Go to JBOSS_HOME/server/default/deploy/liferay-portal.ear/lib

      1. Move dom4j.jar,jaxen.jar to JBOSS_HOME/lib

      2. Move commons-collections.jar to JBOSS_HOME/server/default/lib

      3. Remove hibernate3.jar,jboss-hibernate.jar from JBOSS_HOME/server/default/lib

  16. Edit $JBOSS_HOME/server/default/deploy/jbossjca-service.xml:

    Change Debug attribute in line 63 from true to false:

    <attribute name="Debug">false</attribute>
  17. In $JBOSS/server/default/deploy/jbossws14.sar/META-INF/jboss-service.xml

    Comment out deployer service for JSE and EJB2.1 endpoints

    line 36-40

    <!--<mbean name="jboss.ws:service=WebServiceDeployerJSE" code="org.jboss.ws.server.WebServiceDeployerJSE">
          <depends-list optional-attribute-name="Interceptables">
             <depends-list-element>jboss.web:service=WebServer</depends-list-element>
          </depends-list>
       </mbean>-->

    lines 45-49

       <!--<mbean name="jboss.ws:service=WebServiceDeployerEJB21" code="org.jboss.ws.server.WebServiceDeployerEJB21">
          <depends-list optional-attribute-name="Interceptables">
             <depends-list-element>jboss.ejb:service=EJBDeployer</depends-list-element>
          </depends-list>
       </mbean>-->

    lines 72-75

    <!--<mbean name="jboss.ws:service=WebServiceDeployerNestedJSE" code="org.jboss.ws.server.WebServiceDeployerNestedJSE">
          <depends optional-attribute-name="MainDeployer" proxy-type="attribute">jboss.system:service=MainDeployer</depends>
          <depends>jboss.ws:service=WebServiceDeployerJSE</depends>
       </mbean>-->
  18. Edit $JBOSS_HOME/server/default/deploy/jms/jbossmq-destinations-service.xml. Clear out text between server tags:

    <?xml version="1.0"?>
    
    <server>
    </server>
  19. Start JBoss. Open your browser to http://localhost:8080. Click on My Liferay at the upper right hand corner to enter the login screen. Your login is test@liferay.com and your password is test.