ubuntu源码安装Odoo

序言:时间是我们最宝贵的财富,珍惜手上的每个时分

        Odoo具有非常多的安装方式,除了我最爱用的 apt-get install,我们还可以使用git拉取Odoo源码进行安装。

        本次示例于ubuntu20.04 Desktop上进行操作,理论上在ubuntu14.04之后都可以用此操作。

目录

1.准备工作

1.1更换国内源

1.2更新软件包

1.3添加odoo用户

1.4安装git

1.5安装npm

1.6安装python

1.7安装postgres

2.安装Odoo

2.1克隆代码

2.2下载Odoo的python依赖

2.3 Odoo.conf设置

2.4尝试启动Odoo

2.5 odoo.service


1.准备工作

        正式安装Odoo前,我们需要做如下准备工作

1.1更换国内源

        将apt源换成阿里云(其他的国内源也行)

vi /etc/apt/sources.list将文件内容替换为:
eb http://mirrors.aliyun.com/ubuntu/ focal main restricted
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted
deb http://mirrors.aliyun.com/ubuntu/ focal universe
deb http://mirrors.aliyun.com/ubuntu/ focal-updates universe
deb http://mirrors.aliyun.com/ubuntu/ focal multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted
deb http://mirrors.aliyun.com/ubuntu/ focal-security universe
deb http://mirrors.aliyun.com/ubuntu/ focal-security multiverse

替换后的样子

1.2更新软件包

        输入以下内容即可

apt-get update

         1.3添加odoo用户

        我们需要一个专门的odoo用户,运行odoo服务(虽然我很想在root下运行,但是由于postgres的安全原因,是不允许的,实际上我们可以直接在postgres用户下运行,但是不推荐)

        输入如下命令即可新建odoo用户

adduser odoo

        依据提示输入所有内容

           用户新建成功后,需要修改权限

vi /etc/sudoers  修改odoo用户权限

        新增odoo为sudoer

 1.4安装git

        输入如下命令安装git

sudo apt-get install git

1.5安装npm

输入如下命令安装npm

sudo apt-get install -y npm

1.6安装python

输入如下命令安装python

sudo apt-get install -y python3-pip

        需要注意的是odoo与python对应的版本

1.7安装postgres

        运行如下命令安装postgres

sudo apt-get install -y postgresql

        安装完成后还需要新建postgres 的odoo数据库用户

su postgres  #	切换到postgres
psql #进入数据库的shell
create_role odoo superuser login password '123456';  #创建数据的 odoo用户,密码是123456

输入完成后回车,看到 CREATE ROLE 字样 即为数据库用户创建成功 。

2.安装Odoo

        做完如上操作,我们终于可以开始安装Odoo了。

2.1克隆代码

        进入odoo主目录(你可以选择任意目录)

cd /home/odoo

        选择你想要的版本进行克隆,此处是odoo16,也可以改为odoo17 或者 odoo15。按自己需要操作即可

git clone https://github.com/odoo/odoo.git odoo16 -b 16.0 --depth=1

       2.2下载Odoo的python依赖

        进入git 克隆下来的odoo目录,当前示范的目录是 /home/odoo/odoo16,该目录下有requirement.txt文件,输入如下指令一键安装依赖。

pip3 install -r requirements.txt -i https://pypi.doubanio.com/simple //一键安装odoo依赖包

如果一键安装依赖报错,尝试手动升级pip 或者手动安装python库

pip install --upgrade pip
sudo apt-get install libpq-dev
sudo apt-get install libldap2-dev libsasl2-dev
sudo apt-get install libpq-dev
sudo apt-get install libpq-dev

2.3 Odoo.conf设置

        在/home/odoo/odoo16文件夹下新建一个odoo.conf文件

        注意:db_password 为 安装postgres时创建的odoo用户的password

2.4尝试启动Odoo

cd /home/odoo/odoo16
python3 odoo-bin  -c odoo.conf#启动odoo

        如果一切正常,可以在控制台上看到如下界面

              

        浏览器访问localhost:8069,也可以看到内容。

2.5 odoo.service

        如果运行成功,我们还需最后一步:创建 odoo.service,方便操作与运行。

        创建一个名为odoo.service的文件,将其放在/etc/systemd/system/目录下

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

        文件内容

