OpenERP 部署环境使用说明

OpenERP上线文档

Jack.Wang(Email:[email protected])

(2011-12-26)

1.系统基本配置:

1.1操作系统:CentOS5.6

1.2磁盘划分:

/----------->100G

/usr/local----------->200G

/home----------->50G

/opt----------->100G

swap----------->10G

1.3数据库:postgresql-9.1.2(OpenERP6.0需要postgresql-8.2版本或者以上)

1.4Python:Python2.6(OpenERP6.0需要Python2.5版本或者以上)

2.创建用户openerp(用于启动OpenERP的用户)

3.安装,配置数据库(postgresql):

------------------------------------------------------------------------------

3.1安装:

#yuminstallpostgresqlpostgresql-server

#yuminstallpostgresql-devel(这是需要的,不然安装psycopg2是安装不了的)

3.2配置:

3.2.1设置服务开机自动启动:

#chkconfigpostgresqlon

3.2.2启动服务:

#/etc/init.d/postgresqlstart

3.3添加openerp用户:

3.3.1#su-postgres

3.3.2-bash-3.2$createuser--no-superuser--createdb--no-createrole\

--login--pwprompt--encrypted

------------------------------------------------------------------------------

由于CentOS5.6默认的postgresql为8.1.23版本,是不符合要求的,所以需要自己手动编译

------------------------------------------------------------------------------

下载postgresql-9.1.2

系统需求确认:

make3.80版本或者以上(满足make3.81)

Ccompiler

targzipbzip2

readlinereadline-devel

zlibzlib-devel

fullPerlinstallation,includingthe"libperl"libraryandtheheaderfiles

安装:

解压缩postgresql-9.1.2.tar.bz2($POSTPATH)

#useraddpostgres

#cd$POSTPATH

#./configure

#make

#makeinstall

#chown-Rpostgres:postgres/usr/local/pgsql

#su-postgres

$/usr/local/pgsql/bin/initdb-D/usr/local/pgsql/data#初始化数据库

$vim/usr/local/pgsql/data/postgresql.conf(根据需要)

去掉listen_addresses前面的注释并设置参数为*

去掉port前面的注释

$vim/usr/local/pgsql/data/pg_hba.conf(根据需要)

$/usr/local/pgsql/bin/postgres-D/usr/local/pgsql/data

或者

(/usr/local/pgsql/bin/pg_ctl-D/usr/local/pgsql/data-llogfilestart)#启动服务器

$/usr/local/pgsql/bin/createuser--no-superuser--createdb--no-createrole--login--pwprompt--encrypted(添加用户)

#ln-s/usr/local/pgsql/bin/psql/usr/bin/psql(创建软链接)

$psql(登录)

------------------------------------------------------------------------------------------------

设置自动启动脚本

#cp/home/openerp/postgresql-9.1.2/contrib/start-scripts/linux/etc/init.d/postgres

#chomd+x/etc/init.d/postgres

#servicepostgresstart(启动)

#chkconfigpostgreson(开机自动启动数据库)

4.安装Python2.6

-------------------------------------------------------------------------------------

CentOS5.6默认的Python版本为2.4的,所以需要自己手动安装Python

-------------------------------------------------------------------------------------

4.1下载源码:Python-2.6.tar.bz2

4.2安装需要的库

#yuminstallsqlite-developenssl-develbzip2-develgdbm-develreadline-devel\

ncurses-devellibxml2-devellibxslt-devel

4.3解压缩,安装

$tarjxvfPython-2.6.tar.bz2

$cdPython-2.6

$./configure--prefix=/opt/apps/python2.6

$make

$makeinstall

$sudoln-s/opt/apps/python2.6/bin/python/usr/bin/python2.6#创建链接

4.4安装easy_install

4.4.1下载ez_setup.py

4.4.2安装:

$python2.6ez_setup.py

$sudoln-s/opt/apps/python2.6/bin/easy_install/usr/bin/easy_install2.6

5.将/opt目录改为openerp拥有(openerp用户使用)

#chownopenerp:openerp/opt/

#su-openerp

$mkdir/opt/apps(用于存放OpenERP应用)

