Odoo 14安装简明教程

Odoo Alan 2年前 (2020-05-28) 28867次浏览 2个评论 扫描二维码

有一段时间没有关注 Odoo 的动态了,可能是“单号魔咒”的原因,Odoo 13似乎并没有什么热度,就连Packt 的那本Odoo 13 Development Cookbook, Fourth Edition也迟迟没有面世,估计可以直接写 Odoo 14了。

抱歉,CentOS 8显得有些画蛇添足了,已官宣 CentOS 8的支持到2021年年底截止,CentOS 7还可支持到2024年,以后只有 CentOS Stream了;接下来应该会大批迁移到 Debian 系的动作吧。不禁让人联想到 ORACLE 收购JAVA、MySQL。MySQL创始人在收购后开发 MariaDB进行续命,听说 CentOS创始人会开发一个Rocky Linux,话说GitHub上的 star 涨得是真快,历史总是惊人的相似。其实不必唾弃 IBM,开源产品都要为自己找到商业答案才能持续为社区供血,光有理想和情怀肯定是不够的。 IBM作为一家商业公司很自然的优先会考虑商业变现、对股东交出答卷。按收购的套路 Red Hat的版本号也许会一路高歌猛进,期待JAVA 20 + MySQL 12 + Red Hat 12的组合(简称JMR~)打包新品出炉。

对于 Odoo 用户这不是什么坏消息,因为官方推荐的就是 Debian 系 Linux,同时数据库使用的是 PostgreSQL,没有丝毫的影响。

相关文章:Odoo 14全新前端框架 OWL(Odoo Web Library)官方文档中文版

❣️❣️❣️Odoo 14开发者指南(Cookbook)第四版

Windows请直接到官网下载安装包(需先安装 Postgres): https://www.odoo.com/page/download或http://nightly.odoo.com/

CentOS 7

Odoo 安装通常更建议使用 Ubuntu/Debian,因为其中无论 Python 还是 PostgreSQL安装都更为简单,同时社区内的使用率也更高。

安装 Python 3

配置虚拟环境

安装 PostgreSQL

参考链接:https://computingforgeeks.com/how-to-install-postgresql-12-on-centos-7/

安装 Odoo

10月1日 Odoo 14稳定版已正式发布,可直接通过 GitHub 下载源代码(参见 CentOS 8部分教程)

登录页还是那个熟悉的登录页,登录后可以看到目前界面上的最大变化就是左侧导航区

odoo_14.0alpha1未开启 debug

Odoo 14安装简明教程

支付服务也着实不少,支付宝赫然在列:

Odoo 14安装简明教程

odoo_14.1alpha1已开启 debug

Odoo 14安装简明教程

然后在Odoo14中单纯使用?debug已无法调出调试菜单,需使用完整的?debug=1或?debug=assets;原“Activate the developer mode”按钮要求至少安装一个应用后再点击 Settings 菜单下拉至底部:

Odoo 14安装简明教程

Ubuntu通用安装方式

  1. 升级系统至最新版:
  2. 加强服务器的安防:
  3. 创建Odoo的用户:
  4. 接下来执行PostgreSQL配置。步骤如下:
    a. 安装 postgres如下:

    b. 切换至9.6以上版本的Postgres创建管理Odoo数据库:

    c. 接下来创建一个Odoo 14.0的用户:

    d. 将该用户置为超级用户,获取一些可选权限:

    e. 使用如下命令退出psqlpostgres
  5. 按如下步骤安装Odoo的依赖:a. 使用如下命令安装pip3

    b.安装必要的包和库:

    c. 验证安装添加一些新依赖:
  6. 接下来要克隆GitHub仓库的代码。步骤如下:a.克隆代码之前应先安装git:

    b. 在下载代码前将用户切换为odoo,因为这样更为安全:

    c. 克隆仓库中对应的分支:

    d. 退出当前用户,继续后续的安装:
  7. 使用如下步骤安装必要的Python包:a. 使用pip3安装Python包和库:

    b. 下载安装wkhtmltopdf来支持Odoo的PDF报表:
  8. 配置Odoo及其服务,如下:a. Odoo会自动生成一个配置文件。会一并下载并从另一个配置文件中拷贝,如下面的代码所示:

    b. 在文件中填入必要的内容:

    c. 更新配置文件如下:

    d. 对文件设置权限:

    e. 创建Odoo的日志目录:

    f. 设置文件夹内的Odoo用户权限:

    g. 配置Odoo服务:

    h. 在该文件中加入如下内容:

    i. 设置文件的root 用户:
  9. 运行Odoo如下:a. 运行如下命令启动Odoo平台:

    b. 使用如下命令查看服务的状态:

    如果启动成功,即可通过如下URL访问:

    http://<your_domain_or_IP_address&gt;:8069

    c. 使用如下命令查看日志文件:

    d. 输入如下命令让Odoo服务在开机时自动启动:

参考书籍:Designing Professional Websites with Odoo Website Builder

CentOS 8

编辑配置文件(请修改master_password)

