基于华为openEuler部署EspoCRM开源客户关系管理平台【华为根技术】

举报
江湖有缘 发表于 2025/09/27 02:52:49 2025/09/27
【摘要】 基于华为openEuler部署EspoCRM开源客户关系管理平台【华为根技术】

前言


在数字化转型的浪潮中,客户关系管理(CRM)系统成为了企业提升竞争力的关键因素之一。EspoCRM作为一款开源的CRM解决方案,以其灵活性和强大的功能受到了广泛的关注。基于华为openEuler操作系统部署EspoCRM,不仅可以享受到openEuler提供的高性能、高安全性的运行环境,还能充分利用其对多硬件架构的支持,为企业构建一个稳定可靠的CRM平台。本文将详细介绍如何在openEuler上进行EspoCRM的部署与应用,帮助企业快速搭建起属于自己的客户关系管理系统。


一、相关服务介绍

1.1 openEuler系统介绍

  • 简介

openEuler是华为发起并主导的一个开源操作系统项目,它基于Linux内核开发,致力于为企业级应用提供安全、稳定、可靠的操作环境。自2019年正式开源以来,openEuler迅速吸引了全球众多开发者和技术爱好者的关注,并逐渐形成了一个活跃的开源社区。该系统不仅支持多种处理器架构(如x86、ARM等),而且通过持续的技术创新,在性能优化、安全性增强以及容器化支持等方面展现了显著的优势。

  • 主要特点
  • 开源性:openEuler遵循开源协议,允许任何个人或组织自由获取、使用、修改及分发系统代码,这极大地促进了技术创新与共享。
  • 高性能与稳定性:通过对Linux内核进行深度优化,openEuler能够提供出色的运行效率和稳定性,满足企业级应用场景的需求。
  • 安全性:提供了包括安全启动、数据加密在内的多重安全保障措施,确保用户数据的安全性。
  • 容器化支持:兼容Docker和Kubernetes等容器技术,便于开发者构建、部署和管理容器化应用。
  • 丰富的生态系统:拥有庞大的开发者社区和丰富的软件库,为用户提供广泛的软件支持和服务。

1.2 EspoCRM介绍

EspoCRM 简介:

EspoCRM 是一款免费开源的客户关系管理(CRM)平台,旨在帮助各规模企业高效管理客户信息、销售流程、营销活动及客户支持,提升客户关系维护能力。

主要特点:

  • 开源透明度:开放源代码,用户可审查数据处理机制,保障系统透明与安全。
  • 高度定制化:支持自定义实体、字段、关系和功能,灵活适配不同业务需求。
  • 简洁的用户界面:界面直观美观,操作简单,降低学习成本,提升使用效率。
  • REST API 集成:提供强大的 REST API,便于与第三方应用和服务无缝集成。
  • 社区支持:拥有活跃的开发者社区,提供持续的技术支持、插件扩展与版本更新。

二、本次实践介绍

2.1 本次实践介绍

1.本次实践环境为个人测试环境,生产环境请谨慎;
2.本次实践主要是在openEuler系统下部署EspoCRM开源客户关系管理平台审核平台。

2.2 本次环境规划

本次环境规划如下所示:

服务器 HostName IP地址 操作系统 内核版本 部署项目 备注
VM虚拟机 openEuler-server 192.168.3.83 openEuler 24.03 (LTS) 6.6.0-28.0.0.34.oe2403.x86_64 EspoCRM ——

三、本地环境检查

3.1 检查系统版本

检查当前系统版本,当前系统版本为openEuler 24.03 (LTS)

[root@openEuler-server ~]# cat /etc/os-release
NAME="openEuler"
VERSION="24.03 (LTS)"
ID="openEuler"
VERSION_ID="24.03"
PRETTY_NAME="openEuler 24.03 (LTS)"
ANSI_COLOR="0;31"

3.2 检查内核版本

检查当前内核版本,如下所示:

[root@openEuler-server ~]#  uname -r
6.6.0-28.0.0.34.oe2403.x86_64

3.3 检查本地IP

查看本地IP地址,本次实践本地IP设置为192.168.3.83/24

