apacheOfbiz

一、ofbiz 用自身数据库安装

1. 由 binary 安装:

由 binary 安装非常简单, 以下是安装方法:

下载ofbiz-2.0-beta1-complete.tar.gz, 注意不是ofbiz-2.0-beta1.tar.gz.
tar xvzf ofbiz-2.0.beta1-complete.tar.gz
cd tomcat/bin
./ofbiz.sh start
galeon http://localhost:8080/webtools

2. 由 CVS 安装:

由 CVS 安装要稍微复杂一些. 由于 ofbiz 的更新非常快, 所以由 CVS 安装将获得最新功能. 以下是安装方法:

mkdir ofbiz
ln -s /PATH-TO-TOMCAT tomcat
cd ofbiz
export CVSROOT=:pserver:anonymous at cvs dot ofbiz.sourceforge.net:/cvsroot/ofbiz
cvs login
cvs co catalog
cvs co commonapp
cvs co core
cvs co ecommerce
cvs co lib
cvs co ordermgr
cvs co partymgr
cvs co setup
cvs co website
cvs co webtools
cvs co workeffort
cp setup/ofbiz/build.xml .
cp setup/ofboz/updateall.sh .
export CATALINA_HOME=PATH-TO-TOMCAT
export OFBIZ_HOME=`pwd`
ant
ant install
创建 postgreSQL 用户 ofbiz, 口令 ofbiz
createdb -E EUC_CN ofbiz
cd ../tomcat/bin
./ofbiz.sh start
galeon http://localhost:8080/webtools

二、安装ofbiz+tomcat+oracle

这个文章描述的是安装ofbiz在oracle+tomcat环境
ofbiz2.11提供的缺省的web server是jetty,由于我比较习惯tomcat,因此打算把他转移到tomcat上来。
ofbiz2.11提供的却省的数据库是hsql的,用webtools,转移他的数据库是非常方便的,这里我介绍如何按装到oracle中,
同样的方法我也在mysql中测试通过了。

1。下载ofbiz2.11

可以通过www.ofbiz.org下载,不......代理,也可以直接到http://sf.net上面查找ofbiz项目下载。
2。下载tomcat

建议使用tomcat4.1.24,曾经在网上看到过有人介绍tomcat.4.1.7之前的版本运行ofbiz时,taglib的处理非常慢,
之后的版本就没有这个问题了。tomcat可以到www.apache.org处下载。
3。安装oracle

理论上数据库可以是任何支持jdbc的数据库,我使用的是oracle8.17.
3.1 建立oracle表空间
    create tablespace ofbiz
    datafile 'd:\orant\oradata\ofbiz.dbf' size 2m
    autoextend on next 2m maxsize unlimited;
3.2 建立用户
    create user ofbiz
    identified by ofbiz
    default tablespace ofbiz;
   
    grant connect,resource to ofbiz;
   
    测试用户
    connect ofbiz/ofbiz;

4。安装ofbiz

4.1 设置环境变量
    JAVA_HOME
    ANT_HOME
    CATALINA_HOME
    OFBIZ_HOME
   
4.2    自动安装
    ofbiz 已经准备了一个ant脚本,它可以自动安装ofbiz到。
    在OFBIZ_HOME中有一个build.xml,执行ant install即可。
    但是这个自动脚本有的时候执行时会出错!如果出错,请看4。3手工安装。
   
