odoo:开源ERP/安装和初始设置

时间:2021-07-06 05:37:34

1.1 Odoo的结构

Odoo使用Web浏览器来访问Odoo服务,因此你的Odoo服务器可以部署在较远的地方(如另外一个城市),用户的计算机上只需安装谷歌、火狐或 IE9 以上的浏览器,所以Web客户端不需要特别的维护。

一个 Odoo 系统由两个主要的组件组成:

1)数据库服务器PostgreSQL,它包含了所有的数据库,每个数据库都包含了部分Odoo系统设置和全部客户数据。

2)Odoo应用服务,Odoo应用服务包含了所有的企业逻辑并保证Odoo的最优性能

数据库服务和 Odoo 服务可被安装到同一台服务器上,如果出于性能的考虑,也可分布到不同的计算机上。

注:Postgresql, 是一个免费、开源和高性能的对象-关系型数据库管理系统。它可在各种类型的操作系统上运行,从 Unix/Linux到不同版本的Windows,从Mac OS X、Solaris、SunOS到BSD

1.2 Odoo的安装

下面的表汇总了不同的安装方法。

表:在 Windows或Linux中的安装方法对比。

方法

安装时间

复杂程度

备注

在线演示模式

无需安装

简单

对于快速试用非常有用

Windows上的All-In-One 安装

几分钟

简单

安装所有组件在一台计算机上,对于快速试用非常有用,同时也能应用于生产环境

Ubuntu上的Deb包安装

几分钟

简单

简单并且快速,适用于实际生产环境

注:稳定版本和开发版本

Odoo包含稳定版本(Stable)和开发版本(Master)。

开发Master版本分支将集成新的功能。这个分支比稳定版本更先进,但是可能含没被发现和修正的缺陷。Odoo制作了代码源,只要需要,你可以下载最新的Master开发版本(http://nightly.odoo.com/master/nightly/)。

稳定版本分支被设计应用于生产环境。它经过长时间的测试和校验,仅每年产生。对于稳定版本,仅仅进行缺陷的修复。

1.3.1 在Windows上独立安装Odoo

测试Odoo,或小微企业的生产环境,可采用 Windows 上的安装。

下载地址: http://nightly.odoo.com/10.0/nightly/exe/ 。

下载后采用管理员身份运行,采用默认值安装即可。

注:windows下安装目录的路径不要带中文,不然会导致界面无法运行的问题,系统的登录名也避免使用中文。

1.3.2在Ubuntu Server 16.04 LTS中安装Odoo

Odoo10.0最适用的Ubuntu版本为“Ubuntu Server Server 16.04 LTS”,建议在生产环境准备或正式生产环境采用Odoo开发时的默认环境:操作系统 Ubuntu 16.04 Server LTS,数据库建议为PostgreSQL9.3或以上版本。

本节将指导你在广泛使用的Linux发行版Ubuntu中安装Odoo服务。

注:针对其它Linux发行版,如CentOS,Odoo也有相应的的安装包,其安装与Ubuntu上的安装类似。

1.3.2.1 将Ubuntu升级到最新。

如果你Ubuntu系统默认更新源服务器不是http://cn.archive.ubuntu.com,为了以后更新和安装软件速度有保证,建议将更新源换为国内的门户服务器,这样在速度上有保障。在国内推荐的是网易 163 的更新源地址,更换方法如下:

$ sudo vi /etc/apt/sources.list

将国外或香港的网址如“ http://hk.archive.ubuntu.com”替换为“http://mirrors.163.com”,然后在终端中执行下列命令:

$ sudo apt-get update

$ sudo apt-get upgrade

1.3.2.2 PostgreSQL数据库的安装

Odoo适用的PostgreSQL为9.3或以上版本。

安装 postgresql

$ sudo apt-get install postgresql

注:psql和pgAdmin工具

Psql 是一个简单的 PostgreSQL 客户端,它从命令行运行。

如果你选择用图形界面操作你的数据库,你可以安装 pgAdminⅢ(在Windows中它一般随PostgreSQL一起安装)。

Psql和pgadmin是很有用的工具, 当Odoo服务出现问题时,你可以使用这两个工具对Odoo数据库直接进行操作, 以解决Odoo服务的问题。

1.3.2.3 Odoo服务的安装

执行下列命令:

1)下载 Odoo 最新版本

$ wget http://nightly.odoo.com/10.0/nightly/deb/odoo_10.0c.latest_all.deb

2)安装 Odoo 及其依赖包

$ sudo dpkg -i odoo_10.0c.latest_all.deb

$ sudo apt-get -f install

注:

重启 Odoo 服务的命令

Sudo service odoo restart

重启 Posgreql 数据库服务的命令

Sudo service postgresql restart

现在 Odoo 已经运行,并通过端口 5432 连接到了 Postgres 数据库,已开始监听 8069 端口。

如果你的 Linux 服务器有防火墙保护,你必须开放 8069 端口,以便其它计算机使用 Web 客户端访问。开放8069 端口的命令为:

sudo ufw allow 8069/tcp

odoo:开源ERP/安装和初始设置

图:启动后的 Odoo 创建数据库界面

你可以用 Web 客户端检验一下安装,在其它计算机上通过谷歌或火狐浏览器导航至“http://<服务器的IP地址>:8069”,如果服务器上安装有图形界面,你也可以在服务器上,通过“http://127.0.0.1:8069”来访问,如果出现象上图显示的数据库创建界面或登录界面,并且没有出现错误提示,就表明你已连接到Odoo服务,Odoo的安装已基本完成。

