网上的一些安装方法尝试后出现各种问题。看了下官网,有deb和RPM包下载,且官网的安装方法简单,加上网络上得一些教程比较丰富,在初期不熟悉的情况下,选择官网的安装方式是不错的选择。
官网的安装文档过于简单,Linux不熟悉的童鞋,会有各种问题,下文会把自己在安装过程中遇到的问题和解决办法写出来。
我们应该感谢伟大的互联网,因为本文很多内容和方法都来自互联网。
请参考将官方文档一起打开阅读,官方安装技术文档地址 传送门
PS:官网安装教程有BUG

第一步 搭建VPS安装环境
1、VPS安装中文
为啥要先将VPS设置为中文呢?主要是因为OpenERP是国外的开源产物,对汉语的支持不够好,虽然界面什么的汉化没有问题,但是ERP系统会涉及到打印等方面,网上绝大部分教程都会说中文打印的问题。所以,第一步将Server安装中文支持势在必行。
安装中文前,最好先使用apt-get update更新下(这个命令应该接触过Linux的就知道)
安装中文字体,非root用户自己在命令前面加 sudo

apt–get install ttf–wqy–zenhei
apt-get install ttf-wqy-microhei

安装zh_CN.utf8

cd /usr/share/locales
./install-language-pack zh_CN

看到Generation complete.一般就OK,可以用“locale”命令验证下。而且,后面的操作中,命令行输出的内容中,会有部分是中文的。
2、Odoo 8.0 版改用 wkhtmltopdf 来输出 pdf,因此要下载 wkhtmltopdf 并安装。先下载:

wget http://download.gna.org/wkhtmltopdf/0.12/0.12.2.1/wkhtmltox-0.12.2.1_linux-trusty-amd64.deb (ubuntu 14.04.1)
dpkg -i wkhtmltox-0.12.1_linux-trusty-amd64.deb

如果需要依赖包,使用下面命令自动完成,无需再次安装,后面安装odoo也是一样

apt-get install -f

3、安装数据库PostgreSQL

apt-get install postgresql

4、配置PostgreSQL

su – postgres

官方文档上有bug,这条命令少了一横“-”,所以,按照官方文档使用这条命令会出现could not change directory to “/root”的错误

createuser root
psql template1
template1=# alter role openerp with password ‘postgres';
ALTER ROLE #自动打印内容,不需要输入
\q # 退出psql
exit # 退出postgres用户

上面命令中,createuser openerp中的‘openerp’是新建的数据库用户名,而不是Linux的用户。数据库有一套自己的用户名和密码。因为此次安装时安装官方技术文档的安装方式安装,所以,这个新建的用户名必须与你的Linux用户名一致。
比如,我用的是VPS安装的,而我使用SSH登录的是VPS的root账号来安装,那么,新建的数据库用户名必须也是root。
也可以理解为,在哪个Linux下配置,那么这个新建的数据库用户名就必须和改用户名一致。
还可以这么理解,看自己的命令行界面

root@OpenERP:~#

我的是这样的,@前面的root就是用户名。
官方安装文档,在
“为Openerp设置一个 PostgreSQL 用户”
一项中给了我们两种方法。大致意思使用“createuser root”命令创建PostgreSQL用户名后,会提示“Shall the new role be a superuser? (y/n)”,这个是提示我们选择是否将刚刚新建的用户设置为超级用户。
但在实际中,两种方法都不会出现这个提示,那么,我们需要使用下面的命令来赋予新建用户超级用户权限(可创建数据库)

template1=# alter role root with superuser;
ALTER ROLE #自动打印内容,不需要输入
PostgreSQL服务命令
/etc/init.d/postgresql start #启动
/etc/init.d/postgresql stop #停止
/etc/init.d/postgresql restart #重启

第二步 安装OpenERP
先下载,然后安装,会提示需要一堆依赖包

wget http://nightly.odoo.com/8.0/nightly/deb/odoo_8.0-latest.deb

#下载完后

dpkg -i odoo_8.0-latest.deb

#安装提示需要依赖包

apt-get -f install #搞定

使用“top”命令查看进程表,如果有“openerp-server”表示启动成功,访问即可:

http://服务器IP地址或者域名:8069

Odoo服务命令

service odoo start
service odoo stop
service odoo restart

浏览器会自动转跳到新建配置页面,填好信息后,会出现下面的报错。

DataError: new encoding (UTF8) is incompatible with the encoding of the temp
DataError: new encoding (UTF8) is incompatible with the encoding of the template database (SQL_ASCII)
HINT: Use the same encoding as in the template database, or use template0 as template.

网上爬文说,这是因为pg在新建数据库是上从template复制的,解决办法 删掉新建template数据库
参考http://www.postgresql.org/docs/8.1/interactive/manage-ag-templatedbs.html,看最下面的回复。这里贴出来,亲测有效。

su - postgres #切换到数据库用户
psql template1 #选择template1数据库

#下面的内容每输入一行命令执行一次

UPDATE pg_database SET datallowconn = TRUE where datname = 'template0';
\c template0
UPDATE pg_database SET datistemplate = FALSE where datname = 'template1';
drop database template1;
create database template1 with template = template0 encoding = 'UTF8';
UPDATE pg_database SET datistemplate = TRUE where datname = 'template1';
\c template1
UPDATE pg_database SET datallowconn = FALSE where datname = 'template0';

配置完成后使用上面的数据库服务命令,重启一下数据库。