Centos 安装 Odoo
一、前言
Odoo(前称OpenERP)是一款开源的企业资源计划(ERP)软件,集成了CRM、网站构建、电子商务、项目管理、会计、库存管理等多种功能模块,本文将详细介绍如何在CentOS上安装和配置Odoo 15。

二、更新系统
在开始之前,首先确保你的系统是最新的,使用以下命令来更新系统的包:
- sudo yum update y
如果上述命令失败,则需要配置国内的yum镜像源:
- 下载网易的base repo文件
- wget http://mirrors.163.com/.help/CentOS7Base163.repo
- 移动repo文件到yum仓库目录
- mv CentOS7Base163.repo /etc/yum.repos.d/CentOSBase.repo
- 清理缓存并生成新的缓存
- yum clean all
- yum makecache
- 再次更新系统
- yum update y
三、安装Python 3
Odoo 15需要Python 3环境,我们可以通过以下步骤安装Python 3:
- 安装开发工具和依赖库
- sudo yum y groupinstall "Development Tools"
- sudo yum y install zlibdevel bzip2devel openssldevel ncursesdevel sqlitedevel readlinedevel tkdevel gdbmdevel db4devel libpcapdevel xzdevel
- sudo yum install libffidevel y
- 下载并解压Python 3.8.5源码包
- cd /opt
- wget https://www.python.org/ftp/python/3.8.5/Python3.8.5.tgz
- tar xvzf Python3.8.5.tgz
- 创建编译目录并安装Python 3.8.5
- mkdir /usr/local/python3
- cd Python3.8.5
- ./configure prefix=/usr/local/python3
- make && make install
- 创建软链接方便调用
- ln s /usr/local/python3/bin/python3 /usr/local/bin/python3
- ln s /usr/local/python3/bin/pip3 /usr/local/bin/pip3
四、安装PostgreSQL数据库
Odoo使用PostgreSQL作为其数据库,我们需要安装并配置它:
- 安装EPEL repository
- sudo yum install epelrelease y
- 安装PostgreSQL 12
- sudo yum y install https://download.postgresql.org/pub/repos/yum/reporpms/EL7x86_64/pgdgredhatrepolatest.noarch.rpm
- sudo yum y install postgresql12server postgresql12
- 初始化数据库
- sudo /usr/pgsql12/bin/postgresql12setup initdb
- 启动并设置PostgreSQL服务开机自启
- sudo systemctl start postgresql12
- sudo systemctl enable postgresql12
- 设置PostgreSQL用户密码
- sudo su postgres c "createuser s odoo"
为了允许远程访问PostgreSQL,还需要修改配置文件:
- vi /var/lib/pgsql/12/data/postgresql.conf
- 找到listen_addresses = '*'行并将其改为
- listen_addresses = '*'
- vi /var/lib/pgsql/12/data/pg_hba.conf
- 添加以下内容以允许所有IP访问
- host all all 0.0.0.0/0 md5
修改后重启PostgreSQL服务:

- sudo systemctl restart postgresql12
五、安装wkhtmltopdf
wkhtmltopdf用于生成PDF报告,Odoo推荐使用0.12.5版本:
- cd /opt
- wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.5/wkhtmltox0.12.51.centos7.x86_64.rpm
- sudo yum localinstall wkhtmltox0.12.51.centos7.x86_64.rpm
六、安装Odoo 15
我们将从官方GitHub仓库中克隆Odoo 15源码并安装:
- 切换到odoo用户
- sudo useradd m U r d /opt/odoo15 s /bin/bash odoo15
- sudo passwd odoo15
- su odoo15
- 安装Git和Node.js(Odoo依赖)
- sudo yum install git y
- curl sL https://rpm.nodesource.com/setup_14.x | sudo bash
- sudo yum install nodejs y
- 克隆Odoo 15源码
- git clone https://www.github.com/odoo/odoo depth 1 branch 15.0 /opt/odoo15/odoo
- 创建并激活Python虚拟环境
- cd /opt/odoo15
- python3 m venv odoovenv
- source odoovenv/bin/activate
- 升级pip和setuptools,并安装所需依赖
- pip install upgrade pip setuptools wheel
- pip install r odoo/requirements.txt
- 停用虚拟环境并退出当前用户
- deactivate
- exit
七、配置Odoo
为了配置Odoo,我们需要创建一个systemd服务文件:
- 创建Odoo配置文件目录
- sudo mkdir p /etc/odoo
- sudo nano /etc/odoo/odoo.conf
在文件中添加以下内容:
- [options]
- ; This is the password that allows database operations:
- admin_passwd = your_secure_password
- db_host = False
- db_port = False
- db_user = odoo
- db_password = False
- addons_path = /opt/odoo15/odoo/addons, /opt/odoo15/odoocustomaddons
八、创建Systemd Unit文件
创建一个新的systemd unit文件来管理Odoo服务:
- sudo nano /etc/systemd/system/odoo15.service
添加以下内容:

- [Unit]
- Description=Odoo15
- Requires=postgresql.service
- After=network.target postgresql.service
- [Service]
- Type=simple
- SyslogIdentifier=odoo15
- PermissionsStartOnly=true
- User=odoo15
- Group=odoo15
- ExecStart=/opt/odoo15/odoovenv/bin/python3 /opt/odoo15/odoo/odoobin c /etc/odoo/odoo.conf
- StandardOutput=journal+console
- [Install]
- WantedBy=multiuser.target
保存并关闭文件,然后通知systemd新创建的服务文件:
- sudo systemctl daemonreload
启动并设置Odoo服务开机自启:
- sudo systemctl start odoo15
- sudo systemctl enable odoo15
至此,我们已经成功在CentOS上安装了Odoo 15,包括必要的依赖项如Python 3、PostgreSQL、wkhtmltopdf等,我们还配置了Odoo服务,使其在系统启动时自动运行,通过这些步骤,你可以拥有一个稳定且高效的ERP系统来支持你的业务需求。