首页
/ Dolibarr开源ERP系统企业级部署与生产环境配置指南

Dolibarr开源ERP系统企业级部署与生产环境配置指南

2026-04-02 09:21:45作者:邵娇湘

Dolibarr是一款功能强大的开源企业资源规划(ERP)和客户关系管理(CRM)软件,专为中小企业打造的数字化管理工具。它集成了客户管理、销售、采购、库存、财务等核心业务模块,帮助企业实现业务流程数字化和管理效率提升。本文将从需求分析、方案对比、操作实施到深度配置,全面介绍如何在生产环境中部署Dolibarr系统。

需求分析:企业级部署的核心诉求

在开始部署之前,我们需要明确企业级应用的核心需求,这将直接影响后续的部署方案选择和配置策略。

功能需求清单

企业级ERP系统通常需要满足以下核心功能:

  • 客户关系管理(CRM):客户信息管理、跟进记录、商机管理
  • 销售管理:报价单、销售订单、发票生成与管理
  • 采购管理:供应商管理、采购订单、收货管理
  • 库存管理:产品目录、库存水平监控、库存变动记录
  • 财务管理:会计科目、银行账户、财务报表
  • 人力资源:员工信息、考勤管理、薪资计算

非功能需求评估

企业级部署对系统有以下关键非功能要求:

需求类别 具体要求 重要性
性能 支持50+并发用户,页面加载时间<3秒 ⭐⭐⭐⭐⭐
安全性 数据加密传输,角色权限控制,防SQL注入 ⭐⭐⭐⭐⭐
可靠性 系统可用性>99.9%,数据定期备份 ⭐⭐⭐⭐⭐
可扩展性 支持业务增长,模块灵活添加 ⭐⭐⭐⭐
可维护性 日志记录,监控告警,易于升级 ⭐⭐⭐⭐

环境资源规划

根据企业规模不同,所需的服务器资源也有差异:

企业规模 CPU 内存 存储 数据库
小型企业(10-30用户) 2核 4GB 50GB SSD MySQL 5.7+
中型企业(30-100用户) 4核 8GB 100GB SSD MySQL 8.0+/PostgreSQL 12+
大型企业(100+用户) 8核 16GB+ 200GB+ SSD 主从架构数据库

方案对比:如何选择最适合的部署方式

Dolibarr提供多种部署方案,各有优缺点,企业需根据自身技术能力和需求选择。

三种部署方案横向对比

部署方案 技术难度 维护成本 扩展性 适用场景
Git克隆安装 技术团队支持的企业,需要定制开发
Docker容器部署 追求快速部署和版本隔离的企业
一键安装包 极低 小型企业,无专业IT人员

最小化部署vs全功能部署

部署类型 模块数量 资源消耗 部署时间 适用场景
最小化部署 5-8个核心模块 CPU: 1核, 内存: 2GB 30分钟 初创企业,功能需求简单
全功能部署 20+模块 CPU: 4核, 内存: 8GB 2小时 成熟企业,全业务流程管理

推荐方案:Docker容器化部署

对于大多数中小企业,推荐使用Docker容器化部署,理由如下:

  • 环境一致性:避免"在我机器上能运行"的问题
  • 隔离性:与其他应用互不干扰
  • 可移植性:轻松迁移到不同服务器
  • 版本控制:方便回滚到之前版本
  • 部署速度:比传统方式快50%以上

操作实施:企业级部署的详细步骤

环境准备与验证

目标:确保服务器满足Dolibarr的最低要求

检查操作系统版本

cat /etc/os-release
# 预期输出示例:
# NAME="Ubuntu"
# VERSION="20.04.4 LTS (Focal Fossa)"

验证PHP环境

php -v | grep "PHP"
# 预期输出:PHP 7.4.3 (cli) (built: Jun 15 2022 12:54:21) 
# ⚠️ 新手陷阱:PHP版本必须7.1以上,但推荐7.4或8.0,避免使用最新的PHP 8.2+,可能存在兼容性问题

检查必需的PHP扩展

php -m | grep -E "mysqli|pdo|pdo_mysql|gd|curl|mbstring|zip|xml"
# 预期输出应包含以上所有扩展
# ✅ 验证技巧:缺少任何扩展都会导致安装失败,建议提前安装

检查数据库服务

systemctl status mysql
# 或
systemctl status mariadb
# 预期输出:active (running)

Docker环境部署步骤

目标:使用Docker Compose快速部署完整的Dolibarr环境

1. 安装Docker和Docker Compose

# 安装Docker
sudo apt update && sudo apt install -y docker.io docker-compose
# 启动Docker服务
sudo systemctl enable --now docker
# 将当前用户添加到docker组(避免每次使用sudo)
sudo usermod -aG docker $USER
# ⚠️ 注意:添加用户组后需要注销并重新登录才能生效

2. 创建docker-compose.yml文件