[Unit]
Description=Odoo Service
After=network.target[Service]
User=odoo
Group=odoo
WorkingDirectory=/home/odoo/odoo16
ExecStart=/home/odoo/odoo16/odoo-bin -c /home/odoo/odoo16/odoo.conf
Restart=always[Install]
WantedBy=multi-user.target

        注意:Odoo文件夹的位置不要写错了

        继续输入如下内容,将odoo服务加入系统

sudo systemctl daemon-reload
sudo systemctl enable odoo.service

干完如上内容后,可以使用以下命令来启动、停止或重启Odoo服务

sudo service odoo startsudo service odoo stopsudo service odoo restart

完结,撒花

qq:543127346 (穆尘)

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

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

相关文章

OpenWrt 配置 Tailscale 内网穿透

前言 Openwrt 安装 zerotier 内网穿透. Tailscale 在 OpenWrt 下配置教程参考 GXNAS 博客 的 OpenWrt安装Tailscale设置内网穿透科学出国外网互访局域网设备。啥都不会难搞 的 【傻呱呱】OpenWrt安装Tailscale。阿髙 的 openwrt设置开机自启 tailscale为例。 Tailscale 安…

TensorFlow 1.12函数和注释

TensorFlow 1.12 包含大量的函数和类,覆盖了从基础数学操作到复杂的神经网络层构建的各种功能。列举出部分函数并进行注释。 基础张量操作 tf.add: 张量加法。tf.subtract: 张量减法。tf.multiply: 张量乘法。tf.div: 张量除法。tf.mod: 张量取模。tf.pow: 张量幂…

【算法】一致性哈希

一、引言 在分布式系统中,数据存储和访问的均匀性、高可用性以及可扩展性一直是核心问题。一致性哈希算法(Consistent Hashing)是一种分布式算法,因其出色的分布式数据存储特性,被广泛应用于缓存、负载均衡、数据库分片…

AI大模型微调训练营-总结

文章目录 AI大模型微调训练营-总结课程总结大模型开发环境搭建(Windows10CUDA12.4T4TorchTransformer)1、安装CUDA2、安装ffmpeg3、安装Anaconda4、安装Torch和Transformer4.1、参考资料4.2、具体安装步骤 AI大模型微调训练营-总结 课程总结 历经2个月,终于初步完…

在浏览器中测试JavaScript代码方法简要介绍

在浏览器中测试JavaScript代码方法简要介绍 在浏览器中测试JavaScript代码是前端开发中的一个重要技能。方法如下: 1. 浏览器控制台 最简单和直接的方法是使用浏览器的开发者工具中的控制台(Console)。 步骤: 在大多数浏览器…

【CAPL】CAPL 常用语法介绍

CAPL 有 *.can 和 *.cin 两种文件格式;一般.can 文件中写testcase及MainTest(),而.cin文件中写供.can调用的接口方法和变量等,其结构类似于 C 语言中的.c和.h文件 一个大致的结构如下: // Test.cin includes{} variables{int x…

iOS ------ weak的基本原理

1.weak的基本概念 weak弱引用,所引用的对象的引用计数不会加一,引用对象被释放的时候会自动设置为nil多用于解决对象间的相互引用造成内存泄露的循环引用的问题 2.实现原理 Person *object [[Person alloc] init]; id __weak objc object;Runtime维…

Redis 7.x 系列【26】集群模式动态扩容、动态缩容

有道无术,术尚可求,有术无道,止于术。 本系列Redis 版本 7.2.5 源码地址:https://gitee.com/pearl-organization/study-redis-demo 文章目录 1. 动态扩容1.1 安装、启动1.2 加入新节点1.3 分配哈希槽1.4 加入从节点 2. 缩容2.1 删…

护眼灯和普通台灯有什么区别?解密护眼灯行业常见的四大选购套路

护眼灯和普通台灯有什么区别?随着护眼台灯的普及,市场上涌现了许多新兴品牌。然而,并非所有品牌都具备专业的技术研发实力。因此,网络上关于护眼台灯的各种问题也日益增多,如耐磨性差、耐高温性不足,甚至可…

