EspoCRM 开源 CRM 30分钟装完:从克隆代码到登录上线
【免费下载链接】espocrmEspoCRM – Open Source CRM Application项目地址: https://gitcode.com/GitHub_Trending/es/espocrm
EspoCRM 是一款开源的客户关系管理系统(CRM),把线索、联系人、销售机会、营销活动和支持工单放进同一个界面里管理。本文面向第一次部署它的运维和开发者:假设你会基本的 Linux 和 Web 操作,下面直接开干,目标是从克隆代码走到登录管理界面,顺带把最常见的坑和装完后的调优一次讲清。
它到底是什么 & 为什么用它
一句话说清定位:后端是 PHP 写的 REST API + 前端单页应用(SPA),数据库支持 MySQL/MariaDB 和 PostgreSQL。企业常见的痛点是销售数据散落在 Excel、聊天记录和各自脑袋里,流程没人跟、协作靠喊——EspoCRM 就是把"谁在跟哪个客户、谈到哪一步、下一步干什么"收敛到一个平台上,销售漏斗和跟进状态直接可视化(见上图)。模块化设计意味着你可以按自己的业务加自定义实体、字段和流程,所以初创团队和已经有存量客户数据的中大型组织都用得上。
你的环境准备好了吗?
先看这张清单,确认你的服务器大致达标:
| 组件 | 最低配置 | 推荐配置 | 备注 |
|---|---|---|---|
| PHP | 8.3.0 | 8.3–8.5 | 必须 < 8.6,需带下述扩展 |
| 数据库 | MySQL 8.0 / MariaDB 10.3 | MySQL 8.0+ | PostgreSQL 也可 |
| Web 服务器 | Apache 2.4 / Nginx 1.18 | 同左 | 需要 URL 重写能力 |
| 内存 | 512MB | 1GB+ | 含 composer install 阶段 |
| 磁盘 | 200MB | 1GB+ | 含数据库与附件存储 |
PHP 扩展方面,除 pdo 外还需要 gd、zip、intl、mbstring、openssl、json、xml、curl、exif。先跑一遍下面这个检测脚本,全绿再往下走:
php -v | head -1 for ext in pdo_mysql gd zip intl mbstring openssl json xml curl exif; do php -m | grep -qi "$ext" && echo "✓ $ext" || echo "✗ 缺少 $ext" done mysql --version 2>/dev/null || echo "✗ 未找到 mysql 客户端" [ -w data ] && [ -w custom ] && echo "✓ 可写目录 OK" || echo "✗ 目录不可写"三步装完
整体流向:
克隆代码 → composer 装依赖 → 配 Web 服务与权限 → 浏览器跑安装向导 → 登录步骤一:拿代码、装 PHP 依赖
仓库不带 vendor 目录,所以要手动跑一次 composer。打开终端执行:
git clone https://gitcode.com/GitHub_Trending/es/espocrm cd espocrm composer install确认:vendor/目录生成了,composer install没有报错。有扩展缺失会在这一步直接报出来,回上面的脚本补上即可。
步骤二:配 Web 服务器 + 目录权限
数据库和权限先备好。先用 mysql 客户端建好库(如espocrm)并给一个有建表权限的用户,然后设置权限:
chmod -R 755 . chmod -R 775 data/ custom/ client/custom/Web 服务器这块二选一:如果你用Apache,启用重写模块(a2enmod rewrite),把站点根目录指到项目根目录,并给该目录AllowOverride All——根目录已自带.htaccess,它会负责拦截对data/、application/、vendor/等敏感目录的直接访问;如果用的是Nginx,则root指到项目根目录,location 里加try_files $uri $uri/ /index.php?$query_string;,并确认 PHP-FPM 指向 8.3 版本。
确认:浏览器访问你的域名,不再出现 403/500,而是跳到安装页面。
步骤三:跑安装向导
在浏览器里按向导走完三步:填数据库连接信息 → 选界面语言 → 创建管理员账号。装完后向导会自动做建表、写初始配置,配置文件落在data/config.php。
确认:能用管理员账号登录,看到工作台和销售机会看板(和文章开头那张图一致),说明整条链路通了。
大概率会踩的坑
页面空白或 500 错误→ 九成是 PHP 扩展缺失或data/、custom/没给 Web 进程写权限。 → 查 PHP 错误日志确认具体报错,补齐缺失扩展;然后确认 Web 用户(如www-data)对data/、custom/可写。
数据库连接失败→ 配置填错或该用户权限不够(装库、建表都需要 GRANT)。 → 先用命令行验证mysql -u 用户名 -p -h 主机能否登进去、能否在目标库里建表,再回头核对向导里的 host/端口/库名。
URL 重写不生效,地址栏带着 index.php 甚至 404→ Apache 的AllowOverride没设成 All,或 Nginx 的 try_files 没配对。 → 检查对应配置后重启 Web 服务器(这一步很多人忘了,改完不重启等于没改)。
上传附件/导出大文件失败→ 被 php.ini 的上传限制卡住了。 → 调大upload_max_filesize、post_max_size(各 20M 起步)和memory_limit(256M),改完同样要重启。
装完之后的事
性能:最值得动的就两处。一是数据库内存,MySQL 把innodb_buffer_pool_size调到物理内存的 1/4~1/2(如 256M),让热数据留在内存里;二是缓存,在data/config.php里把cache.type从默认的 file 换成 redis 或 memcached,高并发下元数据/权限查询会快一个量级。
安全:装完第一件事是上 HTTPS,CRM 里全是敏感客户数据,明文传输不能忍。备份养成两个动作:数据库mysqldump -u 用户 -p 库名 > backup_$(date +%Y%m%d).sql定时跑,data/目录(含附件和配置)定期打包。再确认 Web 进程用户拿不到chown/改权限之外的多余能力,目录权限别图省事全 777。
监控盯四个点就够:
- 磁盘空间(日志和附件会一直涨,
data/logs/定期清理) - PHP-FPM 进程数与响应时间
- 数据库连接数和慢查询
- 应用日志里的报错频率
还能往哪走
- 自定义模块:新实体、新字段、新业务对象都放这里开发,参考 custom/Espo/Modules/ 的目录结构起步
- API 集成:后端就是标准 REST API,对接 ERP、邮件、BI 系统从这里入手,看 application/Espo/Core/Api/
- 布局与模板:界面布局、PDF 模板都是 JSON/模板文件,直接改对应配置文件即可,不必动代码
- 社区求助:卡住时优先翻 README.md 和官方社区论坛,大部分部署问题都有现成答案
装好只是开始,把销售团队真实的跟进流程跑进系统里、把字段和布局调成他们愿意每天用的样子,才是这套 CRM 真正产生价值的地方。现在就登录后台,建你的第一个销售机会试试。
【免费下载链接】espocrmEspoCRM – Open Source CRM Application项目地址: https://gitcode.com/GitHub_Trending/es/espocrm
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考