在CentOS安装iDempiere
准备工作
系统环境要求
- 操作系统: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
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安装
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