6.安装OpenERP需要的Python库

$easy_install2.6lxml

$easy_install2.6psycopg2

$easy_install2.6pyaml

$easy_install2.6reportlab

$easy_install2.6mako

$easy_install2.6pil

--------------------------------------------------------------------------------------

$easy_install2.6cherrypy

$easy_install2.6formencode

$easy_install2.6simplejson

$easy_install2.6babel

$easy_install2.6pytz

--------------------------------------------------------------------------------------

$easy_install2.6python-dateutil

7.启动OpenERP:

$python2.6/opt/apps/OpenERP/openerp-server/bin/openerp-server.py--db_user=openerp\

--db_password=openerp

$python2.6/opt/apps/OpenERP/openerp-web/openerp-web.py

---------------------------------------------------------------------------------------

安装OpenERP(Server端):

$cd/opt/apps/OpenERP/openerp-server/

$sudopython2.6setup.pyinstall

#ln-s/opt/apps/python2.6/bin/openerp-server/usr/bin/openerp-server

$openerp-server(启动)

(Web端):

$cd/opt/apps/OpenERP/openerp-web/

$sudopythonsetup.pyinstall

#ln-s/opt/apps/python2.6/bin/openerp-web/usr/bin/openerp-web

$openerp-web

具体用法:

$openerp-server&

$openerp-web&

上述命令如果是用ssh启动的话,会出现问题(ssh断开连接的时候,相应的开启的服务也会关闭),解决方案:

#nohupprogram&(可以保证关闭ssh后,ssh开启的服务依旧运行),即:

$nohupopenerp-server&

$nohupopenerp-web&

8.防火墙设置(开通8080访问的端口)

8.1安装iptables

#yuminstalliptables

8.2初始化iptables

#iptables-F

8.3定制过滤规则

#vim/etc/sysconfig/iptables

************************************************************

*filter

:INPUTACCEPT[0:0]#定义了内建的INPUT链

:FORWARDACCEPT[0:0]#定义了内建的FORWARD链

:OUTPUTACCEPT[0:0]#定义了内建的ACCEPT链

:RH-Firewall-1-INPUT-[0:0]#创建一个被称为RH-Firewall-1-INPUT的新链

-AINPUT-jRH-Firewall-1-INPUT#这条规则将添加到INPUT链上,所有发往INPUT链上的数据包将跳转到RH-Firewall-1链上

-AFORWARD-jRH-Firewall-1-INPUT

-ARH-Firewall-1-INPUT-ilo-jACCEPT#这条规则将被添加到RH-Firewall-1-input链,他可以匹配所有的数据包,其中

#流入接口(-i)是一个环路接口(lo),匹配这条规则的数据包将全部通过(ACCEPT),

#不会再使用别的规则来和它们进行比较

-ARH-Firewall-1-INPUT-picmp--icmp-typeany-jDROP#拒绝所有的icmp包-p后是协议如:icmp,tcp,udp。端口是

#在-p后面--sport源端口,--dport目的端口。-j指定数据包

#发送的

#接受下面的防火墙设置

#-mstate--stateESTABLISHED,RELATED这个条件表示所有处于ESTABLISHED或者RELATED状态的包,策略都是接受的。

#-mstate--stateNEW这个条件是当connection的状态为初始连接(NEW)时候的策略

-ARH-Firewall-1-INPUT-mstate--stateESTABLISHED,RELATED-jACCEPT

-ARH-Firewall-1-INPUT-mstate--stateNEW-mtcp-ptcp--dport22-jACCEPT

-ARH-Firewall-1-INPUT-mstate--stateNEW-mtcp-ptcp--dport8080-jACCEPT

#拒绝所有的

-ARH-Firewall-1-INPUT-jREJECT--reject-withicmp-host-prohibited

COMMIT

8.4让规则生效

#/etc/init.d/iptablesrestart

8.5测试通过

#ping172.17.16.56(ping不通)

-----------------------------------------------------------------------------------------------

遇到的问题:

1.ImportError:Nomodulenamed_thread

解决方案:

是dateutil版本的问题,降低版本为1.5

$easy_install2.6python-dateutil==1.5

相关推荐