当前位置: 首页 > 知识教程 > 谈OpenERP部署环境操作步骤
谈OpenERP部署环境操作步骤
Odoo,OpenERP中文网 / 2013-12-06

 一、系统基本配置:
   1 、操作系统: CentOS 5.6
   2 、磁盘划分:

  1.                 /          -----------> 100G
  2.                 /usr/local -----------> 200G
  3.                 /home      -----------> 50G
  4.                 /opt       -----------> 100G
  5.                 swap       -----------> 10G

3 、数据库:  postgresql-9.1.2(OpenERP6.0需要postgresql-8.2版本或者以上)
   4、 Python:  Python 2.6(OpenERP6.0需要Python2.5版本或者以上)

二、创建用户openerp(用于启动OpenERP的用户)

三、安装,配置数据库(postgresql):
   ------------------------------------------------------------------------------
   1 、安装:

  1.      # yum install postgresql postgresql-server
  2.        # yum install postgresql-devel (需要)

2、配置:
       1 、设置服务开机自动启动:

  1. # chkconfig postgresql on

2 、启动服务:

  1. # /etc/init.d/postgresql start

3、 添加openerp用户:

  1.         # su - postgres
  2.         -bash-3.2$ createuser --no-superuser --createdb --no-createrole \
  3.                                    --login --pwprompt --encrypted

由于CentOS 5.6默认的postgresql为8.1.23版本,是不符合要求的,所以需要自己手动编译
   下载postgresql-9.1.2
   系统需求确认:
        make 3.80版本或者以上
        C compiler
        tar gzip bzip2
        readline readline-devel
        zlib zlib-devel
        full Perl installation, including the "libperl" library and the header files
   安装:
        解压缩postgresql-9.1.2.tar.bz2($POSTPATH)

  1.         # useradd postgres
  2.         # cd $POSTPATH
  3.         # ./configure
  4.         # make
  5.         # make install
  6.         # chown -R postgres:postgres /usr/local/pgsql
  7.         # su - postgres
  8.         $ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data   # 初始化数据库
  9.         $ vim /usr/local/pgsql/data/postgresql.conf(根据需要)

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

  1.         $ vim /usr/local/pgsql/data/pg_hba.conf(根据需要)
  2.         $ /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data

或者

  1.           (/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start) # 启动服务器
  2.         $ /usr/local/pgsql/bin/createuser --no-superuser --createdb --no-createrole --login --pwprompt --encrypted (添加用户)
  3.         # ln -s /usr/local/pgsql/bin/psql /usr/bin/psql(创建软链接)
  4.         $ psql (登录)

设置自动启动脚本

  1.         # cp /home/openerp/postgresql-9.1.2/contrib/start-scripts/linux /etc/init.d/postgres
  2.         # chomd +x /etc/init.d/postgres
  3.         # service postgres start (启动)
  4.         # chkconfig postgres on(开机自动启动数据库)

四、 安装Python 2.6
   CentOS 5.6默认的Python版本为2.4的,所以需要自己手动安装Python
   1 、下载源码ython-2.6.tar.bz2
   2 、安装需要的库

  1. # yum install sqlite-devel openssl-devel bzip2-devel gdbm-devel readline-devel \
  2.                      ncurses-devel libxml2-devel libxslt-devel

3、 解压缩,安装

  1.        $ tar jxvf Python-2.6.tar.bz2
  2.        $ cd Python-2.6
  3.        $ ./configure --prefix=/opt/apps/python2.6
  4.        $ make
  5.        $ make install
  6.        $ sudo ln -s /opt/apps/python2.6/bin/python /usr/bin/python2.6   #创建链接

4、安装easy_install
       1) 下载ez_setup.py
       2)安装:

  1. $ python2.6 ez_setup.py
  2.              $ sudo ln -s /opt/apps/python2.6/bin/easy_install /usr/bin/easy_install2.6

五、将/opt目录改为openerp拥有(openerp用户使用)

  1.    # chown openerp:openerp /opt/
  2.    # su - openerp
  3.    $ mkdir /opt/apps  (用于存放OpenERP应用)

