/ 中存储网

Ubuntu Server下OpenERP安装笔记的方法及命令

2015-07-22 16:11:49 来源:中存储网

OpenERP 是一款建立在Python,PostgreSQL,XML等技术之上非常灵活强大的开源ERP系统。

最近成功安装了OpenERP6,期间参考了网络上的一些资料并得到了openerp论坛中的热心帮助,曾有论坛的朋友通过QQ询问安装问题,我就把这些安装记录写下来,希望这些记录可以帮助到其他人。

环境准备

安装 ubuntu server
安装vim(个人习惯)

$ sudo apt-get install vim

设置网络,IP 地址和路由配置

例如设置

192.168.20.20
255.255.255.0
192.168.20.1

打开文件

$ sudo vi /etc/network/interfaces

配置以下内容:

iface eth0 inet static
address 192.168.20.20
netmask 255.255.255.0
gateway 192.168.20.1

安装openerp-server

安装PostgreSQL

$ sudo apt-get install postgresql

PostgreSQL默认超级用户为‘postgres’. 你首次需要以此用户来登录.

$ sudo su postgres
password: XXXXXXXXXX

接下来是为OpenERP配置PostgreSQL用户:

$ createuser –createdb –username postgres –no-createrole –pwprompt openerp
Enter password for new role: XXXXXXXXXX
Enter it again: XXXXXXXXXX
Shall the new role be a superuser? (y/n) y
CREATE ROLE

注意:密码设置为 postgres.

下载openerp

使用以下命令下载deb包:

$ wget http://www.openerp.com/download/stable/deb/openerp-server-6.0.3-0_all.deb
$ wget http://www.openerp.com/download/stable/source/openerp-web-6.0.3.tar.gz

安装openerp-server

使用 dpkg 安装deb包,并通过 apt-get -f 选项安装依赖包

$ sudo dpkg -i openerp-server-6.0.3-0_all.deb
$ sudo apt-get -f install

配置参数

$ sudo vi /etc/openerp-server.conf
db_password = postgres

添加参数,使其能够通过localhost以外的地址访问ftp

ftp_server_host = 0.0.0.0

重启服务

$ sudo /etc/init.d/openerp-server restart

安装 openerp-web

必要包

Python >= 2.4
CherryPy >= 3.1.2
Mako >= 0.2.4
Babel >= 0.9.4
FormEncode >= 1.2.2
simplejson >= 2.0.9
pyparsing >= 1.5.0

python-libxslt1
postgresql-client
python-hippocanvas
python-matplotlib
python-webdav

解决中文(不完整)问题

解决此问题需要更改源代码:

$ sudo vi ~/openerp-web-6.0.3/openobject/i18n/_gettext.py

将代码:

if locale in domain_catalog:
return domain_catalog[locale]

更改为:

if str(locale) in domain_catalog:
return domain_catalog[str(locale)]

安装

$ sudo python setup.py install

建立OpenERP-Web启动进程(daemon)

$ sudo vi /etc/init.d/openerp-web

内容如下(注意更换为您自己的内容):

#!/bin/sh
#
# Open ERP web 启动脚本
#
 
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
DAEMON=/home/yourname/openerp/openerp-web
CONFIGFILE=/home/yourname/openerp/openerp-web.cfg
NAME=openerp-web
DESC=openerp-web
 
USER=yourname
 
test -x ${DAEMON} || exit 0
 
set -e
 
case “${1}” in
start)
echo -n “Starting ${DESC}: ”
 
start-stop-daemon –start –quiet –pidfile /var/run/${NAME}.pid
–chuid ${USER} –background –make-pidfile
–exec ${DAEMON} — –config=${CONFIGFILE}
 
echo “${NAME}.”
;;
 
stop)
echo -n “Stopping ${DESC}: ”
 
start-stop-daemon –stop –quiet –pidfile /var/run/${NAME}.pid
–oknodo
 
echo “${NAME}.”
;;
 
restart|force-reload)
echo -n “Restarting ${DESC}: ”
 
start-stop-daemon –stop –quiet –pidfile /var/run/${NAME}.pid
–oknodo
 
sleep 2
 
start-stop-daemon –start –quiet –pidfile /var/run/${NAME}.pid
–chuid ${USER} –background –make-pidfile
–exec ${DAEMON} — –config=${CONFIGFILE}
 
echo “${NAME}.”
;;
 
*)
N=/etc/init.d/${NAME}
echo “Usage: ${NAME} {start|stop|restart|force-reload}” >&2
exit 1
;;
esac
 
exit 0

(内容结束)

然后进行如下操作:

$ cp /doc/openerp-web.cfg /etc/
$ sudo chown -R openerp /etc/openerp-web.cfg
$ sudo chown -R openerp /addons
$ sudo chown -R openerp /etc/init.d/openerp-web
$ sudo chmod +x /etc/init.d/openerp-web

更改配置相关文件openerp-web.cfg

log.accessfile = “var/log/openerp-web/access.log”
log.errorfile = “var/log/openerp-web/error.log”

并且,进行如下操作:

$ sudo mkdir -p /var/log/openerp-web
$ sudo touch /var/log/openerp-web/access.log
$ sudo touch /var/log/openerp-web/error.log
$ sudo chown -R openerp /var/log/openerp-web

加入启动进程:

$ sudo update-rc.d openerp-web defaults
$ sudo /etc/init.d/openerp-web start

一些问题的解决

一旦发现出现以下错误:

<type ‘exceptions.UnicodeEncodeError’>: ‘ascii’ codec can’t encode character u’u5e74′ in position 2: ordinal not in range(128)
args = (‘ascii’, u’%Yu5e74%mu6708%du65e5 %Hu65f6%Mu5206%Su79d2′, 2, 3, ‘ordinal not in range(128)’)

解决方法:
“系统管理-翻译-语言” 修改日期格式与时间格式,使其不包含汉字。
感觉代码使用’ascii’有问题,应该是/usr/local/lib/python2.7/dist-packages/openerp_web-6.0.3-py2.7.egg/openobject/i18n/format.py出错了
wiki显示不正常,只显示为编辑模式(权限问题)

$ sudo chmod -R 777 [目录]

目录可能包含3个:

/usr/lib/pymodules/python2.x/openerp-server/addons
/usr/share/pyshared/openerp-server/addons
/usr/…/openerp-web/addons

 
更改web页面右上角support支持地址

更改这里:

/usr/share/pyshared/openerp-server/addons/web_livechat/publisher_warranty.py

函数getdefaultlivechat_text的返回值

return ‘<a href=”http://www…(略)

更改logo图片

图片信息在 <openerp-web目录>/addons/openerp/static/css/screen.css 文件中, 可能会是 ../images/logo-bg.png
打开web缓存

Opery Web Client:打开openerp-web.cfg,确认 server.environment = “production” (源码安装默认development)
在cherrypy/cpserver.py文件中有两个重要参数,分别是46行的socketqueuesize = 5 和 51行threadpool = 10 ,这里修改为socketqueuesize = 500 和 thread_pool = 1000。(这两个参数一旦在保持默认值的情况下,连并发100都跑不了。不明白CherryPY的默认值为什么这么低 …)