PALポータル(Jetspeed2) on JBoss AS 4.0.5 GA

Jetspeed2 を JBoss 上で動かすための最新のやり方がどこかにあるか知らないけど、メモがてら、やり方をまとめておく。クラスローダーまわりでちょっと問題があるので、Jetspeed のロギングの初期化を抜いたりした。Jetspeed2 の場合は、palportal の部分は、jetspeed に置き換える。../PALPortal には、PALポータルの Tomcat 版(普通のバイナリ)をインストールしておく。

$ cd /tmp
$ unzip /tmp/jboss-4.0.5.GA.zip
$ cd jboss-4.0.5.GA/
$ cp -r ../PALPortal/webapps/palportal/ server/default/deploy/palportal.war
$ cp ../PALPortal/shared/lib/*.jar server/default/lib/
$ cp -r ../PALPortal/database/ .
$ vi server/default/deploy/palportal-ds.xml
<datasources>
<local-tx-datasource>
<jndi-name>/JetspeedDS</jndi-name>
<connection-url>jdbc:derby:/tmp/jboss-4.0.5.GA/database/derby/productiondb;create=true</connection-url>
<driver-class>org.apache.derby.jdbc.EmbeddedDriver</driver-class>
<user-name></user-name>
<password></password>
<min-pool-size>5</min-pool-size>
<max-pool-size>20</max-pool-size>
<idle-timeout-minutes>0</idle-timeout-minutes>
</local-tx-datasource>
</datasources>
$ vi ./server/default/deploy/palportal.war/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.JBossManager"
init-method="start" />
$ rm server/default/deploy/palportal.war/WEB-INF/lib/commons-logging-*.jar
$ rm server/default/deploy/palportal.war/WEB-INF/lib/log4j-*.jar
$ vi server/default/deploy/palportal.war/WEB-INF/web.xml
<!--
<listener>
<listener-class>org.apache.jetspeed.webapp.logging.Log4JConfigurator</listener-class>
</listener>
-->
$ vi server/default/deploy/palportal.war/WEB-INF/jboss-web.xml
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
<class-loading>
<loader-repository java2ClassLoadingCompliance="false">
org.apache.jetspeed:loader=palportal.war<loader-repository-config>java2ParentDelegation=false</loader-repository-config>
</loader-repository>
</class-loading>
<security-domain flushOnSessionInvalidation="true">java:/jaas/Jetspeed</security-domain>
<resource-ref>
<res-ref-name>jdbc/jetspeed</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<jndi-name>java:/JetspeedDS</jndi-name>
</resource-ref>
</jboss-web>
$ vi server/default/conf/login-config.xml
<application-policy name="Jetspeed">
<authentication>
<login-module code="org.apache.jetspeed.security.impl.ext.JBossLoginModule"
flag="required">
<module-option name="unauthenticatedIdentity">guest</module-option>
</login-module>
</authentication>
</application-policy>
$ pushd server/default/deploy/palportal.war/WEB-INF/deploy/
$ for warfile in `find . -type f|grep war`; do tfile=`zipnote $warfile|grep commons-logging|sed -e "s/@ //"`;if [ ! x$tfile = "x" ] ; then zip -d $warfile $tfile; fi; done
$ for warfile in `find . -type f|grep war`; do tfile=`zipnote $warfile|grep log4j|sed -e "s/@ //"`;if [ ! x$tfile = "x" ] ; then zip -d $warfile $tfile; fi; done
$ popd
$ ./bin/run.sh

PALポータルとしては、pal-admin が XML パーサ問題(Teedaでよくある URL の amp; の話)で動かないので、pal-admin を修正しておく予定。基本的には、普通に動いていると思う。今度は、4.2系で試してみるか。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です