在CentOS安装iDempiere

来自iDempiere zh
跳转至: 导航搜索

准备工作

系统环境要求

  • 操作系统:CentOS。本例使用 CentOS 6.5 64位。
  • 数据库: PostgreSQL。本例使用 PostgreSQL 9.3
  • JDK: Jdk 1.7。本例使用 jdk-7u75-linux-x64
  • Buckminster。本例使用Buckminster headless-4.4
  • Ant。 本例使用Ant 1.9.4
  • 安装包:iDempiere 3.0. 本例使用idempiere资源库的development分支,version:10942。

资源准备

  • 安装CentOS 6.5 64位。
  • 安装Mercurial
   yum install mercurial
  • 安装JDK

1)下载JDK7

2)安装命令

   rpm -ivh jdk-7u75-linux-x64.rpm

安装到默认路径/usr/java

  • Postgresql安装

1)安装命令

 yum install http://yum.postgresql.org/9.3/redhat/rhel-6-x86_64/pgdg-centos93-9.3-1.noarch.rpm
 yum install postgresql93-server postgresql93-contrib

2)增加Postgresql为自启动服务

 service postgresql-9.3 initdb
 chkconfig postgresql-9.3 on

3)修改配置文件让客户端可以访问

 vi /usr/local/pgsql/data/pg_hba.conf

如果路径不对,用以下命令查找

 find / -name pg_hba.conf

在文件中修改下列内容

 host    all         all         127.0.0.1/32          md5
  • Buckminster安装

参考 http://www.eclipse.org/buckminster/downloads.html

1)下载director_latest.zip

2)解压缩director_latest.zip 到 $DIRECTOR_HOME目录。$DIRECTOR_HOME:你自己设置。

 cd $DIRECTOR_HOME
 unzip director_latest.zip

3)用director 下载buckminster headless 到 $BUCKMINSTER_HOME。$BUCKMINSTER_HOME:你自己设置。

 ./director -r http://download.eclipse.org/tools/buckminster/headless-4.4/ -d $BUCKMINSTER_HOME -p Buckminster -i org.eclipse.buckminster.cmdline.product

4)安装buckminster。 仅仅需要Core, PDE, Maven模块。

cd $BUCKMINSTER_HOME
./buckminster install http://download.eclipse.org/tools/buckminster/headless-4.4/ org.eclipse.buckminster.core.headless.feature
./buckminster install http://download.eclipse.org/tools/buckminster/headless-4.4/ org.eclipse.buckminster.pde.headless.feature
./buckminster install http://download.eclipse.org/tools/buckminster/headless-4.4/ org.eclipse.buckminster.maven.headless.feature
  • Ant安装

1)下载apache-ant-1.9.4-bin.zip

2)安装ant

 cp apache-ant-1.9.4-bin.zip /usr/local
 cd /usr/local
 unzip apache-ant-1.9.4-bin.zip

3)编辑使用的用户环境变量

su - root(或者你使用的用户)
vi .bash_profile

增加如下内容

export ANT_HOME=/usr/local/apache-ant-1.9.4-bin
export JAVA_HOME=/usr/java/jdk1.7.0_75
export PATH=${PATH}:${ANT_HOME}/bin

源码获取

直接获取

cd $HOME/sources
hg clone https://bitbucket.org/idempiere/idempiere

网速慢的情况下用增量获取

hg clone -r 1 https://bitbucket.org/idempiere/idempiere
cd idempiere
hg pull -r 100 -u
hg pull -r 200 -u
hg pull -r 300 -u
hg pull -r 400 -u
hg pull -r 500 -u
...

逐渐增加,最后可以用以下命令完整更新

hg pull -u

源码编译

1)创建target platform

cd $BUCKMINSTER_HOME
./buckminster -data $HOME/sources/idempiere importtargetdefinition -A "$HOME/sources/idempiere/org.adempiere.sdk-feature/build-target-platform.target"

2)获取编译需要的类库(Materialize)

./buckminster -L DEBUG -consoleLog -data $HOME/sources/idempiere import "$HOME/sources/idempiere/org.adempiere.sdk-feature/adempiere.cquery" 

如果出错多进行几次。

3)编译

./buckminster -L DEBUG -consoleLog -data $HOME/sources/idempiere build -t

如果出现zkoss类库问题,进入$HOME/sources/idempiere/org.zkoss.zk.library/ ,用ant 执行copyjars.xml和copysources.xml

cd $HOME/sources/idempiere/org.zkoss.zk.library/
ant -f copyjars.xml
ant -f copysources.xml

重新执行2)

4)执行site.p2编译

./buckminster -L DEBUG -consoleLog -data $HOME/sources/idempiere perform \
   -D 'qualifier.replacement.*=generator:buildTimestamp' \
   -D "generator.buildTimestamp.format='v'yyyyMMdd-HHmm" \
   -D 'target.os=*'      \
   -D 'target.ws=*'     \
   -D 'target.arch=*'      \
   'org.adempiere.server:eclipse.feature#site.p2'

5)执行create.product.zip操作创建 linux x86_64

./buckminster -L DEBUG -consoleLog -data $HOME/sources/idempiere perform \
   -D 'qualifier.replacement.*=generator:buildTimestamp' \
   -D "generator.buildTimestamp.format='v'yyyyMMdd-HHmm" \
   -D 'target.os=linux'  \
   -D 'target.ws=gtk'   \
   -D 'target.arch=x86_64' \
   -D product.features=org.idempiere.eclipse.platform.feature.group \
   -D product.profile=DefaultProfile \
   -D product.id=org.adempiere.server.product \
   'org.adempiere.server:eclipse.feature#create.product.zip'

6)此时你会发现如下文件 /tmp/buckminster/build/org.adempiere.server_3.0.0-eclipse.feature/idempiereServer.gtk.linux.x86_64.zip

安装

1)解压缩idempiereServer.gtk.linux.x86_64.zip到$IDEMPIERE_HOME.$IDEMPIERE_HOME自己设置

2)设置环境变量

cd $IDEMPIERE_HOME
./console-setup.sh #或者 ./console-setup-alt.sh

3)导入数据库

cd utils
./RUN_ImportIdempiere.sh

4)更新数据库 由于当前代码库中的数据库中的备份是2.1版本的,所以需要更新sql,完成最新的SQL移植。

cd $HOME/sources/idempiere/migration
cp postgresql.properties.template postgresql.properties
vi postgresql.properties

编辑postgresql.properties参数为当前机器的环境变量。进入i2.1,i2.1z执行移植SQL

cd i2.1/postgresql
ant -f build.xml
cd $HOME/sources/idempiere/migration
cd i2.1z/postgresql
ant -f build.xml

5)启动应用程序 cd $IDEMPIERE_HOME ./idempiere-server.sh

设置iDempiere为服务

1)拷贝执行代码

cp $IDEMPIERE_HOME/utils/unix/idempiere_RedHat.sh /etc/rc.d/init.d/idempiere

2)编辑启动代码

vi /etc/rc.d/init.d/idempiere

修改IDEMPIERE_HOME 和 IDEMPIEREUSER

3)加入启动 chkconfig --add idempiere

See also