基于华为openEuler部署EspoCRM开源客户关系管理平台

基于华为openEuler部署EspoCRM开源客户关系管理平台

  • 前言
  • 一、相关服务介绍
    • [1.1 openEuler系统介绍](#1.1 openEuler系统介绍)
    • [1.2 EspoCRM介绍](#1.2 EspoCRM介绍)
  • 二、本次实践介绍
    • [2.1 本次实践介绍](#2.1 本次实践介绍)
    • [2.2 本次环境规划](#2.2 本次环境规划)
  • 三、本地环境检查
    • [3.1 检查系统版本](#3.1 检查系统版本)
    • [3.2 检查内核版本](#3.2 检查内核版本)
    • [3.3 检查本地IP](#3.3 检查本地IP)
    • [3.4 检查Docker环境](#3.4 检查Docker环境)
  • 四、部署EspoCRM系统
    • [4.1 下载EspoCRM镜像](#4.1 下载EspoCRM镜像)
    • [4.2 创建EspoCRM容器](#4.2 创建EspoCRM容器)
    • [4.3 检查EspoCRM容器状态](#4.3 检查EspoCRM容器状态)
    • [4.4 检查EspoCRM容器日志](#4.4 检查EspoCRM容器日志)
  • 五、登录EspoCRM首页
    • [5.1 访问EspoCRM初始页](#5.1 访问EspoCRM初始页)
    • [5.2 登录EspoCRM](#5.2 登录EspoCRM)
  • 六、EspoCRM基本使用
    • [6.1 设置系统语言](#6.1 设置系统语言)
    • [6.2 创建客户信息](#6.2 创建客户信息)
    • [6.3 创建知识库](#6.3 创建知识库)
  • 七、体验与总结

前言


在数字化转型的浪潮中,客户关系管理(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)

bash 复制代码
[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 检查内核版本

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

bash 复制代码
[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

bash 复制代码
[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版本如下所示:

bash 复制代码
[root@openEuler-server ~]# docker -v
Docker version 26.1.3, build b72abbb

四、部署EspoCRM系统

4.1 下载EspoCRM镜像

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

bash 复制代码
docker  pull espocrm/espocrm:8.4.2-apache
docker pull mysql:8.0

4.2 创建EspoCRM容器

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

bash 复制代码
mkdir -p /data/espocrm  && cd /data/espocrm 
bash 复制代码
 chmod -R 777 /data/espocrm/

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

bash 复制代码
vim docker-compose.yaml
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容器。
bash 复制代码
 docker compose up -d

4.3 检查EspoCRM容器状态

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

bash 复制代码
[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容器运行日志

bash 复制代码
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系统在更多场景下的应用潜力,助力企业实现更加智能化的客户关系管理。

相关推荐
zhangfeng11332 小时前
大模型微调主要框架 Firefly vs LLaMA Factory 全方位对比表
人工智能·语言模型·开源·llama
向哆哆2 小时前
Flutter × OpenHarmony 跨端实战:打造健身俱乐部「数据可视化仪表盘」模块
flutter·信息可视化·开源·鸿蒙·openharmony·开源鸿蒙
AI码上来3 小时前
开源实时语音克隆IndexTTS2,推理加速实测,支持情绪输入+语速控制
开源
wasp5203 小时前
【开源】Banana Slide:一个基于nano banana pro[特殊字符]的原生AI PPT生成应用,迈向真正的"Vibe PPT"
人工智能·开源
说私域3 小时前
破局互联网产品开发困境:开源AI智能名片链动2+1模式S2B2C商城小程序的实践与启示
人工智能·小程序·开源·私域运营
向哆哆11 小时前
打造高校四六级报名管理系统:基于 Flutter × OpenHarmony 的跨端开发实践
flutter·开源·鸿蒙·openharmony·开源鸿蒙
ai_xiaogui13 小时前
【开源探索】Panelai:重新定义AI服务器管理面板,助力团队私有化算力部署与模型运维
人工智能·开源·私有化部署·docker容器化·panelai·ai服务器管理面板·comfyui集群管理
Up九五小庞14 小时前
开源埋点分析平台 ClkLog 本地部署 + Web JS 埋点测试实战--九五小庞
前端·javascript·开源
Anarkh_Lee15 小时前
【小白也能实现智能问数智能体】使用开源的universal-db-mcp在coze中实现问数 AskDB智能体
数据库·人工智能·ai·开源·ai编程