version: '3'
services:
  dolibarr:
    image: dolibarr/dolibarr:latest
    restart: always
    ports:
      - "80:80"
    environment:
      - DOLI_DB_HOST=db
      - DOLI_DB_USER=doliuser
      - DOLI_DB_PASSWORD=StrongPassword123!
      - DOLI_DB_NAME=dolibarr
      - DOLI_ADMIN_LOGIN=admin
      - DOLI_ADMIN_PASSWORD=AdminPass456!
    volumes:
      - dolibarr_html:/var/www/html
      - dolibarr_documents:/var/www/documents
    depends_on:
      - db
  db:
    image: mariadb:10.5
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=RootPass789!
      - MYSQL_DATABASE=dolibarr
      - MYSQL_USER=doliuser
      - MYSQL_PASSWORD=StrongPassword123!
    volumes:
      - dolibarr_db:/var/lib/mysql
volumes:
  dolibarr_html:
  dolibarr_documents:
  dolibarr_db:

⚠️ 安全提示:生产环境中务必使用强密码,并定期更换。密码应包含大小写字母、数字和特殊符号,长度至少12位。

3. 启动服务

docker-compose up -d
# 预期输出:
# Creating network dolibarr_default
# Creating volume "dolibarr_dolibarr_html" with default driver
# Creating volume "dolibarr_dolibarr_documents" with default driver
# Creating volume "dolibarr_dolibarr_db" with default driver
# Creating dolibarr_db_1 ... done
# Creating dolibarr_dolibarr_1 ... done

4. 验证服务状态

docker-compose ps
# 预期输出:
#        Name                      Command               State         Ports
# --------------------------------------------------------------------------------
# dolibarr_db_1          docker-entrypoint.sh mysqld      Up      3306/tcp
# dolibarr_dolibarr_1    /entrypoint.sh apache2-for ...   Up      0.0.0.0:80->80/tcp

Git克隆部署步骤(开发者选项)

目标:通过源码安装,适合需要定制开发的场景

1. 克隆代码仓库

git clone https://gitcode.com/gh_mirrors/do/dolibarr
cd dolibarr

2. 创建配置文件

cp htdocs/conf/conf.php.example htdocs/conf/conf.php
# 设置目录权限
chmod -R 755 htdocs/documents
chmod 775 htdocs/conf

3. 创建数据库

mysql -u root -p
# 输入密码后执行以下SQL
CREATE DATABASE dolibarr CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'doliuser'@'localhost' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON dolibarr.* TO 'doliuser'@'localhost';
FLUSH PRIVILEGES;
exit;

4. 配置Web服务器 以Nginx为例:

sudo nano /etc/nginx/sites-available/dolibarr

添加以下配置:

server {
    listen 80;
    server_name your-domain.com;  # 替换为你的域名

    root /path/to/dolibarr/htdocs;
    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;  # 根据PHP版本调整
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    # 安全设置
    add_header X-Content-Type-Options nosniff;
    add_header X-Frame-Options SAMEORIGIN;
    add_header X-XSS-Protection "1; mode=block";
}

5. 启用站点并重启Nginx

sudo ln -s /etc/nginx/sites-available/dolibarr /etc/nginx/sites-enabled/
sudo nginx -t  # 测试配置
sudo systemctl restart nginx

Web安装向导配置

无论采用哪种部署方式,都需要通过Web安装向导完成最后的配置。

访问安装页面

在浏览器中访问:http://服务器IP或域名/install/

安装向导步骤

1. 环境检查 系统会自动检查PHP版本、必需扩展、文件权限等。 ✅ 所有检查项都应显示为"OK",如有"Warning"或"Error",需解决后再继续。

2. 数据库配置

  • 数据库类型:选择MySQL/MariaDB或PostgreSQL
  • 服务器地址:Docker部署填"db",本地部署填"localhost"
  • 数据库名称:dolibarr
  • 用户名:doliuser
  • 密码:StrongPassword123!
  • ⚠️ 新手陷阱:Docker部署时数据库主机名不是localhost,而是docker-compose.yml中定义的服务名"db"

3. 管理员账户设置

  • 登录名:建议使用"admin"以外的名称,提高安全性
  • 密码:使用强密码,至少12位,包含大小写字母、数字和特殊符号
  • 邮箱:用于密码重置和系统通知

4. 公司信息配置

  • 公司名称:将显示在发票、报价单等文档中
  • 地址、电话、邮箱等:会自动填充到各类业务单据

5. 模块选择 根据企业需求选择初始模块,建议初次安装只选择核心模块:

  • 客户管理
  • 产品目录
  • 销售订单
  • 发票管理
  • 基础会计

Dolibarr登录界面

深度配置:生产环境安全与性能优化

安全加固措施

1. 移除安装目录

# Docker部署
docker exec -it dolibarr_dolibarr_1 rm -rf /var/www/html/install

# Git克隆部署
rm -rf htdocs/install

⚠️ 重要:安装完成后必须删除install目录,否则可能被黑客利用重新配置系统。

2. 配置文件权限设置

# Git克隆部署时设置
chmod 444 htdocs/conf/conf.php
chown -R www-data:www-data htdocs/documents

3. 启用HTTPS 使用Let's Encrypt获取免费SSL证书:

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d your-domain.com

4. 配置防火墙 只开放必要端口:

