企业一站式管理系统odoo的研究——系统搭建

大纲

  • 1. 环境准备
    • 1.1 安装操作系统
    • 1.2 更新操作系统
    • 1.3 配置用户组和用户
      • 1.3.1 创建用户组 odoo
      • 1.3.2. 创建用户 odoo
      • 1.3.3. 设置用户 odoo 的密码
      • 1.3.4. 验证用户和组
      • 1.3.5. 将用户 odoo 添加到添加sudo组:
      • 1.3.6. 切到odoo用户
  • 2. 安装 Odoo
    • 1. 安装依赖项目
    • 2.2. 安装和配置PostgreSQL数据库
    • 2.3. 下载Odoo源码
    • 2.4. 创建和激活虚拟环境
    • 2.5. 修改依赖文件
  • 3. 配置 Odoo
  • 4. 配置Odoo为系统服务
  • 5. 启动服务
  • 6. 登录系统
  • 参考资料

Odoo 是一款功能强大、开源的企业资源规划(ERP)和客户关系管理(CRM)软件套件,为企业提供了全面的业务管理解决方案。

从功能角度来看,Odoo 涵盖了广泛的业务领域。
销售管理方面,它支持销售订单处理、报价管理、客户跟进以及销售数据分析,帮助企业优化销售流程、提高销售效率和精准度。
对于库存管理,能够实时监控库存水平、管理货物进出库、进行库存盘点和预测,确保企业库存的合理配置,减少库存积压和缺货情况。
财务管理上,Odoo 具备会计核算、财务报表生成、预算管理、成本控制等功能,为企业提供准确的财务数据和分析,助力财务决策。
此外,还包括采购管理、生产管理、项目管理、人力资源管理等多个模块,形成了一个完整的企业业务管理生态系统。

在这里插入图片描述

Odoo 的优势众多。其开源性质使得企业可以根据自身需求对软件进行定制化开发,无论是添加特定功能还是修改现有模块,都具有很高的灵活性。同时,拥有丰富的插件和应用市场,企业可以轻松找到适合自己行业和业务场景的扩展功能。而且,Odoo 具有用户友好的界面,操作相对简单,新用户能够快速上手,降低了企业员工的培训成本。

从技术层面讲,Odoo 采用了先进的 Web 技术,支持多平台使用,无论是在桌面端还是移动端,都能为用户提供流畅的使用体验。它使用 Python 语言开发,具备良好的可扩展性和性能,并且有完善的数据库架构来存储和管理企业数据。

在企业应用场景中,Odoo 适用于各种规模和行业的企业。无论是小型创业公司希望通过一个集成化的系统来管理业务,还是大型企业需要整合多个部门的业务流程,Odoo 都能发挥重要作用,帮助企业实现数字化转型,提升整体竞争力。

1. 环境准备

我们将使用WSL技术,先搭建一个装有Ubuntu22的操作系统。更详细的资料可以参考具体使用参考《Windows Subsystem for Linux——安装和使用》。

1.1 安装操作系统

使用管理员权限打开PowerShell,执行下面命令

wsl --install Ubuntu-22.04

设置完用户名和密码后进入系统。

1.2 更新操作系统

sudo apt update
sudo apt upgrade -y

1.3 配置用户组和用户

1.3.1 创建用户组 odoo

首先,使用 groupadd 命令创建一个用户组 odoo:

sudo groupadd odoo

1.3.2. 创建用户 odoo

接下来,使用 useradd 命令创建一个用户 odoo,并将其添加到 odoo 组中:

sudo useradd -m -g odoo -s /bin/bash odoo

1.3.3. 设置用户 odoo 的密码

使用 passwd 命令为用户 odoo 设置密码:

sudo passwd odoo

系统会提示你输入并确认新密码。

1.3.4. 验证用户和组

你可以使用 id 命令来验证用户和组的创建:

id odoo

输出应类似于:

uid=1001(odoo) gid=1001(odoo) groups=1001(odoo)

1.3.5. 将用户 odoo 添加到添加sudo组:

sudo usermod -aG sudo odoo

1.3.6. 切到odoo用户

su odoo
cd ~

2. 安装 Odoo

1. 安装依赖项目

sudo apt install -y git python3 python3-pip build-essential wget python3-dev libxml2-dev libxslt1-dev zlib1g-dev libsasl2-dev libldap2-dev libssl-dev libffi-dev libjpeg-dev libpq-dev libjpeg8-dev liblcms2-dev libblas-dev libatlas-base-dev -y

2.2. 安装和配置PostgreSQL数据库

安装PostgreSQL数据库:

sudo apt install postgresql -y

在PostgreSQL命令行中设置密码:

sudo -u postgres psql

在PostgreSQL命令行中设置密码(我设置的是odoopwd,后面会用到):

ALTER USER odoo WITH PASSWORD 'odoopwd'
\q

2.3. 下载Odoo源码

从GitHub下载Odoo源码:

git clone https://www.github.com/odoo/odoo --depth 1 --branch 18.0 --single-branch
cd odoo/

