当前位置: 首页 > news >正文

如何搭建企业管理系统Odoo并远程访问管理界面【内网穿透】

文章目录

    • 前言
    • 1. 下载安装Odoo:
    • 2. 实现公网访问Odoo本地系统:
    • 3. 固定域名访问Odoo本地系统

前言

Odoo是全球流行的开源企业管理套件,是一个一站式全功能ERP及电商平台。

开源性质:Odoo是一个开源的ERP软件,这意味着企业可以自由选择部署方式(如云端或本地服务器),并根据自身需求进行定制开发。这为企业提供了更大的灵活性和控制权。

image-20231019105702504

​ 其功能涵盖了客户管理系统CRM、生产管理系统ERP、销售、采购、仓储管理系统WMS、MRP生产制造、内部即时通讯IM、条码追溯管理、质量管理系统QMS、HR全功能、财务管理、项目管理、制造执行系统MES、产品生命周期PLM、VOIP、电子商务E-Commerce、POS收银等一系列完善的企业信息化需求。

​ Odoo包含一站式的企业所需功能。

​ 销售管理:订单处理、报价、客户关系管理等。

​ 采购管理:供应商信息、采购订单跟踪等。

​ 库存管理:产品分类、库存控制及调拨等。

​ 生产制造:生产计划、工艺路线及成本分析等。

​ 财务会计:财务报表生成、税收处理及预算控制等。

​ Odoo有两个版本 - 企业版和社区版。两个版本都是开源的,企业版其实是在社区版上层增加了更多应用模块,两者核心是一致的,我们今天来使用免费的社区版来进行内网穿透,实现远程访问本地部署的odoo企业管理系统。

​ 当内网穿透软件cpolar映射生效后,在任意上网地方,都可以通过外网域名进行访问。让外网访问内网,主要原理方案是将内网地址变成外网地址,在目标内网操作设置添加内网IP端口映射成域名。在让外网访问前,先明确自己本地内网的具体内网地址端口协议信息,并确保在内网能够正常访问。

​ 本地搭建服务器,跨网互通互连,是网络应用场景常见需求。通过cpolar内网穿透软件,我们可以轻松实现将内网服务让外网远程访问。内网穿透的应用场景十分广泛,比如外网远程桌面连接内网计算机、nas的远程访问、个人博客的搭建、FTP文件共享、数据库跨网连接等等。

1. 下载安装Odoo:

官方首页:

odoo

image-20231018155038530

image-20231018155011050

安装包地址:

Index of /15.0/nightly/ (odoo.com)

本教程使用windows版本部署安装,作为演示:

image-20231018160411478

点击链接,下载安装包,开始安装:

image-20231018161319163

一路默认设置即可

image-20231018161329664

这里是数据库的端口,用户名等信息,需要截图保存。

image-20231018161359430

安装完毕后,点 finish,就会自动弹出localhost:8069 的本地页面:

扥路

点击创建数据库后,需要加载一会儿,请耐心等待

image-20231018171036254

注意,我的odoo默认打开端口为8069,我们之后会内网穿透这个端口,实现公网访问本地部署的ERP系统。

进入应用选择页面:

image-20231018164432895

能够正常打开进入crm系统:

image-20231018164938402

image-20231018170256755

具体如何使用各个功能详见Odoo官网——文档手册,本教程主要解决如何在外地公网访问这套强大的企业管理系统。

image-20231018165247635

2. 实现公网访问Odoo本地系统:

首先,我们需要安装内网穿透软件cpolar