4.3 手工安装
    4。3。1
        复制OFBIZ_HOME\commonapp\etc\目录下面的所有文件到CATALINA_HOME\share\classes中。
        复制OFBIZ_HOME\commonapp\lib\目录下*.jar到CATALINA_HOME\share\lib中。
        复制OFBIZ_HOME\core\lib\目录下*.jar到CATALINA_HOME\share\lib中。
        复制OFBIZ_HOME\lib\目录下*.jar到CATALINA_HOME\share\lib中。
            注意OFBIZ_HOME\lib\中的jar文件是按目录分门别类存放的,复制到CATALINA_HOME\share\lib需要去掉所有目录,把 所有jar都放到lib目录下。
    4。3。2
        编辑CATALINA_HOME\share\classes\entityengine.xml
        查找
        <datasource name="localoracle"
                helper-class="org.ofbiz.core.entity.GenericHelperDAO"
                field-type-name="oracle"
                check-on-start="true"
                add-missing-on-start="true"
                join-style="theta-oracle">
            <sql-load-path path="commonapp/db" prepend-env="ofbiz.home"/>
            <sql-load-path path="ecommerce/etc" prepend-env="ofbiz.home"/>
            <inline-jdbc
                    jdbc-driver="oracle.jdbc.driver.OracleDriver"
                    jdbc-uri="jdbc:oracle:thin: at 127 dot 0.0.1:1521:ofbiz"
                    jdbc-username="ofbiz"
                    jdbc-password="ofbiz"
                    isolation-level="ReadCommitted"/>
        </datasource>
        将jdbc部分改成对应的参数。
       
        查找
            <delegator name="default" entity-model-reader="main"......>
                    <group-map group-name="org.ofbiz.commonapp" datasource-name="localhsql"/>
                </delegator>
        改成
            <delegator name="default" entity-model-reader="main"......>
                    <group-map group-name="org.ofbiz.commonapp" datasource-name="localoracle"/>
                </delegator>
    4.3.3
        复制OFBIZ_HOME\setup\catalina41\bin中的ofbiz.bat到CATALINA_HOME\bin中
        复制OFBIZ_HOME\setup\catalina41\conf中的server.xml到CATALINA_HOME\conf中
            注意,这里的server.xml也可以不复制,这里面就是配置ofbiz的Context,手工更新到server.xml中即可
            另外注意,ofbiz默认ofbiz和tomcat在一个目录下,因此在server.xml中,他的context路径都是用的相对路径
            例如
            <Context path="/content" docBase="../../ofbiz/content/webapp" debug="0" reloadable="true">
       
        在OFBIZ_HOME\setup\catalina41\bin\runofbiz.bat
        内容如下:
            ofbiz.bat run
           
5.0 运行runofbiz.bat

他首先调用ofbiz.bat设置环境变量,然后启动tomcat.
    启动tomcat的时候,ofbiz的DatabaseUtils会检查数据库中是否已经存在系统的表,没有就会自动创建的,一般的创建过程不会出错误 的。
    如果有错误产生,请察看CATALINA_HOME\logs中的日志文件,一般都是少某个jar,看到少哪个到OFBIZ_HOME中找到后复制到 CATALINA_HOME\share\lib中

6.0 如果建立表都一切顺利就可以打开IE,然后输入URL

http://localhost:8080/webtools/control/main
   
    记住要先用webtools导入数据,否则你不能用admin/ofbiz登陆的!
    在这里 http://localhost:8080/webtools/control/install
    直接点Load Data按钮
    执行完毕后
    到这里
    http://localhost:8080/webtools/control/checkLogin/install
    用admin/ofbiz登陆,登陆成功证明安装完毕,不成功就察看一下日志文件。

在4。3。2步中,如果要安装到其他的数据库,可以修改其他数据库的jdbc连接配置,ofbiz为大部分支持jdbc的数据库提供的例子。
同样的方法也可以实施ofbiz到resin中,不过没有测试!:)

测试环境
SERVER : PII 300 , 512M
         PIII733 , 256M
windows 2000 advance server
ofbiz 2.11
oracle 8.1.7
mysql 4.0 max
tomcat 4.1.24

三、OFBIZ+TOMCAT+MYSQL安装与配置

ofbiz2.11提供的缺省的web server是jetty,我们打算把他转移到tomcat上来。ofbiz2.11提供的缺省的数据库是hsql的,用webtools,转移他的数据 库是非常方便的,这里我们介绍如何安装到mysql中 。

我认为不要问为什么要这么装,在你用本文的方法安装两遍后,一切你都明白了。

1下载ofbiz2.11
可以通过www.ofbiz.org下载,也......�查找ofbiz项目下载。

2下载并安装tomcat
建议使用tomcat4.1.18以后的版本,曾经在网上看到过有人介绍tomcat.4.1.7之前的版本运行ofbiz时,taglib的处 理非常慢,之后的版本就没有这个问题了。tomcat可以到www.apache.org处下载。

3 安装Mysql

主要是建立表空间和建立用户。

4安装ofbiz

4.1设置环境变量
JAVA_HOME
ANT_HOME
CATALINA_HOME
OFBIZ_HOME

4.2复制classes和jar文件

复制OFBIZ_HOME\commonapp\etc\目录下面的所有文件到CATALINA_HOME\share\classes中。
复制OFBIZ_HOME\commonapp\lib\目录下*.jar到CATALINA_HOME\share\lib中。
复制OFBIZ_HOME\core\lib\目录下*.jar到CATALINA_HOME\share\lib中。
复制OFBIZ_HOME\lib\目录下*.jar到CATALINA_HOME\share\lib中。
注意OFBIZ_HOME\lib\中的jar文件是按目录分门别类存放的,复制到CATALINA_HOME\share\lib需要去掉所有 目录,把所有jar都放到lib目录下。

4.3编辑CATALINA_HOME\share\classes\entityengine.xml文件