2.4. 创建和激活虚拟环境

创建并激活Python虚拟环境:

sudo apt install -y python3-venv
python3 -m venv odoo-venv
source odoo-venv/bin/activate

2.5. 修改依赖文件

因为默认requirements.txt文件中gevent、greenlet相关版本会报错,所以我们需要对这个文件进行修改。

找到gevent和greenlet,注释掉之前的内容。并填入

gevent24.11.1
greenlet
3.1.1

如图
在这里插入图片描述

3. 配置 Odoo

编辑 Odoo 的配置文件,配置数据库连接和其他设置。
我们不在代码库中直接修改,而是将其拷贝到 /etc/odoo目录下。

sudo mkdir /etc/odoo
sudo cp debian/odoo.conf /etc/odoo/odoo.conf
sudo vim /etc/odoo/odoo.conf

编辑配置文件时,主要将db_password为修改之前创建的数据库的密码(之前我们创建数据库时的用户名已经是odoo了)

在这里插入图片描述

4. 配置Odoo为系统服务

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

填入以下内容(/home/odoo/是之前创建的odoo用户的用户目录;/home/odoo/odoo是odoo代码库文件所在目录)

[Unit]
Description=Odoo
Documentation=http://www.odoo.com
[Service]                                                                                                              
# Ubuntu/Debian convention:
Type=simple                                                                                                             
User=odoo                                                                                                               
ExecStart=/home/odoo/odoo/odoo-venv/bin/python3 /home/odoo/odoo/odoo-bin -c /etc/odoo/odoo.conf
[Install]
WantedBy=default.target  

5. 启动服务

可以直接通过bin启动

./odoo-bin -c /etc/odoo/odoo.conf

或者通过service启动

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

打开http://localhost:8069,可以看到页面
在这里插入图片描述
我们创建数据库(odoodb)和登录用户信息(Email和Password)
在这里插入图片描述

6. 登录系统

输入上一步填写的用户邮箱和密码
在这里插入图片描述
便可以看到如下界面
请添加图片描述

参考资料

  • https://www.odoo.com/zh_CN

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/886052.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

今天给在家介绍一篇基于jsp的旅游网站设计与实现

项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下,你想解决的问…

SMA-BP基于黏菌算法优化BP神经网络时间序列预测

项目源码获取方式见文章末尾! 600多个深度学习项目资料,快来加入社群一起学习吧。 《------往期经典推荐------》 项目名称 1.【基于CNN-RNN的影像报告生成】 2.【卫星图像道路检测DeepLabV3Plus模型】 3.【GAN模型实现二次元头像生成】 4.【CNN模型实现…

vue3+ts+antd 运行报错 convertLegacyToken is not a function

以上代码报错 在github上看到有将 const v3Token convertLegacyToken(mapToken); 改成 const v3Token convertLegacyToken.default(mapToken);运行时就不报错了 但是到了打包的时候还是报错 但是ctrl点击convertLegacyToken能够正常跳转过去 于是我打印convertLegacyToken 发…

StarRocks Summit Asia 2024 全部议程公布!

随着企业数字化转型深入,云原生架构正成为湖仓部署的新标准。弹性扩展、资源隔离、成本优化,帮助企业在云上获得了更高的灵活性和效率。与此同时,云原生架构也为湖仓与 AI 的深度融合奠定了基础。 在过去一年,湖仓技术与 AI 的结…

HTML之列表学习记录

练习题&#xff1a; 图所示为一个问卷调查网页&#xff0c;请制作出来。要求&#xff1a;大标题用h1标签&#xff1b;小题目用h3标签&#xff1b;前两个问题使用有序列表&#xff1b;最后一个问题使用无序列表。 代码&#xff1a; <!DOCTYPE html> <html> <he…

掌控板micropython编程实现网页实时显示板载光线传感器的值

掌控板micropython编程实现网页实时显示板载光线传感器的值 一、AJAX简介 AJAX&#xff08;Asynchronous JavaScript and XML&#xff09;是一种在无需重新加载整个页面的情况下&#xff0c;能够更新部分网页内容的技术。它允许Web页面与服务器进行异步数据交换&#xff0c;这…

Linux 常用操作指令大揭秘(下)

&#x1f31f;快来参与讨论&#x1f4ac;&#xff0c;点赞&#x1f44d;、收藏⭐、分享&#x1f4e4;&#xff0c;共创活力社区。 &#x1f31f; &#x1f6a9;用通俗易懂且不失专业性的文字&#xff0c;讲解计算机领域那些看似枯燥的知识点&#x1f6a9; 目录 &#x1f4af;…

Spring源码(十二):Spring MVC之Spring Boot

本篇将详细讨论Spring Boot 的启动/加载、处理请求的具体流程。我们先从一个简单的Spring Boot项目日志开始分析&#xff08;这里假设读者已经仔细阅读完了前面的文章&#xff0c;且对Spring源码有一定深度的了解&#xff0c;否则会看得一脸懵逼&#xff09;。 本文为2024重置…