python实现图像缩放算法

图像缩放算法 1.最近邻插值图像缩放算法详解算法步骤Python 实现详细解释 优缺点2.双线性插值图像缩放算法详解算法步骤Python 实现详细解释 优缺点3.双三次插值图像缩放算法详解算法步骤Python 实现详细解释 优缺点 1.最近邻插值图像缩放算法详解 最近邻插值(Near…

go-kratos 学习笔记(4) 服务注册与发现 nacos注册

接口实现​ Registry 接口分为两个,Registrar 为实例注册和反注册,Discovery 为服务实例列表获取 type Registrar interface {// 注册实例Register(ctx context.Context, service *ServiceInstance) error// 反注册实例Deregister(ctx context.Context…

ubuntu系统vscode调试c/c++大中型项目

文章目录 1. 插件2. 项目工程3. vsode的配置setting.jsonc_cpp_properties.json 4. 启动调试 前置阅读 vscode调试第一篇 1. 插件 c/c, cmake, cmake tools 2. 项目工程 对于我的项目需要用到很多的三方库,三方库的版本又会有很多,一般都是用cmake编译…

objdump命令的常见用法

objdump命令的常见用法 1 objdump简介1.1 简介1.2 主要功能 2 objdump命令3 objdump测试程序3.1 C语言测试程序3.2 编译方法 4 objdump命令解释和演示4.1 objdump -d4.2 objdump -a4.3 objdump -f4.4 objdump -p4.5 objdump -D4.6 objdump -S4.7 objdump -s4.8 objdump -t4.9 o…

QT写一个mainWindow

切换风格的写法&#xff1a; 先看看样式效果&#xff1a; mian_window.h文件 #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow>class MainWindow : public QMainWindow {Q_OBJECTpublic:MainWindow(QWidget *parent nullptr);~MainWindow();void Ini…

对比预测编码表示学习

对比预测编码表示学习 引言 文章主要提出如下几点&#xff1a;首先将高维数据压缩到更加紧凑的潜在嵌入&#xff08;latent embdding&#xff09;空间&#xff0c;在这个空间中条件预测更容易被建模。第二&#xff0c;在这个潜在空间中使用自回归模型&#xff0c;以对未来的多…

Sphinx 安装相关指令解释

安装指令 pip3 install sphinx-autobuildpip3 install sphinx_rtd_themepip3 install sphinx_markdown_tablepip3 install sphinx_markdown_tables pip3 install sphinx-autobuild 功能&#xff1a;安装 sphinx-autobuild 包。作用&#xff1a;sphinx-autobuild 是一个工具&am…

DC系列靶场---DC 2靶场的渗透测试(一)

信息收集 Nmap扫描 nmap -sV -p- -sC -T4 172.30.1.141 域名解析 echo 172.30.1.141 dc-2 >> /etc/hosts 目录枚举 gobuster dir -u http://172.30.1.141 -w work/lab/CTF/ATT_CK_01/SecLists-master/Discovery/Web-Content/big.txt -x .php,.rar,.html,.zip -t 20 -b…

探索XEX数字资产交易的优势与操作指南

随着数字资产市场的快速发展&#xff0c;越来越多的投资者开始关注并参与其中。XEX交易所作为一个新兴的数字资产交易平台&#xff0c;以其用户友好的界面和高效的交易服务&#xff0c;迅速吸引了大量用户。本文将介绍XEX数字资产交易的主要特点和优势&#xff0c;帮助新手更好…

物联网在电力行业的应用

作者主页: 知孤云出岫 这里写目录标题 作者主页:物联网在电力行业的应用简介主要应用领域代码案例分析1. 智能电表数据采集和分析2. 设备监控和预测性维护3. 能耗管理和优化4. 电力负载预测5. 分布式能源管理6. 电动汽车充电管理7. 电网安全与故障检测 物联网在电力行业的应用…

python+onlyoffice+vue3项目实战20240722笔记,环境搭建和前后端基础代码

开发后端 先创建data目录,然后在data目录下创建一个test.docx测试文档。 后端代码: import json import req import api from api import middleware, PlainTextResponseasync def doc_callback(request):data = await api.req.get_json(request)print("callback ==…