GreenOpenERP for Linux 绿色版安装脚本及启动服务

GreenOpenERP for Linux 绿色版安装脚本及启动服务

步科的GreenOpenERP for Linux x64 安装脚本,并做成服务启动的形式,进一步简化部署和使用过程。

2015-01-16 更新:由于目录结构改变,本文所述方法已经不再适合,最新安装方法请参考:Odoo 8 绿色版在 CentOS 自动安装及以服务方式启动方法

步科的 OpenERP 绿色版 GreenOpenERP 非常好用,Windows 下解压即用,不需要任何配置。启动及重启速度都非常快,在 Windows 下用作开发环境十分理想。

今年初,步科增加了 Linux 64 位环境下的绿色版 GreenOpenERP for Linux x64,更方便了生产环境的安装和部署,在此,本博主再次感谢步科。Linux 下的 OpenERP 绿色版操作稍为复杂一些,需要先建立一个用户,然后把绿色版解压到用户目录下,然后授权,最后在终端窗口中启动。前面几步是一次性工作,最后一步就有点麻烦了,本地应用还好,要是在远程服务上使用,终端窗口断线, GreenOpenERP 也会跟着退出,不是很方便,更不便于生产环境下使用。

为了解决这个问题,我编写了一个自动安装的脚本,将绿色版的几个初始化步骤写成脚本,也把 GreenOpenERP 和 PostgreSQL 的启动和停止写成脚本,可以随 Linux 系统一起启动,这着就实现了一键安装,启动和重启也很方便,象普通服务那样启动和重启就行。

GreenOpenERP for Linux x64 安装(适合 CentOS6.5)

安装脚本在 CentOS6.5 下测试通过,Ubuntu 下使用要进行相应的修改。先下载安装脚本(共三个文件,其中 setup_goe7.sh为安装文件,其余两个为 OpenERP 和 PostgreSQL 服务脚本),将其上传到服务器(注意三个文件要放在同一目录下),设置 setup_goe7.sh 为可执行文件,然后执行,指令如下:

[bash]
chmod +x setup_goe7.sh
./setup_goe7.sh

[/bash]

安装脚本会从步科发布的网址自动下载最新版本 GreenOpenERP,并解压、设置目录权限,完成后自动启动服务。

查看线程,OpenERP 7.0 和 PostgreSQL 都已经启动了:

GreenOpenERP Thread - 绿色版线程

重启数据库 PostgreSQL 命令:

[bash]
service pgsql7 restart
[/bash]

重启 OpenERP 命令:

[bash]
service goe7 restart
[/bash]

文件列表

共有三个文件: setup_goe7.sh 、goe7 、pgsql7

1、setup_goe7.sh

[bash]#!/bin/sh
# Author: Kenny
# Website: http://zhsunlight.cn, http://zhflash.com

rm -rf /etc/init.d/goe7
rm -rf /etc/init.d/pgsql7
cp goe7 /etc/init.d
cp pgsql7 /etc/init.d
chmod 755 /etc/init.d/goe7
chmod 755 /etc/init.d/pgsql7
chown root: /etc/init.d/goe7
chown root: /etc/init.d/pgsql7
chkconfig –levels 235 goe7 on
chkconfig –levels 235 pgsql7 on

# userdel openerp
# rm -rf /home/openerp
useradd openerp
yum -y install wget unzip gcc
cd /tmp
wget http://jaist.dl.sourceforge.net/project/greenopenerp/GreenOpenERP-7.0-latest-linux-x64.zip
unzip GreenOpenERP-7.0-latest-linux-x64.zip
mv GreenOpenERP-Linux-X64-7.0 /home/openerp/goe7
rm -fr GreenOpenERP-7.0-latest-linux-x64.zip
chown -R openerp:openerp /home/openerp/goe7

wget http://www.zorranlabs.com/development/start-stop-daemon/apps-sys-utils-start-stop-daemon-IR1_9_18-2.tar.gz
tar xvfz apps-sys-utils-start-stop-daemon-IR1_9_18-2.tar.gz
cd apps/sys-utils/start-stop-daemon-IR1_9_18-2/
gcc start-stop-daemon.c -o start-stop-daemon
cp start-stop-daemon /usr/sbin/