sudo ufw allow 22/tcp  # SSH
sudo ufw allow 80/tcp  # HTTP,用于重定向到HTTPS
sudo ufw allow 443/tcp # HTTPS
sudo ufw enable

性能优化配置

1. PHP配置优化 编辑php.ini文件:

memory_limit = 256M
max_execution_time = 60
opcache.enable = On
opcache.memory_consumption = 128
opcache.max_accelerated_files = 10000

2. 数据库优化 对于MySQL/MariaDB,编辑配置文件:

[mysqld]
innodb_buffer_pool_size = 512M  # 服务器内存的50%左右
max_connections = 100
query_cache_size = 0  # MySQL 8.0以上已移除,无需设置
slow_query_log = On
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 2

3. 启用缓存 在Dolibarr后台启用缓存:

  1. 登录管理员账户
  2. 进入"设置" -> "系统" -> "性能"
  3. 启用"页面缓存"和"对象缓存"
  4. 设置缓存过期时间为30分钟

Dolibarr仪表盘

场景应用:不同规模企业的模块配置方案

微型企业(1-10人)

推荐模块

  • 客户管理
  • 产品/服务目录
  • 报价单
  • 发票管理
  • 银行账户

资源需求

  • CPU:1核
  • 内存:2GB
  • 存储:20GB SSD

自动化脚本片段

# 微型企业自动部署脚本核心部分
docker-compose up -d
# 等待服务启动
sleep 30
# 自动完成基础配置
curl -X POST http://localhost/install/install.php \
  -d "step=database" \
  -d "dbtype=mysqli" \
  -d "dbhost=db" \
  -d "dbname=dolibarr" \
  -d "dbuser=doliuser" \
  -d "dbpass=StrongPassword123!" \
  -d "prefix=" \
  -d "engine=InnoDB"

中小型企业(10-50人)

推荐模块

  • 微型企业所有模块
  • 销售订单
  • 采购管理
  • 库存管理
  • 合同管理
  • 基础人力资源

资源需求

  • CPU:2-4核
  • 内存:4-8GB
  • 存储:50-100GB SSD

数据备份策略

# 数据库每日备份脚本
#!/bin/bash
BACKUP_DIR="/var/backups/dolibarr"
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
mkdir -p $BACKUP_DIR

# 备份数据库
docker exec dolibarr_db_1 mysqldump -u root -pRootPass789! dolibarr > $BACKUP_DIR/dolibarr_db_$TIMESTAMP.sql

# 备份文档
tar -czf $BACKUP_DIR/dolibarr_docs_$TIMESTAMP.tar.gz $(docker volume inspect -f '{{.Mountpoint}}' dolibarr_dolibarr_documents)

# 保留最近30天备份
find $BACKUP_DIR -type f -mtime +30 -delete

大型企业(50人以上)

推荐模块

  • 中小型企业所有模块
  • 高级会计
  • 项目管理
  • 人力资源管理
  • 客户关系管理高级功能
  • 商业智能报表

资源需求

  • CPU:8核以上
  • 内存:16GB以上
  • 存储:200GB以上SSD
  • 数据库:主从架构,读写分离

Dolibarr发票管理

常见问题与解决方案

安装过程中常见错误

数据库连接失败

  • 检查数据库服务是否运行
  • 验证数据库用户名和密码
  • Docker部署时确认容器网络是否互通
  • 数据库服务器是否允许远程连接

PHP扩展缺失

# 安装常用缺失扩展
sudo apt install php7.4-mysqli php7.4-gd php7.4-curl php7.4-mbstring php7.4-zip php7.4-xml

性能问题排查

页面加载缓慢

  1. 检查服务器资源使用情况:tophtop
  2. 查看慢查询日志,优化SQL
  3. 确认缓存是否启用
  4. 检查是否有大量并发连接

报表生成超时

  • 增加PHP执行时间:max_execution_time = 120
  • 优化报表查询,增加必要索引
  • 考虑使用报表缓存或异步生成

Dolibarr统计报表

安全问题处理

忘记管理员密码

# 通过数据库重置管理员密码
mysql -u root -p
use dolibarr;
UPDATE llx_user SET pass_crypted = MD5('NewPassword123!') WHERE login = 'admin';

发现可疑活动

  1. 查看Dolibarr日志:htdocs/documents/logs/
  2. 检查Web服务器访问日志
  3. 临时禁用可疑用户账户
  4. 更新系统和Dolibarr到最新版本

总结与后续建议

Dolibarr作为一款功能丰富的开源ERP/CRM系统,为企业提供了灵活且经济的数字化管理解决方案。通过本文介绍的企业级部署方法,您可以在生产环境中安全、高效地运行Dolibarr。

后续建议

  1. 定期更新Dolibarr到最新稳定版本
  2. 建立完善的备份策略,包括数据库和文档
  3. 对员工进行系统使用培训,充分发挥系统功能
  4. 考虑使用Dolibarr的API与其他系统集成
  5. 加入Dolibarr社区,获取支持和最佳实践

通过合理配置和持续优化,Dolibarr可以成为企业数字化转型的重要工具,帮助企业提升管理效率和竞争力。

登录后查看全文
热门项目推荐
相关项目推荐