本文是针对部署OOA2的说明(内容不断更新、更正中... ...)
一、需要下载的软件:
- 1操作系统: ubuntu 或者其他linux(我更喜欢ubuntu)建议新手用desktop版。
地址:http://releases.ubuntu.com/releases/9.10/
你需要安装openoffice 。如果是服务器版(不代图形界面的),还需要安装Xvfb 。
sudo apt-get install clamav-daemon postgresql-8.4 Xvfb openoffice.org nginx pacpl xfonts-utils xfonts-100dpi xfonts-75dpi ffmpeg mplayer
- 2数据库: postgresql
在安装ubuntu的时候可以选择安装,另外还需要下载postgresql的jdbc驱动 ,并放到jboss的/server/default/lib目录中。
下载地址:http://jdbc.postgresql.org/download.html
- 3杀毒软件: avira antivirus(俗称小红伞)或者clamav (可以在ubuntu中直接apt安装)
地址:自己google下吧。
- 4 jdk6: 经过测试,sun、oracle、ibm的jdk6都可以使用。我用的ibm,性能较好。
ibm地址:http://www.ibm.com/developerworks/java/jdk/
sun地址:http://java.sun.com/javase/downloads/index.jsp
oracle地址:http://www.oracle.com/technology/software/products/jrockit/index.html
- 5 jboss4.2.2ga (暂时只支持4.2.2,4.2.3会出问题,5.0以上不能部署red5和nutch)
地址:http://jboss.org/jbossas/downloads/
- 6 web服务器nginx (可在ubuntu中直接apt安装)
- 7 red5-0.8.war (下载后放到jboss的server/default/deploy目录下)
地址:http://osflash.org/red5/red5downloads
- 8 OOA2-1.0.ear (也可从源代码编译maven2的命令是:mvn install)
地址:http://5day.iteye.com/blog/467045
共3个文件:OOA2-1.0.ear.7z.001.zip,OOA2-1.0.ear.7z.003.zip,OOA2-1.0.ear.7z.003.zip
由于001、002、003后缀的文件不能上传,所以加上了.zip,解开前请去掉.zip后缀 。
压缩文件为7zip 格式。分卷压缩的3个文件。解开后是OOA2-1.0.ear文件夹 。
二、需要配置的内容
- 1jboss的启动:
由于需要启动文件转换用的openoffice(服务器模式),需要在jboss的bin/ 建立文件soffice.bin,内容如下:
#!/bin/sh
killall soffice.bin
sleep 3
killall Xvfb
sleep 3
if [ -z "$(pidof Xvfb)" ]; then
Xvfb :5 -screen 0 800x600x16 &
sleep 3
fi
if [ -z "$(pidof soffice.bin)" ]; then
soffice -display :5 -headless -nologo -norestore -nofirststartwizard -accept="socket,host=localhost,port=8100;urp"
fi
然后将soffice.bin文件添加执行权限:
chmod 777 ./soffice.bin
编辑run.sh
在第一行后面添加
./soffice.sh
编辑后的开头部分如下:
#!/bin/sh
./soffice.sh
### ====================================================================== ###
## ##
## JBoss Bootstrap Script ##
## ##
### ====================================================================== ###
编辑run.conf文件
JAVA_HOME="/usr/lib/jvm/java-6-ibm"
if [ "x$JAVA_OPTS" = "x" ]; then
JAVA_OPTS="-Dgroovy.source.encoding=UTF8 -Xms768m -Xmx768m -Xminf0.2 -Xmaxf0.3 -Dsun.rmi.dgc.client.gcInterval=1200000 -Dsun.rmi.dgc.server.gcInterval=1200000 -Xgcpolicy:gencon -Xgcthreads2"
fi
将ibm的jdk安装到/usr/lib/jvm/java-6-ibm下面。
这样就可以测试jboss启动了。
命令:./run.sh
另外如果你想精简一下jboss可将除下面列表中的其他内容 删除
cache-invalidation-service.xml ejb3-interceptors-aop.xml jbossjca-service.xml jboss-xa-jdbc.rar properties-service.xml uuid-key-generator.sar
client-deployer-service.xml ejb-deployer.xml jboss-local-jdbc.rar OOA2-1.0.ear red5-0.8.war
ear-deployer.xml hsqldb-ds.xml jboss-web.deployer OOA2-ds.xml search.war
ejb3.deployer jboss-aop-jdk50.deployer jbossws.sar OOA-ds.xml sqlexception-service.xml
- 2配置数据库
将postgresql的jdbc驱动:下载地址:http://jdbc.postgresql.org/download.html
下载后放到jboss的server/default/lib目录下。
创建数据库:
sudo -s
su - postgres
createdb ooa2
createdb ooa
exit
编辑jboss下/server/default/deploy/OOA2-ds.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE datasources
PUBLIC "-//JBoss//DTD JBOSS JCA Config 1.5//EN"
"http://www.jboss.org/j2ee/dtd/jboss-ds_1_5.dtd">
<datasources>
<xa-datasource>
<jndi-name>OOA2DS</jndi-name>
<track-connection-by-tx>true</track-connection-by-tx>
<xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource-class>
<xa-datasource-property name="ServerName">db</xa-datasource-property>
<xa-datasource-property name="PortNumber">5432</xa-datasource-property>
<xa-datasource-property name="DatabaseName">ooa2</xa-datasource-property>
<xa-datasource-property name="User">postgres</xa-datasource-property>
<xa-datasource-property name="Password">1</xa-datasource-property>
<min-pool-size>1</min-pool-size>
<max-pool-size>15</max-pool-size>
<blocking-timeout-millis>5000</blocking-timeout-millis>
<idle-timeout-minutes>12</idle-timeout-minutes>
</xa-datasource>
</datasources>
可如法炮制OOA-ds.xml(其实这个OOA没用,我用来迁移以前数据用的)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE datasources
PUBLIC "-//JBoss//DTD JBOSS JCA Config 1.5//EN"
"http://www.jboss.org/j2ee/dtd/jboss-ds_1_5.dtd">
<datasources>
<xa-datasource>
<jndi-name>OOADS</jndi-name>
<track-connection-by-tx>true</track-connection-by-tx>
<xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource-class>
<xa-datasource-property name="ServerName">db</xa-datasource-property>
<xa-datasource-property name="PortNumber">5432</xa-datasource-property>
<xa-datasource-property name="DatabaseName">ooa</xa-datasource-property>
<xa-datasource-property name="User">postgres</xa-datasource-property>
<xa-datasource-property name="Password">1</xa-datasource-property>
<min-pool-size>1</min-pool-size>
<max-pool-size>15</max-pool-size>
<blocking-timeout-millis>5000</blocking-timeout-millis>
<idle-timeout-minutes>12</idle-timeout-minutes>
</xa-datasource>
</datasources>
编辑文件:/etc/postgresql/8.3/main/pg_hba.conf
修改
host all all 127.0.0.1/32 trust
sudo /etc/init.d/postgresql-8.3 restart
编辑文件:/etc/hosts
添加
127.0.0.1 db
- 3配置OOA2
将OOA2-1.0.ear文件夹放到jboss的/server/default/deploy目录下
- 4配置nginx
编辑/etc/nginx/nginx.conf,添加:
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
编辑/etc/nginx/sites-available/default
location /OOA2/download/ {
alias /var/www/downloads/;
}
location / {
proxy_pass http://127.0.0.1:8080;
}
cd到/var/www
cd /var/www
ln -s JBOSS_HOME/downloads ./
其中JBOSS_HOME是你jboss的路径。
重启nginx:sudo /etc/init.d/nginx restart
现在可以启动jboss登陆系统测试了;
OA地址:
http://localhost/OOA2/admin/home.seam
门户地址:(在OA中建立后才有)
http://localhost/OOA2/static/p1/
第二个门户为:
http://localhost/OOA2/static/p2/
依次类推