在Ubuntu 20.04服务器上安装Odoo 14的最佳方案是构建独立的Python虚拟环境并配合PostgreSQL数据库,这种方法能确保系统稳定且便于后期升级维护。
对于许多初次接触企业资源规划(ERP)系统的开发者或中小企业主来说,环境配置往往是第一道门槛,Ubuntu 20.04 LTS因其长期的技术支持周期和稳定的软件包库,成为运行Odoo 14的理想宿主系统,Odoo 14作为该系列中引入现代化UI和增强移动端体验的重要版本,对底层依赖有着明确要求,如果直接在系统全局环境中安装Python库,极易引发依赖冲突,导致系统其他服务瘫痪,采用“沙盒”式的虚拟环境隔离方案,是业内共识认为最稳妥的技术路径。
Ubuntu 20.04安装Odoo 14前的环境准备
在动手敲入任何安装命令之前,清理系统垃圾和更新软件源是必不可少的基础工作,这一步骤虽然枯燥,但能避免后续出现大量因版本不匹配导致的报错。
系统更新与基础依赖安装
通过SSH连接你的Ubuntu服务器,执行系统更新命令,这能确保你获取到最新的补丁和安全修复。
执行系统升级
使用以下命令更新软件包列表并升级已安装的软件:
sudo apt update sudo apt upgrade -y
安装Odoo运行所需的基础系统库,Odoo依赖一些图形处理和邮件发送功能,因此需要安装特定的库文件。
sudo apt install git python3-pip build-essential wget python3-dev python3-venv python3-wheel libxslt-dev libzip-dev libldap2-dev libsasl2-dev python3-lxml libpq-dev -y
这里特别需要注意libpq-dev,它是连接PostgreSQL数据库的关键驱动,缺失此库会导致后续数据库连接失败。
创建专用系统用户
出于安全考虑,绝对不建议使用root用户运行Odoo服务,创建一个专门用于运行Odoo的用户,可以限制其权限,防止因应用漏洞导致整个服务器被攻破。
sudo adduser --system --home=/opt/odoo --group odoo

这条命令创建了一个名为odoo的系统用户,其主目录被设定为/opt/odoo,这是业界标准的部署路径之一。
部署PostgreSQL数据库服务
Odoo 14必须搭配PostgreSQL数据库使用,Ubuntu 20.04的默认源中包含了较新版本的PostgreSQL,通常能满足Odoo 14的需求。
安装与配置PostgreSQL
直接安装PostgreSQL服务:
sudo apt install postgresql -y
安装完成后,需要为Odoo创建一个对应的数据库用户,这个用户名必须与之前创建的系统用户名一致,即odoo。
sudo su - postgres createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt odoo
系统会提示你输入并确认密码,请记住这个密码,它在后续配置Odoo时至关重要,创建完成后,退出PostgreSQL用户模式:
exit
数据库性能调优建议
对于生产环境,默认的PostgreSQL配置往往过于保守,业内专家指出,适当调整共享内存和连接数能显著提升并发处理能力,虽然初学者可能暂时不需要深入配置,但了解postgresql.conf中的shared_buffers和max_connections参数是进阶运维的必经之路。
构建Odoo 14运行环境
这是整个安装过程中最核心、最容易出错的环节,我们将使用Python的虚拟环境(venv)来隔离Odoo及其依赖库。
创建虚拟环境
切换到odoo用户,并在其主目录下创建虚拟环境。
sudo -s su - odoo cd /opt/odoo python3 -m venv odoo-venv source odoo-venv/bin/activate
激活环境后,你的命令行提示符前会出现(odoo-venv)字样,表明当前所有Python命令都在这个隔离环境中执行。
安装Odoo 14及Python依赖
从GitHub克隆Odoo 14的代码分支,使用特定分支可以确保获取到稳定的版本,而不是不稳定的开发版。

git clone https://www.github.com/odoo/odoo --branch 14.0 --depth 1
进入代码目录,安装Python依赖包,这里需要安装两个文件:requirements.txt(核心依赖)和setup.py(可选,用于安装某些特定包)。
cd /opt/odoo/odoo pip3 install -r requirements.txt
如果网络环境较差,这一步可能会非常缓慢甚至中断,建议配置国内PIP镜像源以加速下载,安装完成后,务必验证版本:
python3 odoo-bin --version
输出应显示Odoo Server 14.0。
配置Odoo服务文件
创建一个配置文件/etc/odoo14.conf,用于管理Odoo的运行参数。
sudo nano /etc/odoo14.conf
写入以下基础配置:
[options] ; This is the password that allows database operations: admin_passwd = my_admin_pwd db_host = False db_port = False db_user = odoo db_password = your_postgres_password addons_path = /opt/odoo/odoo/addons,/opt/odoo/odoo-custom-addons
注意addons_path指向了默认插件目录和一个自定义插件目录,自定义目录odoo-custom-addons需要手动创建,用于存放你后续购买的模块或自行开发的代码。
设置Systemd服务与开机自启
为了让Odoo像其他系统服务一样在后台稳定运行,并实现开机自启,我们需要配置Systemd服务。
创建Service文件
创建服务文件/etc/systemd/system/odoo14.service:
sudo nano /etc/systemd/system/odoo14.service
如下:
[Unit] Description=Odoo14 Requires=postgresql.service After=network.target postgresql.service [Service] Type=simple SyslogIdentifier=odoo14 PermissionsStartOnly=true User=odoo Group=odoo ExecStart=/opt/odoo/odoo-venv/bin/python3 /opt/odoo/odoo/odoo-bin -c /etc/odoo14.conf StandardOutput=journal+console [Install] WantedBy=multi-user.target

启动与验证
重载Systemd配置,启动服务,并设置开机自启:
sudo systemctl daemon-reload sudo systemctl start odoo14 sudo systemctl enable odoo14
检查服务状态,确保没有报错:
sudo systemctl status odoo14
如果看到绿色的active (running)状态,说明安装成功,在浏览器访问http://你的服务器IP:8069,即可看到Odoo的数据库创建界面。
常见问题与优化建议
在实际部署中,许多用户会遇到wkhtmltopdf缺失或中文乱码的问题。
PDF生成工具配置
Odoo生成PDF报表依赖wkhtmltopdf工具,Ubuntu 20.04默认源中的版本可能较旧,建议从官方下载0.12.6版本安装,以获得最佳的渲染效果。
中文支持优化
若界面出现乱码,需安装中文字体包:
sudo apt install fonts-wqy-zenhei -y
并在odoo14.conf中配置字体路径,确保报表能正确显示中文。
Ubuntu 20.04安装Odoo 14常见问题解答
Ubuntu 20.04安装Odoo 14需要多少内存?
根据行业共识认为,运行单实例Odoo 14,最低需要2GB内存,但为了流畅处理多用户并发和报表生成,建议配置4GB或更高内存,若内存低于2GB,系统可能会频繁使用Swap分区,导致性能急剧下降。
Odoo 14与Odoo 16在Ubuntu上的安装差异大吗?
核心安装逻辑相似,但Odoo 16对Python版本和Node.js的要求更高,且不再支持某些老旧的第三方库,Odoo 14在Ubuntu 20.04上兼容性极佳,而Odoo 16可能需要更新版本的Ubuntu或更复杂的Node.js环境配置。
如何备份Odoo 14数据库?
备份分为文件级和数据库级,文件级备份通过pg_dump命令导出SQL文件,适合迁移;数据库级备份可通过Odoo后台的“备份”功能生成.zip文件,包含数据库结构和附件数据,适合灾难恢复,建议定期执行自动备份任务。
首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/400264.html
