OpenEuler学习笔记(二十二):OpenEuler上部署开源ERP系统Odoo

ops/2025/2/11 20:56:06/

在这里插入图片描述

在OpenEuler上部署Odoo(一个开源的企业资源规划系统,ERP)是一个非常适合小企业的选择。Odoo提供了丰富的功能模块,如销售、采购、库存、财务、人力资源等,可以帮助小企业实现全面的管理。以下是详细的部署步骤:


1. 环境准备

1.1 系统要求
  • 操作系统:OpenEuler 20.03 LTS 或更高版本。
  • 硬件:建议至少4核CPU、8GB内存、50GB存储。
  • 网络:确保服务器可以访问互联网。
1.2 更新系统

确保系统是最新的:

sudo dnf update -y
1.3 安装基础工具

安装必要的工具和依赖:

sudo dnf install -y git wget curl

2. 安装依赖

Odoo需要Python 3、PostgreSQL数据库和一些系统依赖。

2.1 安装Python 3

OpenEuler默认可能已经安装了Python 3,如果没有,可以手动安装:

sudo dnf install -y python3 python3-pip
2.2 安装PostgreSQL

Odoo使用PostgreSQL作为数据库后端:

sudo dnf install -y postgresql-server postgresql-contrib

初始化PostgreSQL并启动服务:

sudo postgresql-setup --initdb
sudo systemctl start postgresql
sudo systemctl enable postgresql

创建Odoo数据库用户:

sudo -u postgres createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt odoo
2.3 安装其他依赖

安装Odoo所需的系统依赖:

sudo dnf install -y libxslt-devel libxml2-devel libjpeg-devel libopenjp2-7-devel zlib-devel libpq-devel

在这里插入图片描述

3. 安装Odoo

3.1 下载Odoo源码

从GitHub下载Odoo源码:

git clone https://github.com/odoo/odoo.git --depth 1 --branch 16.0 --single-branch /opt/odoo
3.2 创建虚拟环境

为Odoo创建一个Python虚拟环境:

python3 -m venv /opt/odoo/venv
source /opt/odoo/venv/bin/activate
3.3 安装Python依赖

在虚拟环境中安装Odoo所需的Python包:

pip install -r /opt/odoo/requirements.txt

4. 配置Odoo

4.1 创建配置文件

创建Odoo配置文件:

sudo mkdir /etc/odoo
sudo nano /etc/odoo/odoo.conf

在配置文件中添加以下内容:

[options]
; 数据库配置
db_host = localhost
db_port = 5432
db_user = odoo
db_password = your_password
db_name = odoo; Odoo服务配置
addons_path = /opt/odoo/addons
data_dir = /var/lib/odoo
logfile = /var/log/odoo/odoo.log
log_level = info; HTTP服务配置
http_port = 8069
4.2 创建日志目录

创建Odoo日志目录并设置权限:

sudo mkdir /var/log/odoo
sudo chown -R odoo:odoo /var/log/odoo
4.3 创建数据目录

创建Odoo数据目录并设置权限:

sudo mkdir /var/lib/odoo
sudo chown -R odoo:odoo /var/lib/odoo

5. 创建系统服务

5.1 创建Odoo用户

创建一个系统用户来运行Odoo:

sudo useradd -m -d /opt/odoo -U -r -s /bin/bash odoo
sudo chown -R odoo:odoo /opt/odoo
5.2 创建Systemd服务

创建Systemd服务文件:

sudo nano /etc/systemd/system/odoo.service

添加以下内容:

[Unit]
Description=Odoo
After=postgresql.service[Service]
Type=simple
User=odoo
Group=odoo
ExecStart=/opt/odoo/venv/bin/python3 /opt/odoo/odoo-bin -c /etc/odoo/odoo.conf
Restart=on-failure[Install]
WantedBy=multi-user.target
5.3 启动Odoo服务

启动并启用Odoo服务:

sudo systemctl daemon-reload
sudo systemctl start odoo
sudo systemctl enable odoo

检查服务状态:

sudo systemctl status odoo

6. 访问Odoo

6.1 开放防火墙端口

允许外部访问Odoo的HTTP端口(默认8069):

sudo firewall-cmd --zone=public --add-port=8069/tcp --permanent
sudo firewall-cmd --reload
6.2 访问Odoo

在浏览器中访问:

http://<your-server-ip>:8069
6.3 初始化Odoo
  1. 创建数据库。
  2. 设置管理员账号和密码。
  3. 选择安装模块(如销售、库存、财务等)。

7. 优化与维护

7.1 配置Nginx反向代理(可选)

使用Nginx作为反向代理,提供HTTPS支持:

sudo dnf install -y nginx
sudo nano /etc/nginx/conf.d/odoo.conf

添加以下内容:

server {listen 80;server_name your_domain.com;location / {proxy_pass http://127.0.0.1:8069;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}
}

重启Nginx:

sudo systemctl restart nginx
7.2 定期备份

定期备份数据库和Odoo数据目录:

sudo -u postgres pg_dump odoo > /backup/odoo_db_$(date +%F).sql
sudo tar -czvf /backup/odoo_data_$(date +%F).tar.gz /var/lib/odoo

8. 常见问题排查

  • 数据库连接失败:检查PostgreSQL服务是否运行,以及odoo.conf中的数据库配置是否正确。
  • 权限问题:确保Odoo用户对相关目录有读写权限。
  • 日志查看:查看/var/log/odoo/odoo.log以获取错误信息。

总结

通过以上步骤,你可以在OpenEuler上成功部署Odoo,为小企业提供一个功能强大的ERP系统。根据企业需求,你可以进一步扩展和优化系统,例如:

  • 安装更多Odoo模块。
  • 配置HTTPS和域名。
  • 集成企业现有系统。

如果有更具体的需求或问题,可以进一步讨论!


http://www.ppmy.cn/ops/157335.html

相关文章

log4j2日志配置文件

log4j2配置文件每个项目都会用到,记录一个比较好用的配置文件,方便以后使用时调取,日志输出级别为debug,也可以修改 <?xml version"1.0" encoding"UTF-8"?> <Configuration monitorInterval"180" packages""><prope…

Chrome谷歌多开教程:实用方法与工具

不管是电子商务、技术测试、空投等不同专业领域&#xff0c;还是个人的工作和生活账号管理&#xff0c;使用不同的独立账户往往需要借助Chrome谷歌浏览器多开来提高效率。Chrome谷歌多开有哪些方法和工具&#xff1f;可以来参考以下实用内容。 一、Chrome谷歌多开方法与工具 1…

matlab simulink 模拟光伏电池板在不同光照下的输出功率曲线

1、内容简介 略 matlab simulink 112-模拟光伏电池板在不同光照下的输出功率曲线可以交流、咨询、答疑 2、内容说明 略 3、仿真分析 略 4、参考论文 略

Spring AI -使用Spring快速开发ChatGPT应用

前言 Spring在Java生态中一直占据大半江山。最近我发现Spring社区推出了一个Spring AI项目&#xff0c;目前该项目还属于Spring实验性项目&#xff0c;但是我们可以通过该项目&#xff0c;可以非常快速的开发出GPT对话应用。 本篇文章将会对SpringAI进行简单的介绍和使用&#…

嵌入式硬件篇---OpenMV基本使用自动增益\曝光\白平衡

文章目录 前言第一部分:基本使用摄像头初始化设置彩色&#xff0f;黑白图像设置图像大小跳过一些帧获取一张图像 第二部分:自动增益&#xff0f;白平衡&#xff0f;曝光1. 自动增益&#xff08;Auto Gain&#xff09;作用相关函数使用场景 2. 自动曝光&#xff08;Auto Exposur…

基于单片机的浴室防雾镜系统设计

1系统方案设计 浴室防雾镜是一种特殊的镜子&#xff0c;在浴室中使用时不会起雾&#xff0c;通过对其需要展开分析&#xff0c;本设计基于51单片机设计的浴室防雾镜的系统架构如图2.1所示&#xff0c;采用了DS18B20温度传感器和人体红外感应红外传感器进行智能控制&#xff0c;…

前端数据上报方法方式

上报数据的时机 页面加载时 此时进行数据上报&#xff0c;只需要在页面 load 时上报即可。 window.addEventListener(load, reportData, false);页面卸载或页面刷新时 此时进行数据上报&#xff0c;只需要在页面 beforeunload 时上报即可。 window.addEventListener(befor…

【开源免费】基于SpringBoot+Vue.JS公寓报修管理系统(JAVA毕业设计)

本文项目编号 T 186 &#xff0c;文末自助获取源码 \color{red}{T186&#xff0c;文末自助获取源码} T186&#xff0c;文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…