OpenERP 部署環境使用說明

  OpenERP 上線文檔 
                               Jack.Wang(Email:[email protected]
                               (2011-12-26) 
1. 系統基本配置: 
   1.1 操作系統: CentOS 5.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.4 Python:  Python 2.6(OpenERP6.0需要Python2.5版本或者以上) 

2. 創建用戶openerp(用於啓動OpenERP的用戶) 

3. 安裝,配置數據庫(postgresql): 
   ------------------------------------------------------------------------------ 
   3.1 安裝: 
       # yum install postgresql postgresql-server 
       # yum install postgresql-devel (這是需要的,不然安裝psycopg2是安裝不了的) 
   3.2 配置: 
       3.2.1 設置服務開機自動啓動: 
              # chkconfig postgresql on 
       3.2.2 啓動服務: 
              # /etc/init.d/postgresql start 
   3.3 添加openerp用戶: 
       3.3.1 # su - postgres 
       3.3.2 -bash-3.2$ createuser --no-superuser --createdb --no-createrole \ 
                                   --login --pwprompt --encrypted 
   ------------------------------------------------------------------------------ 
   由於CentOS 5.6默認的postgresql爲8.1.23版本,是不符合要求的,所以需要自己手動編譯 
   ------------------------------------------------------------------------------ 
   下載postgresql-9.1.2 
   系統需求確認: 
        make 3.80版本或者以上(滿足make 3.81) 
        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) 
        # useradd postgres 
        # cd $POSTPATH 
        # ./configure 
        # make 
        # make install 
        # chown -R postgres: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 -l logfile start) # 啓動服務器 
        $ /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 
        # service postgres start (啓動) 
        # chkconfig postgres on(開機自動啓動數據庫) 

4. 安裝Python 2.6 
   ------------------------------------------------------------------------------------- 
   CentOS 5.6默認的Python版本爲2.4的,所以需要自己手動安裝Python 
   ------------------------------------------------------------------------------------- 
   4.1 下載源碼:Python-2.6.tar.bz2 
   4.2 安裝需要的庫 
       # yum install sqlite-devel openssl-devel bzip2-devel gdbm-devel readline-devel \ 
                     ncurses-devel libxml2-devel libxslt-devel 
   4.3 解壓縮,安裝 
       $ tar jxvf Python-2.6.tar.bz2 
       $ cd Python-2.6 
       $ ./configure --prefix=/opt/apps/python2.6 
       $ make 
       $ make install 
       $ sudo ln -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.6 ez_setup.py 
             $ sudo ln -s /opt/apps/python2.6/bin/easy_install /usr/bin/easy_install2.6 

5. 將/opt目錄改爲openerp擁有(openerp用戶使用) 
   # chown openerp:openerp /opt/ 
   # su - openerp 
   $ mkdir /opt/apps  (用於存放OpenERP應用) 

6. 安裝OpenERP需要的Python庫 
   $ easy_install2.6 lxml 
   $ easy_install2.6 psycopg2 
   $ easy_install2.6 pyaml 
   $ easy_install2.6 reportlab 
   $ easy_install2.6 mako 
   $ easy_install2.6 pil 
   -------------------------------------------------------------------------------------- 
   $ easy_install2.6 cherrypy 
   $ easy_install2.6 formencode 
   $ easy_install2.6 simplejson 
   $ easy_install2.6 babel 
   $ easy_install2.6 pytz 
   -------------------------------------------------------------------------------------- 
   $ easy_install2.6 python-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/ 
        $ sudo python2.6 setup.py install 
        # ln -s /opt/apps/python2.6/bin/openerp-server /usr/bin/openerp-server 
        $ openerp-server (啓動) 
   (Web端): 
        $ cd /opt/apps/OpenERP/openerp-web/ 
        $ sudo python setup.py install 
        # ln -s /opt/apps/python2.6/bin/openerp-web /usr/bin/openerp-web 
        $ openerp-web 
   具體用法: 
        $ openerp-server & 
        $ openerp-web & 
        上述命令如果是用ssh啓動的話,會出現問題(ssh斷開連接的時候,相應的開啓的服務也會關閉),解決方案: 
        #nohup program &(可以保證關閉ssh後,ssh開啓的服務依舊運行),即: 
        $ nohup openerp-server & 
        $ nohup openerp-web & 
        
8. 防火牆設置(開通8080訪問的端口) 
   8.1 安裝iptables 
       # yum install iptables 
   8.2 初始化iptables 
       # iptables -F 
   8.3 定製過濾規則 
       # vim /etc/sysconfig/iptables 
       ************************************************************ 
       *filter 
       :INPUT ACCEPT [0:0]        # 定義了內建的INPUT鏈 
       :FORWARD ACCEPT [0:0]      # 定義了內建的FORWARD鏈 
       :OUTPUT ACCEPT [0:0]       # 定義了內建的ACCEPT鏈 
       :RH-Firewall-1-INPUT - [0:0]  # 創建一個被稱爲RH-Firewall-1-INPUT的新鏈 
       -A INPUT -j RH-Firewall-1-INPUT   # 這條規則將添加到INPUT鏈上,所有發往INPUT鏈上的數據包將跳轉到RH-Firewall-1鏈上 
       -A FORWARD -j RH-Firewall-1-INPUT 
       -A RH-Firewall-1-INPUT -i lo -j ACCEPT   # 這條規則將被添加到RH-Firewall-1-input鏈,他可以匹配所有的數據包,其中 
                                                # 流入接口(-i)是一個環路接口(lo), 匹配這條規則的數據包將全部通過(ACCEPT), 
                                                # 不會再使用別的規則來和它們進行比較 
       -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j DROP  # 拒絕所有的icmp包-p後是協議如:icmp, tcp, udp。端口是 
                                                               # 在-p後面--sport源端口,--dport目的端口。-j指定數據包 
                                                               # 發送的 
       # 接受下面的防火牆設置 
       # -m state --state ESTABLISHED,RELATED這個條件表示所有處於 ESTABLISHED或者 RELATED狀態的包,策略都是接受的。 
       # -m state --state NEW 這個條件是當connection的狀態爲初始連接(NEW)時候的策略 
       -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 
       -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT 
       -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT 
       # 拒絕所有的 
       -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited 
       COMMIT 
   8.4 讓規則生效 
       # /etc/init.d/iptables restart 
   8.5 測試通過 
       # ping 172.17.16.56 (ping不通) 

----------------------------------------------------------------------------------------------- 
遇到的問題: 
1. ImportError: No module named _thread 
   解決方案: 
        是dateutil版本的問題,降低版本爲1.5 
        $ easy_install2.6 python-dateutil==1.5 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章