service pgsql7 start
service goe7 start
[/bash]

2、goe7(OpenERP7.0)

[bash]#!/bin/sh

### BEGIN INIT INFO
# Provides: goe7
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Should-Start: $network
# Should-Stop: $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Enterprise Resource Management software
# Description: Open ERP is a complete ERP and CRM software.
### END INIT INFO

# ./python/bin/python openerp-server -c openerp-server.conf

# Specify the user name (Default: openerp).
USER=openerp

PATH=/sbin:/usr/sbin:/bin:/usr/bin
DAEMON=/home/$USER/goe7/python/bin/python
NAME=goe7
DESC=”Green OpenERP 7.0″

# Specify an alternate config file (Default: /etc/openerp-server.conf).
CONFIGFILE=”/home/$USER/goe7/openerp-server.conf”

# pidfile
#PIDFILE=/var/run/$NAME.pid
PIDFILE=/home/$USER/$NAME.pid

# Additional options that are passed to the Daemon.
DAEMON_OPTS=”/home/$USER/goe7/openerp-server -c $CONFIGFILE”

[ -x $DAEMON ] || exit 0
[ -f $CONFIGFILE ] || exit 0

checkpid() {
[ -f $PIDFILE ] || return 1
pid=`cat $PIDFILE`
[ -d /proc/$pid ] && return 0
return 1
}

case “${1}” in
start)
echo -n “Starting ${DESC}: ”

start-stop-daemon –start –quiet –pidfile ${PIDFILE}
–chuid ${USER} –background –make-pidfile
–exec ${DAEMON} — ${DAEMON_OPTS}

echo “${NAME}.”
;;

stop)
echo -n “Stopping ${DESC}: ”

start-stop-daemon –stop –quiet –pidfile ${PIDFILE}
–oknodo

echo “${NAME}.”
;;

restart|force-reload)
echo -n “Restarting ${DESC}: ”

start-stop-daemon –stop –quiet –pidfile ${PIDFILE}
–oknodo

sleep 1

start-stop-daemon –start –quiet –pidfile ${PIDFILE}
–chuid ${USER} –background –make-pidfile
–exec ${DAEMON} — ${DAEMON_OPTS}

echo “${NAME}.”
;;

*)
N=/etc/init.d/${NAME}
echo “Usage: ${NAME} {start|stop|restart|force-reload}” >&2
exit 1
;;
esac

exit 0
[/bash]

3、pgsql7 (PostgreSQL-9.2)

[bash]#!/usr/bin/env sh

### BEGIN INIT INFO
# Provides: pg
# Required-Start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts the postgresql database
# Description: starts pg_ctl using start-stop-daemon
### END INIT INFO

# Specify the user name (Default: openerp).
USER=openerp

PROGRAM=pg
START_STOP_DAEMON=/usr/sbin/start-stop-daemon
PGCTL=/home/$USER/goe7/pgsql/bin/pg_ctl
DATAPATH=/home/$USER/goe7/pgsql/data
LOGFILE=/home/$USER/goe7/pgsql/postgres.goe7.log
DAEMON=$PGCTL
DAEMON_OPTS=”-D $DATAPATH start -l $LOGFILE”

start() {
echo “Starting PostgreSQL server …”
su -c “$DAEMON $DAEMON_OPTS” ${USER}
}

stop() {
su -c “$PGCTL -D $DATAPATH stop” ${USER}
}

case $1 in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo “USAGE $PROGRAM {start|stop|restart}”
;;
esac
[/bash]

anyShare分享到:

2 一条评论

  1. 广播: Odoo 绿色版在 CentOS 自动安装及以服务方式启动方法 - Odoo 中文指南

  2. 广播: Odoo 8 绿色版在 CentOS 自动安装及以服务方式启动方法 | noneboxnonebox

发表评论

电子邮件地址不会被公开。 必填项已用*标注