网上的一些安装方法尝试后出现各种问题。看了下官网,有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';
配置完成后使用上面的数据库服务命令,重启一下数据库。