找到如下文字:

<datasource name="localmysql"

helper-class="org.ofbiz.core.entity.GenericHelperDAO"

field-type-name="mysql"

check-on-start="true"

add-missing-on-start="true"

use-foreign-keys="false"

join-style="theta-oracle">

<sql-load-path path="commonapp/db" prepend-env="ofbiz.home"/>

<sql-load-path path="ecommerce/etc" prepend-env="ofbiz.home"/>

<inline-jdbc

jdbc-driver="org.gjt.mm.mysql.Driver"

jdbc-uri="jdbc:mysql://127.0.0.1/ofbiz"

jdbc-username="root"

jdbc-password="gg"

isolation-level="Serializable"/>

</datasource>

编辑相应的配置 。

查找
<delegator name="default" entity-model-reader="main"......>
<group-map group-name="org.ofbiz.commonapp" datasource-name="localhsql"/>
</delegator>
改成
<delegator name="default" entity-model-reader="main"......>
<group-map group-name="org.ofbiz.commonapp" datasource-name="localmysql"/>
</delegator>

4.4 复制可执行程序

复制OFBIZ_HOME\setup\catalina41\bin中的ofbiz.bat到CATALINA_HOME\bin
复制OFBIZ_HOME\setup\catalina41\conf中的server.xml到CATALINA_HOME\conf中
注意,这里的server.xml也可以不复制,这里面就是配置ofbiz的Context,手工更新到server.xml中即可
另外注意,ofbiz默认ofbiz和tomcat在一个目录下,因此在server.xml中,他的context路径都是用的相对路径
例如
<Context path="/content" docBase="../../ofbiz/content/webapp" debug="0" reloadable="true">

4.5 启动
在OFBIZ_HOME\setup\catalina41\bin\runofbiz.bat
内容如下:
ofbiz.bat run

用该命令启动

它首先调用ofbiz.bat设置环境变量,然后启动tomcat.
启动tomcat的时候,ofbiz的DatabaseUtils会检查数据库中是否已经存在系统的表,没有就会自动创建的,一般的创建过程不会 出错误的。
如果有错误产生,请察看CATALINA_HOME\logs中的日志文件,一般都是少某个jar,看到少哪个到OFBIZ_HOME中找到后复 制到CATALINA_HOME\share\lib中

四、Apache+OFBiz

OFBiz提供了AJP功能, 我们可以使用apache mod_jk来进行整合.

例如, ofbiz的http端口为8080, AJP端口为8109, ofbiz的主机名为local.ofbiz.org, 要通过apache 80访问到ofbiz的mysite, 需要进行以下配置:

修改windows/system32/drivers/etc/hosts文件, 增加
127.0.0.1    local.ofbiz.org

把mod_jk.so放到modules目录下面, 注意jk模块和apache需要版本匹配才行

在conf目录下面增加workers.properties
#Add your workers here. If you add an additional worker name, add it to this list
worker.list=ajpofbiz

#This worker is for the ofbiz instance
worker.ajpofbiz.type=ajp13
worker.ajpofbiz.host=127.0.0.1
worker.ajpofbiz.port=8109
worker.ajpofbiz.lbfactor=1
worker.ajpofbiz.cache_timeout=600
worker.ajpofbiz.socket_keepalive=1
worker.ajpofbiz.socket_timeout=300

在htdocs下面创建一个ofbiz目录, 增加index.html文件, 其内容为重定向到local.ofbiz.org/mysite/control/main

修改httpd.conf, 增加
LoadModule jk_module modules/mod_jk.so
JkWorkersFile "D:/Apache Group/Apache2/conf/workers.properties"
JkLogFile "D:/Apache Group/Apache2/logs/mod_jk.log"
JkLogLevel info

NameVirtualHost local.ofbiz.org:80
<VirtualHost local.ofbiz.org:80>
ServerName local.ofbiz.org
DocumentRoot "D:/Apache Group/Apache2/htdocs/ofbiz"
ErrorLog logs/error.log
DirectoryIndex index.html index.htm index.jsp index.php
JkMount /* ajpofbiz
CustomLog logs/access.log combined
FileETag none
</VirtualHost>

启动apache和ofbiz, 访问http://local.ofbiz.org, 应该可以看到mysite的内容了.

此外, 由于使用的仅仅是AJP, ofbiz自身的8080端口可以关闭了.

上一篇:【起航计划 033】2015 起航计划 Android APIDemo的魔鬼步伐 32 App->Service->Foreground Service Controller service使用,共享service,前台服务,onStartCommand


下一篇:svcs (service status) 和 svcadm (service administration) 使用