安装完毕后,打开[仪表盘 - Cpolar](http://localhost:9200/#/tunnels/list)

image-20231018170014366

image-20231018173510181

  • 隧道名称:可自定义,注意不要重复

  • 协议:http

  • 本地地址:8069 (odoo的 默认端口)

  • 域名类型:选择随机域名(免费)

  • 地区:Auto

    image-20231018173741947

复制这个公网地址:

image-20231018173810391

成功登陆:

image-20231018175000951

image-20231018175017668

这样我们实现了使用公网访问本地部署的开源ERP,但是免费版cpolar生成的是随机域名(24小时变化),接下来我们使用付费版将域名固定:

3. 固定域名访问Odoo本地系统

上面使用Cpolar建立的临时http数据隧道,连接上了Odoo。不过,此时还是随机临时http隧道,每隔24小时端口号就会发生变化。

如果想要让不同设备间的数据隧道长期稳定存在,我们还需要进一步的设置(由于固定TCP隧道会长期占用Cpolar服务器资源,因此不得不将此服务列入VIP项目中)。

要建立一条稳定的http数据隧道,我们首先要登录Cpolar官网,进入仪表台的预留界面

20230530092244

20230530092321

在预留界面中,找到 保留二级子域名 项目。在这个项目下,我们填入一些必要信息,如识别数据隧道的隧道名称、隧道使用区域等。

image-20231019100431906

在这些信息填入后,点击右侧的保留按钮,将Cpolar官网后台的隧道固定下来

复制填写的二级子域名:

image-20231019100501178

回到Cpolar webui界面:

image-20231019100552297

  • 隧道名称:可自定义,注意不要重复
  • 协议:http
  • 本地地址:8069 (网页的 默认端口)
  • 域名类型:二级子域名(需要升级至基础版套餐及以上)
  • sub domain:填刚刚在官网保留的二级域名
  • 地区:我这里选择的是美国,这里需要与官网保留界面选择的一致!

点击 更新 后, 到 状态——在线隧道列表

image-20231019102536412

再次查看在线隧道列表,发现localhost:8069隧道对应的公网地址变成了我们官网保留的固定二级子域名地址。

复制这个固定地址到浏览器:

image-20231019102717373

穿透成功!

image-20231019102914030

image-20231019104204291

这样我们就实现了将本地部署的开源免费版Odoo系统上云,企业员工们可以实现在家或在户外来访问在办公室主机上安装的Odoo。

相关文章:

如何搭建企业管理系统Odoo并远程访问管理界面【内网穿透】

文章目录 前言1. 下载安装Odoo:2. 实现公网访问Odoo本地系统:3. 固定域名访问Odoo本地系统 前言 Odoo是全球流行的开源企业管理套件,是一个一站式全功能ERP及电商平台。 开源性质:Odoo是一个开源的ERP软件,这意味着企…...

【Git】git常用问题汇总

1. gitlab如何打tag gitlab打tag的目的 git作为代码管理工具已经使用的越来越多了。而且一般开发人员在Dev分支下进行开发。但是当代码需要发布到测试环境时,需要将代码先合并到master,然后打个tag ,类似于SVN中tag处理。这样便于后期代码向…...

2024免费mac苹果电脑系统电脑管家CleanMyMac X

macOS已经成为最受欢迎的桌面操作系统之一,它提供了直观、简洁的用户界面,使用户可以轻松使用和管理系统。macOS拥有丰富的应用程序生态系统;还可以与其他苹果产品和服务紧密协作,如iPhone、iPad,用户可以通过iCloud同…...

ElasticSearch详细搭建以及常见错误high disk watermark [ES系列] - 第497篇

导读 历史文章(文章累计490) 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《国内最全的Spring Boot系列之三》 《国内最全的Spring Boot系列之四》 《国内最全的Spring Boot系列之五》 《国内最全的Spring Boot系列之六…...

ADB:获取坐标

命令: adb shell getevent | grep -e "0035" -e "0036" adb shell getevent -l | grep -e "0035" -e "0036" 这一条正确,但是,grep给过滤了,导致没有输出 getevent -c 10 //输出10条信息…...

关于“Python”的核心知识点整理大全27

目录 10.5 小结 第11 章 测试代码 11.1 测试函数 name_function.py 函数get_formatted_name()将名和姓合并成姓名,在名和姓之间加上一个空格,并将它们的 首字母都大写,再返回结果。为核实get_formatted_name()像期望的那样工…...

实验三 MapReduce编程

实验目的: 1.掌握MapReduce的基本编程流程; 2.掌握MapReduce序列化的使用; 实验内容: 一、在本地创建名为MapReduceTest的Maven工程,在pom.xml中引入相关依赖包,配置log4j.properties文件,搭…...

element组件库的日期选择器如何限制?

本次项目中涉及到根据日期查找出来的数据进行调整,所以修改的数据必须是查找范围内的数据.需要对调整数据的日期进行限制,效果如下: 首先我们使用了element 组件库的日期选择器,其中灌完介绍, picker-options中函数disabledDate可以设置禁用状态,代码如下: <el-date-pickerv…...

QSqlQueryModel

QSqlQueryModel 是 Qt 框架中的一个模型类&#xff0c;用于在 Qt 的视图组件&#xff08;如 QTableView、QListView&#xff09;中显示数据库查询结果。 QSqlQueryModel 继承自 QAbstractTableModel&#xff0c;它通过执行 SQL 查询并将结果存储在内部数据结构中&#xff0c;提…...

docker-compose介绍和用法

docker-compose介绍和用法详解 1、docker-compose介绍2、docker-compose build3、docker-compose down4、docker-compose up -d 1、docker-compose介绍 Docker Compose是一个用于快速配置多个Docker容器的工具。它是一个定义和运行多容器的Docker应用工具&#xff0c;通过YAML…...

Mac下ERROR: Cannot connect to the Docker daemon

解决Mac下ERROR: Cannot connect to the Docker daemon at unix:///Users/qq/.orbstack/run/docker.sock. Is the docker daemon running? 在Mac系统的中, 如果实际已经安装docker并且已经启动了. 但执行 docker info 时 报错: ERROR: Cannot connect to the Docker daemon …...

本地项目添加到gitlab命令操作

gitlab上面创建一个跟项目名同名的文件夹 创建文件夹&#xff0c;填写信息 添加readme文档&#xff0c;先保存下创建的文件夹 回到项目&#xff0c;复制项目的git 地址 然后进入到本地项目的文件夹&#xff0c;如d:/workspace/spring-demo&#xff0c;右键打开git bash弹框 命令…...

t-io 程序执行后,jvm不退出的原因

基于t-io 1.7.3 版本分析源码 1、设定当前时间&#xff0c;每10毫秒执行一次 (非守护线程) 2、对应线程池的核心线程在AioServer启动时全部激活&#xff0c;并且添加空任务到阻塞队列&#xff0c;让核心线程(非守护线程)一直存活...

Vue3使用Three.js导入gltf模型并解决模型为黑色的问题

背景 如今各类数字孪生场景对三维可视化的需求持续旺盛&#xff0c;因为它们可以用来创建数字化的双胞胎&#xff0c;即现实世界的物体或系统的数字化副本。这种技术在工业、建筑、医疗保健和物联网等领域有着广泛的应用&#xff0c;可以帮助人们更好地理解和管理现实世界的事…...

说一下 jvm 有哪些垃圾回收算法?

说一下 jvm 有哪些垃圾回收算法&#xff1f; 一.对象是否已死算法 1.引用计数器算法 2.可达性分析算法 二.GC算法 1.标记清除算法 如果对象被标记后进行清除&#xff0c;会带来一个新的问题–内存碎片化。如果下次有比较大的对象实例需要在堆上分配较大的内存空间时&#xff0…...

【23真题】一共10道题,押题卷5道!

哈喽大家好&#xff0c;现在这个时间节点&#xff0c;有很多同学开始刷真题了&#xff01;所以23真题系列正式启动&#xff01;小马哥将全面发布23真题及详细解析&#xff01; 小马哥Tips&#xff1a; 今天分享的是23年天津师范大学804的信号与系统试题及解析。这所院校一共出…...

JS的浅拷贝和深拷贝

首先理解什么是浅拷贝和深拷贝&#xff1a; 浅拷贝&#xff1a; 浅拷贝只会复制对象的第一层属性&#xff0c;而不会递归地复制嵌套的对象。浅拷贝仅复制对象的引用&#xff0c;新对象和原始对象仍然共享相同的引用&#xff0c;因此对新对象的修改可能会影响到原始对象。浅拷…...

天软特色因子看板 (2023.12 第12期)

该因子看板跟踪天软特色因子A06008(聪明钱因子(beta)&#xff0c;该因子为以分钟行情价量信息为基础&#xff0c;识别聪明钱交易&#xff0c;用以刻画机构交易行为 值越大&#xff0c;越反映其悲观情绪&#xff0c;反之&#xff0c;反映其乐观情绪。 今日为该因子跟踪第12期&am…...

【Logback技术专题】「入门到精通系列教程」深入探索Logback日志框架的原理分析和开发实战技术指南(上篇)

深入探索Logback日志框架的原理分析和开发实战指南系列 Logback日志框架Logback基本模块logback-corelogback-classiclogback-accessLogback的核心类LoggerAppenderLayoutLayout和Appender filterlogback模块和核心所属关系 Logbackj日志级别日志输出级别日志级别介绍 Logback的…...

vue3+element Plus 清空el-tree复选框选中项

前提问题&#xff1a;el-tree加了show-checkbox复选框属性后&#xff0c;在选择完复选框后切换&#xff0c;不会自动清空选中内容&#xff0c;要求在切换时清空复选框选中内容&#xff0c;解决过程&#xff1a;设置el-tree的ref值&#xff0c;使用setCheckedKeys方法可清空复选…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接&#xff1a;3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢&#xff0c;博主的学习进度也是步入了Java Mybatis 框架&#xff0c;目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学&#xff0c;希望能对大家有所帮助&#xff0c;也特别欢迎大家指点不足之处&#xff0c;小生很乐意接受正确的建议&…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢

随着互联网技术的飞速发展&#xff0c;消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁&#xff0c;不仅优化了客户体验&#xff0c;还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用&#xff0c;并…...

【项目实战】通过多模态+LangGraph实现PPT生成助手

PPT自动生成系统 基于LangGraph的PPT自动生成系统&#xff0c;可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析&#xff1a;自动解析Markdown文档结构PPT模板分析&#xff1a;分析PPT模板的布局和风格智能布局决策&#xff1a;匹配内容与合适的PPT布局自动…...

leetcodeSQL解题:3564. 季节性销售分析

leetcodeSQL解题&#xff1a;3564. 季节性销售分析 题目&#xff1a; 表&#xff1a;sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

算法岗面试经验分享-大模型篇

文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer &#xff08;1&#xff09;资源 论文&a…...

苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会

在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...

go 里面的指针

指针 在 Go 中&#xff0c;指针&#xff08;pointer&#xff09;是一个变量的内存地址&#xff0c;就像 C 语言那样&#xff1a; a : 10 p : &a // p 是一个指向 a 的指针 fmt.Println(*p) // 输出 10&#xff0c;通过指针解引用• &a 表示获取变量 a 的地址 p 表示…...

沙箱虚拟化技术虚拟机容器之间的关系详解

问题 沙箱、虚拟化、容器三者分开一一介绍的话我知道他们各自都是什么东西&#xff0c;但是如果把三者放在一起&#xff0c;它们之间到底什么关系&#xff1f;又有什么联系呢&#xff1f;我不是很明白&#xff01;&#xff01;&#xff01; 就比如说&#xff1a; 沙箱&#…...

uni-app学习笔记三十五--扩展组件的安装和使用

由于内置组件不能满足日常开发需要&#xff0c;uniapp官方也提供了众多的扩展组件供我们使用。由于不是内置组件&#xff0c;需要安装才能使用。 一、安装扩展插件 安装方法&#xff1a; 1.访问uniapp官方文档组件部分&#xff1a;组件使用的入门教程 | uni-app官网 点击左侧…...