六、安装OpenERP需要的Python库

  1.    $ easy_install2.6 lxml
  2.    $ easy_install2.6 psycopg2
  3.    $ easy_install2.6 pyaml
  4.    $ easy_install2.6 reportlab
  5.    $ easy_install2.6 mako
  6.    $ easy_install2.6 pil
  7.    $ easy_install2.6 cherrypy
  8.    $ easy_install2.6 formencode
  9.    $ easy_install2.6 simplejson
  10.    $ easy_install2.6 babel
  11.    $ easy_install2.6 pytz
  12.    $ easy_install2.6 python-dateutil

七、启动OpenERP:

  1.    $ python2.6 /opt/apps/OpenERP/openerp-server/bin/openerp-server.py --db_user=openerp \
  2.                                                                --db_password=openerp
  3.    $ python2.6 /opt/apps/OpenERP/openerp-web/openerp-web.py

安装OpenERP(Server端):

  1.   $ cd /opt/apps/OpenERP/openerp-server/
  2.         $ sudo python2.6 setup.py install
  3.         # ln -s /opt/apps/python2.6/bin/openerp-server /usr/bin/openerp-server
  4.         $ openerp-server (启动)

安装OpenERP(Web端):

  1. $ cd /opt/apps/OpenERP/openerp-web/
  2.         $ sudo python setup.py install
  3.         # ln -s /opt/apps/python2.6/bin/openerp-web /usr/bin/openerp-web
  4.         $ openerp-web

具体用法:

  1.         $ openerp-server &
  2.         $ openerp-web &
  3.         上述命令如果是用ssh启动的话,会出现问题(ssh断开连接的时候,相应的开启的服务也会关闭),解决方案:
  4.         #nohup program &(可以保证关闭ssh后,ssh开启的服务依旧运行),即:
  5.         $ nohup openerp-server &
  6.         $ nohup openerp-web &       
  7.  

八防火墙设置(开通8080访问的端口)
   1 、安装iptables

  1.       # yum install iptables

2、初始化iptables

  1.        # iptables -F

3、定制过滤规则

  1. # vim /etc/sysconfig/iptables
  2.        *filter
  3.        :INPUT ACCEPT [0:0]        # 定义了内建的INPUT链
  4.        :FORWARD ACCEPT [0:0]      # 定义了内建的FORWARD链
  5.        :OUTPUT ACCEPT [0:0]       # 定义了内建的ACCEPT链
  6.        :RH-Firewall-1-INPUT - [0:0]  # 创建一个被称为RH-Firewall-1-INPUT的新链
  7.        -A INPUT -j RH-Firewall-1-INPUT   # 这条规则将添加到INPUT链上,所有发往INPUT链上的数据包将跳转到RH-Firewall-1链上
  8.        -A FORWARD -j RH-Firewall-1-INPUT
  9.        -A RH-Firewall-1-INPUT -i lo -j ACCEPT   # 这条规则将被添加到RH-Firewall-1-input链,他可以匹配所有的数据包,其中
  10.                                                 # 流入接口(-i)是一个环路接口(lo), 匹配这条规则的数据包将全部通过(ACCEPT),
  11.                                                 # 不会再使用别的规则来和它们进行比较
  12.        -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j DROP  # 拒绝所有的icmp包-p后是协议如:icmp, tcp, udp。端口是
  13.                                                                # 在-p后面--sport源端口,--dport目的端口。-j指定数据包
  14.                                                                # 发送的
  15.        # 接受下面的防火墙设置
  16.        # -m state --state ESTABLISHED,RELATED这个条件表示所有处于 ESTABLISHED或者 RELATED状态的包,策略都是接受的。
  17.        # -m state --state NEW 这个条件是当connection的状态为初始连接(NEW)时候的策略
  18.        -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  19.        -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
  20.        -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
  21.        # 拒绝所有的
  22.        -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
  23.        COMMIT

4 、让规则生效

  1. # /etc/init.d/iptables restart

5、测试通过