# huaweicloud-solution-build-an-ERP-based-on-odoo **Repository Path**: HuaweiCloudDeveloper/huaweicloud-solution-build-an-erp-based-on-odoo ## Basic Information - **Project Name**: huaweicloud-solution-build-an-ERP-based-on-odoo - **Description**: 该解决方案可以帮助用户在华为云上基于开源Odoo 软件快速构建高可用架构的ERP系统,该方案具备跨可用区及流量分发的特性,并具备跨可用区故障容灾的能力,满足公司绝大多数应用需求。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master-dev - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 1 - **Created**: 2022-07-14 - **Last Updated**: 2024-02-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README [TOC] **解决方案介绍** =============== 该解决方案可以帮助用户在华为云上基于开源Odoo 软件快速构建ERP系统。Odoo是全球流行的开源企业管理套件,其功能涵盖了CRM、销售、采购、库存管理、生产制造、质量管理、HR全功能、财务管理、项目管理、PLM等一系列完善的企业信息化需求。 解决方案实践详情页面地址:https://www.huaweicloud.com/solution/implementations/build-an-erp-based-on-odoo.html **架构图** --------------- ![架构图](./document/build-an-ERP-based-on-odoo.png) **架构描述** --------------- 该解决方案将会部署如下资源: 单机版: - 创建弹性云服务器,用于部署开源Odoo软件。 - 创建弹性公网IP EIP,用于提供访问公网和被公网访问能力。 - 创建云数据库RDS for PostgreSQL,提供业务数据读写能力。 高可用版: - 创建三个弹性公网IP EIP,用于提供访问公网和被公网访问的能力。 - 创建两台弹性云服务器 ECS,分别绑定弹性公网IP,跨可用区部署,用于部署开源Odoo软件。 - 部署一个弹性负载均衡 ELB,绑定弹性公网IP,用于业务流量跨可用区进行分发。 - 创建一台云数据库 RDS for PostgreSQL实例(主备),提供业务数据读写的故障容灾能力。 - 创建一台分布式缓存服务Redis版(主备),用于存储会话数据,提高Web应用程序性能和可扩展性。 - 创建一个弹性文件服务 SFS,为高可用环境提供共享文件存储服务。 **组织结构** --------------- ``` lua huaweicloud-solution-build-build-an-ERP-based-on-odoo ├── build-an-ERP-based-on-odoo.tf.json -- 资源编排模板(单机版) ├── build-a-ha-ERP-based-on-odoo.tf.json -- 资源编排模板(高可用版) ├── userdata ├── install-odoo.sh -- 脚本配置文件(单机版) ├── install-ha-odoo.sh -- 脚本配置文件(高可用版) ``` **开始使用** --------------- **说明** * 有关odoo详细使用指导请参考 [odoo说明文档](https://www.odoo.com/zh_CN/page/docs) * 该解决方案默认使用的odoo版本:odoo15(单机版),odoo13(高可用版) * 该解决方案使用22端口用来远程登录弹性云服务器 ECS,默认对该方案创建的VPC子网网段放开,请参考[修改安全组规则](https://support.huaweicloud.com/usermanual-vpc/vpc_SecurityGroup_0005.html),配置IP地址白名单,以便能正常访问云服务器ECS * 该解决方案使用8069端口用来访问odoo,默认对该方案创建的VPC子网网段放开,请参考[修改安全组规则](https://support.huaweicloud.com/usermanual-vpc/vpc_SecurityGroup_0005.html),配置IP地址白名单,以便能正常访问odoo服务 * 涉及到的odoo业务端口如下: * 8069:访问odoo服务业务面端口 **安全组规则修改** 安全组实际是网络流量访问策略,包括网络流量入方向规则和出方向规则,通过这些规则为安全组内具有相同保护需求并且相互信任的云服务器、云容器、云数据库等实例提供安全保护。 如果您的实例关联的安全组策略无法满足使用需求,比如需要添加、修改、删除某个TCP端口,请参考以下内容进行修改。 * 添加安全组规则:根据业务使用需求需要开放某个TCP端口,请参考[添加安全组规则](https://support.huaweicloud.com/usermanual-vpc/zh-cn_topic_0030969470.html)添加入方向规则,打开指定的TCP端口。 * 修改安全组规则:安全组规则设置不当会造成严重的安全隐患。您可以参考[修改安全组规则](https://support.huaweicloud.com/usermanual-vpc/vpc_SecurityGroup_0005.html),来修改安全组中不合理的规则,保证云服务器等实例的网络安全。 * 删除安全组规则:当安全组规则入方向、出方向源地址/目的地址有变化时,或者不需要开放某个端口时,您可以参考[删除安全组规则](https://support.huaweicloud.com/usermanual-vpc/vpc_SecurityGroup_0006.html)进行安全组规则删除。 **释放弹性公网IP(只对于高可用版)** 1. 登录弹性云服务器控制台,选择一键部署时创建的odoo云服务器,分别单击绑定的弹性公网IP进入弹性公网IP EIP控制台,单击“解绑”,单击弹框中的“是”解绑EIP。 图1 odoo云服务器绑定的EIP ![odoo云服务器绑定的EIP](./document/readme-image-001.png) 图2 解绑EIP ![解绑EIP](./document/readme-image-002.png) 2. 单击弹性云服务弹性公网IP右侧“更多 -> 释放 -> 是”,释放弹性公网IP。 图3 释放弹性公网IP ![释放弹性公网IP](./document/readme-image-003.png) ***初始化Odoo页面*** 1. (可选)登录云数据库RDS控制台,查找刚创建的云数据库RDS,单击“登录”。 图4 登录RDS ![登录RDS](./document/readme-image-004.png) 2. (可选)输入云数据库RDS的用户名和密码,单击“测试连接”,连接成功后,单击“登录”。 图5 实例登录RDS ![实例登录RDS](./document/readme-image-005.png) 3. (可选)显示成功登陆RDS页面。 图6 成功登陆RDS页面 ![成功登陆RDS页面](./document/readme-image-006.png) 4. 在该方案堆栈部署完成后,等待约10-20分钟后,在创建的堆栈的“输出”标签页中,复制odoo服务访问地址,在浏览器输入访问:“http://IP地址:8069”。 图7 odoo服务的访问地址 ![odoo服务的访问地址](./document/readme-image-007.png) 5. 在odoo页面输入信息进行服务初始化。系统默认 Master Password为:my_admin_passwd,然后自定义填写数据库信息(该数据库为新建数据库),Email信息将作为后续重新登陆时的Email信息,请勿遗忘,最后单击“Create database”。 图8 odoo服务初始化 ![odoo服务初始化](./document/readme-image-008.png) 6. 进入odoo页面。 图9 进入odoo页面 ![进入odoo页面](./document/readme-image-009.png) 7. 登录云数据库RDS,验证查看数据库创建是否成功。 图10 查看新建的数据库 ![查看新建的数据库](./document/readme-image-010.png) 8. (可选)可在odoo页面进行模块安装,查看页面变化情况。 图11 模块安装 ![模块安装](./document/readme-image-011.png)