[root@openEuler-server ~]# ifconfig ens18
ens18: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.3.83  netmask 255.255.255.0  broadcast 192.168.3.255
        inet6 fe80::be24:11ff:feaa:bfa5  prefixlen 64  scopeid 0x20<link>
        ether bc:24:11:aa:bf:a5  txqueuelen 1000  (Ethernet)
        RX packets 1267  bytes 134016 (130.8 KiB)
        RX errors 0  dropped 64  overruns 0  frame 0
        TX packets 321  bytes 36697 (35.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

3.4 检查Docker环境

本次实践需要提前部署好Docker环境,检查Docker版本如下所示:

[root@openEuler-server ~]# docker -v
Docker version 26.1.3, build b72abbb

四、部署EspoCRM系统

4.1 下载EspoCRM镜像

拉取EspoCRM镜像,镜像名称及版本为:espocrm/espocrm:8.4.2-apache

docker  pull espocrm/espocrm:8.4.2-apache
docker pull mysql:8.0

在这里插入图片描述

4.2 创建EspoCRM容器

创建部署目录后,按如下方法设置目录权限。

mkdir -p /data/espocrm  && cd /data/espocrm 
 chmod -R 777 /data/espocrm/

本次实践采用 Docker Compose 方式进行部署,在部署目录下创建 docker-compose.yaml 文件,可根据实际需求自定义配置宿主机的端口映射等参数。

vim docker-compose.yaml
version: '3'

services:
  mysql:
    image: mysql:8.0
    container_name: espocrm-mysql
    environment:
      MYSQL_ROOT_PASSWORD: root_password
      MYSQL_DATABASE: espocrm
      MYSQL_USER: espocrm
      MYSQL_PASSWORD: database_password
    volumes:
      - ./data:/var/lib/mysql
    restart: always
    healthcheck:
        test: ["CMD", "mysqladmin", "ping", "-u espocrm", "--password=database_password", "-h", "localhost"]
        retries: 3
        timeout: 5s
            
  espocrm:
    image: espocrm/espocrm:8.4.2-apache
    container_name: espocrm-web
    environment:
      ESPOCRM_DATABASE_PLATFORM: Mysql
      ESPOCRM_DATABASE_HOST: mysql
      ESPOCRM_DATABASE_USER: espocrm
      ESPOCRM_DATABASE_PASSWORD: database_password
      ESPOCRM_ADMIN_USERNAME: admin
      ESPOCRM_ADMIN_PASSWORD: password
      ESPOCRM_SITE_URL: "http://192.168.3.83:9500"
    volumes:
      - ./web:/var/www/html
    restart: always
    ports:
      - 9500:80
    depends_on:
        mysql:
            condition: service_healthy
            
  espocrm-daemon:
    image: espocrm/espocrm:8.4.2-apache
    container_name: espocrm-daemon
    volumes:
      - ./web:/var/www/html
    restart: always
    entrypoint: docker-daemon.sh

  espocrm-websocket:
    image: espocrm/espocrm:8.4.2-apache
    container_name: espocrm-websocket
    environment:
      ESPOCRM_CONFIG_USE_WEB_SOCKET: "true"
      ESPOCRM_CONFIG_WEB_SOCKET_URL: "ws://192.168.3.83:8081"
      ESPOCRM_CONFIG_WEB_SOCKET_ZERO_M_Q_SUBSCRIBER_DSN: "tcp://*:7777"
      ESPOCRM_CONFIG_WEB_SOCKET_ZERO_M_Q_SUBMISSION_DSN: "tcp://espocrm-websocket:7777"
    volumes:
      - ./web:/var/www/html
    restart: always
    entrypoint: docker-websocket.sh
    ports:
      - 8081:8080




     

🛠️ EspoCRM Docker 环境变量说明

服务 环境变量 默认值/示例 说明
mysql (MySQL 数据库) MYSQL_ROOT_PASSWORD root_password 设置 MySQL 的 root 用户密码。必须设置,否则容器无法启动。
MYSQL_DATABASE espocrm 指定容器启动时自动创建的数据库名称。
MYSQL_USER espocrm 创建一个非 root 的数据库用户,用于 EspoCRM 连接。
MYSQL_PASSWORD database_password 上述用户的密码。EspoCRM 将使用此凭据连接数据库。
espocrm (Web 应用) ESPOCRM_DATABASE_PLATFORM Mysql 指定数据库平台类型,此处为 MySQL。
ESPOCRM_DATABASE_HOST mysql 数据库主机地址。在 Docker Compose 中,服务名 mysql 即为容器内网络中的主机名。
ESPOCRM_DATABASE_USER espocrm 连接数据库的用户名,需与 MySQL 服务中 MYSQL_USER 一致。
ESPOCRM_DATABASE_PASSWORD database_password 连接数据库的密码,需与 MYSQL_PASSWORD 一致。
ESPOCRM_ADMIN_USERNAME admin EspoCRM 系统的管理员用户名。
ESPOCRM_ADMIN_PASSWORD password EspoCRM 管理员账户的初始密码。建议部署后修改。
ESPOCRM_SITE_URL "http://192.168.3.83:9500" EspoCRM 实例的外部访问 URL。用于生成邮件链接、WebSocket 连接等。必须正确配置,否则功能异常。
espocrm-websocket (WebSocket 服务) ESPOCRM_CONFIG_USE_WEB_SOCKET "true" 启用 WebSocket 功能,支持实时通知、聊天等。
ESPOCRM_CONFIG_WEB_SOCKET_URL "ws://192.168.3.83:8081" 外部客户端连接 WebSocket 的地址(前端使用)。
ESPOCRM_CONFIG_WEB_SOCKET_ZERO_M_Q_SUBSCRIBER_DSN "tcp://*:7777" ZeroMQ 订阅者监听地址(内部服务通信),* 表示监听所有接口。
ESPOCRM_CONFIG_WEB_SOCKET_ZERO_M_Q_SUBMISSION_DSN "tcp://espocrm-websocket:7777" ZeroMQ 提交者连接地址,指向本容器自身,用于内部消息队列通信。
  • 执行以下命令,开始创建EspoCRM容器。
 docker compose up -d

在这里插入图片描述

4.3 检查EspoCRM容器状态

检查EspoCRM容器状态,确保EspoCRM容器正常启动。

[root@openEuler-server espocrm]# docker compose ps
WARN[0000] /data/espocrm/docker-compose.yaml: `version` is obsolete
NAME                IMAGE                          COMMAND                  SERVICE             CREATED         STATUS                   PORTS
espocrm-daemon      espocrm/espocrm:8.4.2-apache   "docker-daemon.sh"       espocrm-daemon      5 minutes ago   Up 4 minutes             80/tcp
espocrm-mysql       mysql:8.0                      "docker-entrypoint.s…"   mysql               5 minutes ago   Up 5 minutes (healthy)   3306/tcp, 33060/tcp
espocrm-web         espocrm/espocrm:8.4.2-apache   "docker-entrypoint.s…"   espocrm             5 minutes ago   Up 5 minutes             0.0.0.0:9500->80/tcp, :::9500->80/tcp
espocrm-websocket   espocrm/espocrm:8.4.2-apache   "docker-websocket.sh"    espocrm-websocket   5 minutes ago   Up 4 minutes             80/tcp, 0.0.0.0:8081->8080/tcp, :::8081->8080/tcp

4.4 检查EspoCRM容器日志

检查EspoCRM容器运行日志

docker compose logs

在这里插入图片描述

五、登录EspoCRM首页

5.1 访问EspoCRM初始页

访问地址:http: //IP地址:9500,将IP替换为自己服务器IP地址。如果无法访问到以下页面,则检查宿主机的防火墙是否关闭或者放行相关端口,云服务器则还需要设置安全组规则。

在这里插入图片描述

5.2 登录EspoCRM

默认的账号/密码: admin/password,直接登录即可。

在这里插入图片描述

六、EspoCRM基本使用

6.1 设置系统语言

右上角进入设置界面——Preferences,选择语言为Simplified Chinese (China),时区选择 Asia/Shanghai,确认保存即可。

在这里插入图片描述

在这里插入图片描述

6.2 创建客户信息

在客户管理模块,点击“创建客户”,自定义填写客户信息,如下所示:

在这里插入图片描述

在这里插入图片描述

6.3 创建知识库

在知识库模块中,点击“创建文章”,填写文章名称和内容,保存即可。

在这里插入图片描述
在这里插入图片描述

浏览知识库中文章内容,如下所示:

在这里插入图片描述

七、体验与总结

通过本次实践,我们不仅成功地在华为openEuler操作系统上部署了EspoCRM,还深入体验了这款开源CRM系统的强大功能和灵活配置。整个部署过程简便快捷,得益于openEuler系统的稳定性,确保了EspoCRM能够高效稳定运行。未来,随着业务的发展和技术的进步,我们可以进一步探索EspoCRM与其他企业级应用的集成,以及openEuler系统在更多场景下的应用潜力,助力企业实现更加智能化的客户关系管理。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。