【C语言刷力扣】13.罗马数字转整数

题目&#xff1a; 解题思路: 倒序遍历&#xff0c;若当前字符代表的数字比上一字符代表的数字小&#xff0c;即减去当前字符数字。 时间复杂度&#xff1a; 空间复杂度&#xff1a; int romanToInt(char* s) {int ans 0;int low 0;int num[26];num[I - A] 1;num[V - A]…

【Unity Bug 随记】unity version control 报 xx is not in a workspace.

可能原因是更改了仓库或者项目名称。 解决办法就是重置Unity Version Control&#xff0c;去Hub disconnect 然后重新connect cloud和UVC UVC可能连不上&#xff0c;直接进入项目就行&#xff0c;打开版本管理标签会让你重新连工作区&#xff0c;选择你的仓库和工作区 然后In…

springboot读取modbus数据

1、引入依赖 jlibmodbus <dependency><groupId>com.intelligt.modbus</groupId><artifactId>jlibmodbus</artifactId><version>1.2.9.7</version> </dependency> 2、数据获取 public String processData(String ip) {tr…

LabVIEW中坐标排序与旋转 参见附件snippet程序

LabVIEW中坐标排序与旋转 参见附件snippet程序LabVIEW中坐标排序与旋转 参见附件snippet程序 - 北京瀚文网星科技有限公司 在LabVIEW中处理坐标排序的过程&#xff0c;尤其是按顺时针或逆时针排列坐标点&#xff0c;常见的应用包括处理几何形状、路径规划等任务。下面我将为您…

51单片机应用开发(进阶)---定时器应用(电子时钟)

实现目标 1、巩固定时器的配置流程&#xff1b; 2、掌握按键、数码管与定时器配合使用&#xff1b; 3、功能1&#xff1a;&#xff08;1&#xff09;简单显示时间。显示格式&#xff1a;88-88-88&#xff08;时-分-秒&#xff09; 4、功能2&#xff1a;&#xff08;1&#…

FPGA实现PCIE采集电脑端视频转SFP光口万兆UDP输出,基于XDMA+GTX架构,提供2套工程源码和技术支持

目录 1、前言工程概述免责声明 2、相关方案推荐我已有的PCIE方案10G Ethernet Subsystem实现万兆以太网物理层方案 3、PCIE基础知识扫描4、工程详细设计方案工程设计原理框图电脑端视频PCIE视频采集QT上位机XDMA配置及使用XDMA中断模块FDMA图像缓存UDP视频组包发送UDP协议栈MAC…

使用 unicorn 和 capstone 库来模拟 ARM Thumb 指令的执行(一)

import binascii import unicorn import capstonedef printArm32Regs(mu):for i in range(66,78):print("R%d,value:%x"%(i-66,mu.reg_read(i)))def testhumb():CODE b\x1C\x00\x0A\x46\x1E\x00"""MOV R3, R0 的机器码&#xff1a;0x1C 0x00&#xf…

git重置的四种类型(Git Reset)

git区域概念 1.工作区:IDEA中红色显示文件为工作区中的文件 (还未使用git add命令加入暂存区) 2.暂存区:IDEA中绿色(本次还未提交的新增的文件显示为绿色)或者蓝色(本次修改的之前版本提交的文件但本次还未提交的文件显示为蓝色)显示的文件为暂存区中的文件&#xff08;使用了…

第三十一天|贪心算法| 56. 合并区间,738.单调递增的数字 , 968.监控二叉树

目录 56. 合并区间 方法1&#xff1a;fff 看方法2&#xff1a;fff优化版 方法3&#xff1a; 738.单调递增的数字 968.监控二叉树&#xff08;贪心二叉树&#xff09; 56. 合并区间 判断重叠区间问题&#xff0c;与452和435是一个套路 方法1&#xff1a;fff 看方法2&am…

LeetCode 热题100(八)【二叉树】(3)

目录 8.11二叉树展开为链表&#xff08;中等&#xff09; 8.12从前序与中序遍历序列构造二叉树&#xff08;中等&#xff09; 8.13路径总和III&#xff08;中等&#xff09; 8.14二叉树的最近公共祖先&#xff08;中等&#xff09; 8.15二叉树中的最大路径和&#xff08;困…

AutoSAR CP DoIP规范导读

主要功能和用途 诊断通信协议实现 遵循标准&#xff1a;遵循ISO 13400 - 2标准&#xff0c;实现了诊断通信在IP网络上的传输协议和网络层服务&#xff0c;包括数据封装、传输、路由等功能。 多种消息支持 车辆识别与公告&#xff1a;能够进行车辆识别请求和响应&#xff0c;…

Simulink中Matlab function使用全局变量

目录 一. 引言二. 普通Matlab function使用全局变量三. Simulink中的Matlab function使用全局变量四. 如何利用Matlab function的全局变量施加随机噪声 一. 引言 最近发现了之前仿真中的一个问题&#xff0c;记录一下备忘。 Matlab function中有时候需要用到全局变量&#xf…