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