Tuesday, April 01, 2008

How to setup PAL Portal(Jetspeed2) on GlassFish 2ur1

An procedure about how to configure PAL Portal on GlassFish is below. Since PAL Portal is based on Jetspeed 2, if you want to setup J2 on GlassFish, you can refer the procedure. First of all, you need to download jetspeed-portal-glassfish.zip and jetspeed-security-glassfish-2.1.3_pal-1.0.3.jar, and then unzip jetspeed-portal-glassfish.zip to [palportal_home]/webapps/palportal/WEB-INF/classes.
The procedure is(if you apply it to j2, replace palportal with jetspeed and skip some steps):


$ java -Xmx256m -jar /tmp/glassfish-installer-v2ur1-b09d-linux.jar
$ mv glassfish/ glassfish-v2ur1
$ cd glassfish-v2ur1/
$ chmod -R +x lib/ant/bin
$ lib/ant/bin/ant -f setup.xml
$ cp /tmp/Portal/shared/lib/jetspeed-* domains/domain1/lib/
$ cp /tmp/Portal/shared/lib/p* domains/domain1/lib/
$ cp -r /tmp/Portal/webapps/palportal webapps/
$ vi webapps/palportal/WEB-INF/assembly/security-providers.xml
<!--constructor-arg index="2"><value>login.conf</value></constructor-arg-->
<constructor-arg index="2"><ref bean="org.apache.jetspeed.security.spi.CredentialHandler"/></constructor-arg>
<constructor-arg index="3"><ref bean="org.apache.jetspeed.security.spi.UserSecurityHandler"/></constructor-arg>
$ vi domains/domain1/config/login.conf
Jetspeed {
org.apache.jetspeed.security.impl.GlassFishLoginModule required;
};
$ vi webapps/palportal/WEB-INF/assembly/deployment.xml
<!--
<bean id="org.apache.jetspeed.tools.pamanager.servletcontainer.ApplicationServerManager"
class="org.apache.jetspeed.tools.pamanager.servletcontainer.TomcatManager"
init-method="start" destroy-method="stop"
>
<constructor-arg index="0"><value>${autodeployment.catalina.base}</value></constructor-arg>
<constructor-arg index="1"><value>${autodeployment.catalina.engine}</value></constructor-arg>
<constructor-arg index="2"><value>${autodeployment.server}</value></constructor-arg>
<constructor-arg index="3"><value>${autodeployment.port}</value></constructor-arg>
<constructor-arg index="4"><value>${autodeployment.user}</value></constructor-arg>
<constructor-arg index="5"><value>${autodeployment.password}</value></constructor-arg>
</bean>
-->
<bean id="org.apache.jetspeed.tools.pamanager.servletcontainer.ApplicationServerManager"
class="org.apache.jetspeed.tools.pamanager.servletcontainer.GlassFishManager"
init-method="start" />
$ vi webapps/palportal/WEB-INF/assembly/portal-url-generation.xml
<bean id="PortalURL"
class="org.apache.jetspeed.container.url.impl.GlassFishPathInfoEncodingPortalURL"
$ cp /tmp/jetspeed-security-glassfish-2.1.3.jar domains/domain1/lib/
$ pushd domains/domain1/lib/classes/
$ jar xvf ../jetspeed-security-glassfish-2.1.3.jar
$ rm -r META-INF/
$ mkdir -p ../../../../webapps/palportal/WEB-INF/classes/org/apache/jetspeed/security/impl/
$ mv ./org/apache/jetspeed/security/impl/GlassFishLoginModule.class ../../../../webapps/palportal/WEB-INF/classes/org/apache/jetspeed/security/impl/
$ rm ../jetspeed-security-glassfish-2.1.3.jar
$ popd
$ cp /tmp/mysql-connector-java-5.0.4.jar domains/domain1/lib/
$ vi domains/domain1/config/domain.xml
<java-config classpath-suffix="${com.sun.aas.instanceRoot}/lib/classes" ...
$ ./bin/asadmin start-domain domain1
$ echo adminadmin > passwordfile
$ ./bin/asadmin create-auth-realm --classname org.apache.jetspeed.security.impl.GlassFishRealm --user admin --passwordfile passwordfile --host localhost --port 4848 --property "jaas-context=Jetspeed:auth-type=jetspeed" Jetspeed
$ ./bin/asadmin stop-domain domain1
$ ./bin/asadmin start-domain domain1
-> Create Connection Pool(JetspeedDSPool) and JDBC Resource(jdbc/jetspeed)
$ ./bin/asadmin deploydir --user admin --passwordfile passwordfile webapps/palportal/
$ pushd webapps/
$ mkdir pal-admin
$ mkdir pal-wcm
$ cd pal-admin
$ jar xvf ../pal-admin.war
$ cd ../pal-wcm
$ jar xvf ../pal-wcm.war
$ popd
$ rm webapps/pal-admin/WEB-INF/lib/geronimo-ejb_2.1_spec-1.0.jar
$ ./bin/asadmin deploydir --user admin --passwordfile passwordfile webapps/pal-admin
$ ./bin/asadmin deploydir --user admin --passwordfile passwordfile webapps/pal-wcm

Labels:

0 Comments:

Post a Comment

<< Home