如果没有出现预期的效果,下面的建议希望能解决你的问题。

1)输入的网址是否正确。

2)使用的浏览器是否和 Odoo 兼容。推荐使用谷歌浏览器。

3)Odoo服务是否启动或防火墙问题。

可通过下述命令查看Odoo服务是否启动

odoo:开源ERP/安装和初始设置

odoo:开源ERP/安装和初始设置

如果你从一个终端启动Odoo服务时,显示错误信息“socket.error: (98,’Address already in use’)”,这说明你另外一个Odoo实例已在运行,并且使用了你定义的套接字(缺省为 8069 和 8070)。这说明可能有一个先前的 Odoo安装,或其它程序占用了这两个端口中一个或两个。

键入“sudo lsof –i:8069”查看是什么程序在运行,记下其PID。你可以通过键入“sudo kill <PID>”来停止这个程序的运行。你需要其它的操作来防止其在服务器重启时再次启动。

如果本机能够访问Odoo服务,而其它计算机不能,就应该是防火墙的原因。

4)Postgres 数据库未启动,或者Postgres数据库或Odoo的配置文件问题。

错误提示一般如下图:

odoo:开源ERP/安装和初始设置

a) 检查PostgreSQL数据库是否启动并监听本地的5432端口。使用“sudo netstat –anpt”来查看端口 5432 是否可见。

b) 要检查 PostgreSQL 数据库是否正常,在一个终端上输入“sudo su postgres -c psql”,查看 psql 的启动信息,如果正常,键入“\q”退出程序。

c) 请检查 Odoo 的配置文件 openerp-server 中“db_password=”后面的密码是否正确。

d) 在服务器日志中的一些信息可以帮助你确认问题, 此日志信息存在于“/var/log/odoo”目录下的文件中。

1.3.3 在CentOS中安装Odoo

1.3.3.1 在CentOS中使用rpm包安装Odoo

l   将 CentOS 升级到最新

yum clean all

yum update

l   安装 postgresql 数据库

yum install postgresql-server

l   安装完成后,我们需要用下面的命令初始化数据库。

postgresql-setup initdb

l   启动 postgresql 数据库

systemctl start postgresql.service

l   设置 postgresql 数据库自动启动

systemctl enable postgresql

l   切换到 postgres 用户,创建数据库用户

su postgres

createuser --created --no-createrole --pwprompt odoo

l   为Odoo安装准备环境

我们要添加 EPEL(企业版 Linux 的额外包)到我们的 CentOS 中。Odoo(或者 OpenERP)依赖的 Python 运行时环境以及其他包没有包含在标准仓库中。这样我们要为企业版 Linux 添加额外的包仓库支持来解决 Odoo 所需要的依赖。要安装完成,我们需要运行下面的命令。

yum install epel-release

l   为 Odoo 服务安装依赖

pip install -r requirements.txt

(requirements.txt可以在Odoo10.0源码中找到)

l   安装其它依赖

yum install python-xlwt

l   下载并安装 Odoo的 rpm 包

rpm -ivh odoo_10.0alphalc.latest.noarch.rpm

l   设置Odoo服务自动启动

systemctl enable odoo

1.3.3.2 防火墙配置,为Odoo服务打开8069端口

打开 iptables 的配置文件:

vi /etc/sysconfig/iptables

在其中增加一行“ -A RH-FirewallINPUT -m state –-state NEW -m tcp -p tcp –-dport 8069 –j ACCEPT”

修改完之后重启 iptables

service iptables restart

现在就能通过浏览器来访问 Odoo 服务了。

1.3.4 安装wkhtmltopdf以支持报表导出为PDF格式

如果没有安装或设置好 wkhtmltopdf,则在 Odoo 中打印报表时,会出现下面提示:

odoo:开源ERP/安装和初始设置

1.3.4.1 在Ubuntu中的安装

1)下载

从网址http://wkhtmltopdf.org/downloads.html选择相应的版本下载,Odoo官方建议的Whtmltopdf版本为0.12.2.1。

本例中选择了Ubuntu14.04的64位版本。

wget http://download.gna.org/wkhtmltopdf/0.12/0.12.2.1/wkhtmltox-0.12.2.1_linux-trusty-amd64.deb

2)安装

sudo dpkg -i wkhtmltox-0.12.2.1_linux-trusty-amd64.deb

3)修复依赖

sudo apt-get -f install

4)重启 Odoo 服务

sudo service odoo restart

1.3.4.2 在Windows中的安装

为了使用Odoo的报表和打印功能,你需要设置好wkhtmltopdf。

1)从 wkhtmltopdf.org 下载并安装 wkhtmltopdf

2)在系统的path设置中增加wkhtmltopdf.exe文件所在的路径,如在XP系统中,是选中“我的电脑”,点击鼠标右键,选择“属性”,

odoo:开源ERP/安装和初始设置

点击“高级”选项卡,点击“环境变量”按钮,

odoo:开源ERP/安装和初始设置

在“系统变量”一节中选中“Path”,然后点击“在“系统变量”一节中选中“Path”,

odoo:开源ERP/安装和初始设置

在变量值的最后面先添加“;”,然后再加上 wkhtmltopdf.exe 文件所在的路径,如“D:\Program Files\wkhtmltopdf\bin”,最后点击“确定”按钮。

1.3.5.3 在CentOS的安装

# yum install wkhtmltopdf