配置文件常用参数(摘自Odoo 12开发者指南(Cookbook)第三版

选项格式用途
without_demo逗号分隔的模块名列表,或 all(取消所有模块的演示数据),或 False(为所有模块启用演示数据)该选项阻止模块演示数据被加载
addons_path逗号分隔的路径列表这是一个服务查找插件的路径名列表(参见第二章 管理Odoo服务器实例
admin_passwd文本这是 master 密码(参见前面部分的内容)
data_dir一个目录路径这个目录中服务会存储session信息、从网上下载的插件以及在启用了文件存储时存放文档。
db_host主机名这是运行PostgreSQL服务的服务器名。使用 False 来使用本地 Unix 域套接字,以及 localhost 来使用本地 TCP 套接字。
db_user数据库登录用户在db_host为 False 时这通常为空。这将是用于连接数据库的用户。
db_password数据库用户密码在db_host为 False以及 db_user 与运行服务的用户相同时通常为空。阅读pg_hba.conf的主页面来获取更多相关信息。
db_name数据库名用于设置一些默认执行命令作用的数据库名。这不会限制服务所操作的数据库。参照下面的 dbfilter 参数。
dbfilter一个正则表达式该表达式应匹配服务所使用的数据库名。如果你运行网站,应该匹配单个数据库,类似^databasename$。更多相关信息请参见第三章 服务器部署
http_interface网络接口的 IP 地址默认为0.0.0.0,表示服务监听所有接口。
http_port
longpolling_port
端口号这些是 Odoo 服务所会监听的端口。你需要指定这两者来在同一台主机上运行多个 Odoo 服务;longpolling_port仅在workers不为0时使用。
http_port默认值为8069,longpolling_port默认为8072。
logfile文件路径Odoo 写入日志的文件。
log_level日志信息级别指定日志的级别。可接受的值(内容逐渐增加)包括critical, error, warn, info, debug, debug_rpc, debug_rpc_answer, debug_sql。
workers整数worker进程的数量,更多信息参见第三章 服务器部署
list_dbTrue/False设置为 True 来取消列出数据库。更多信息请参见第三章 服务器部署
proxy_modeTrue/False激活反向代理WSGI封装。仅在运行于可信任的 web 代理后启用它。

创建systemd启动文件

载入配置文件并启动服务

安装 Nginx 并进行配置(以下 yourdomain.com 仅为示例,请使用自己的域名,测试目的可能过 host绑定来使用该域名)

启动 Nginx

注意系统默认可能开启 SELinux 而导致80端口无法直接访问

Odoo 14安装简明教程

参考文章:https://www.rosehosting.com/

Docker安装

Docker安装的优势无需多说,可以省去比较繁琐的环境配置,对于测试、开发而言可以快速搭建起服务,如果恰当的配置,用于生产也完全没有问题。我们只需要在本地维护自己开发的 addon以及配置文件,官方会维护Odoo核心代码的镜像,我们只需要拉取最新镜像即可获取最新的修复版本。当然如果你需要对官方的代码动刀,那这显然不太适合你,这时你可能要自己维护一套镜像。此外就是官方镜像中可能没有包含你需要使用到的软件包,这时也会需要做相应的处理。

SAMBA远程调试

不建议在生产环境安装使用

编辑配置文件(/etc/samba/smb.conf):

设置密码:

Mac: Finder 右击 Connect to server…或在桌面上按下 Cmd+k,输入 你的 IP地址 smb://192.168.xxx.xxx,然后输入用户名及刚刚设置的密码即可在本地挂载该目录。

Windows:Win+R 在弹出窗口中或在文件浏览器的输入框中输入 \\192.168.xxx.xxx,然后输入用户名及刚刚设置的密码即可在本地挂载该目录。

这样的好处是可以直接修改服务器上的代码或使用该代码进行调试,但使用 git 可能是更好的选择:

Odoo 14安装简明教程

 

常见问题

1、ModuleNotFoundError: No module named ‘_ctypes’

2、Error: pg_config executable not found.

3、psql 命令行创建数据库和用户

4、Odoo 中的时区问题

有关时区可以分几个部分,首先系统默认使用的是 UTC,这一配置位于 odoo-bin 文件内,对应中国时区可修改为Asia/Shanghai。另一个有关用户的,在账号的 Preferences中可以进行时区设置。而前端使用的是getTZOffset,函数的定义位于 session.js 中。

5、如何修改公司的 Logo、Favicon 等信息?

Settings > General Settings > Companies > Update info

6、如何去除Manage Databases?

使用启动选项–no-database-list或在配置文件中设置list_db = False,相关布局文件见Settings > Technical > User Interface > Views > Login Layout

My Odoo.com Account等内容位于addons/web/static/src/xml/base.xml中,可直接注释,更推荐安装一些 Debranding 的模块来解决这一问题。

7、安装企业版主题自有 addon不显示 Icon 图片

在安装了企业版主题如muk_web_theme发现即便配置了web_icon="module_name,static/description/icon.png" title="Odoo 14安装简明教程"也无法显示图标,很明显源代码里使用的是web_icon_data字段,甚至有人说在 Odoo Shell 中手动执行刷新数据

然后测试无仍任何效果,那么采取一种粗暴的方式来试试,打开 Settings > Technical > User Interface > Menu Item,找到对应的菜单项,然后在Web Icon Image项上传图标保存,搞定。然后再次更新模块又失效了,最终发现我的模块文件夹名和主模型名不同,习惯性地使用了模型名(点号变下划线),而这里使用的应该是文件夹名。所以正常情况下添加 web_icon 就可以了。

9、Docker 内如何安装软件包?

临时在 Docker 中安装一些软件包会发现无法切换到 root 用户,其实很简单,docker exec -it -u 0 odoo bash即中以 root 用户进入容器系统的命令行

10、The selected file exceed the maximum file size of 64.00 Mb.

这部目前是硬编码在addons/web/static/src/js/fields/basic_fields.js文件中:

11、Docker 中连接 MySQL报错:OSError: mysql_config not found

12、null value in column “activity_user_type” violates not-null constraint

在安装模块的依赖中添加 mail 模块

喜欢 (18)
[]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(2)个小伙伴在吐槽
  1. 怎么用centos安装的odoo总会有一些小问题啊,比如在线聊天出不来,外部邮件服务器设置后用不了等
    向死而生2020-12-22 17:22 回复