# REDCap部署指南与环境要求详解 > **文档版本:** v1.0 > **创建日期:** 2025-12-30 > **文档目的:** 详细说明REDCap的部署要求、复杂度、软硬件条件 > **阅读时间:** 25分钟 > **重要性:** ⭐⭐⭐⭐⭐ **对接前必读** --- ## 📋 执行摘要 **核心结论**: - ✅ **是的,对接REDCap前必须先部署REDCap服务器** - 🟡 **部署复杂度:中等**(3.5/5分) - ⏱️ **部署时间**: - 测试环境(Docker):1-2小时 - 生产环境(手动):1-2天 - 生产环境(含安全加固):3-5天 - 💰 **成本**: - 测试环境:$0(本地开发) - 生产环境:$500-3000/月(云服务器) **关键前置条件**: 1. 🔑 **获得REDCap许可**(加入联盟,签署EULA) 2. 💾 **下载REDCap源代码**(redcap15.8.0.zip) 3. 🖥️ **准备服务器环境**(LAMP/LEMP栈) 4. 📧 **配置SMTP邮件服务**(必需) --- ## 🎯 部署前必读:您需要什么? ### 1. REDCap许可与源代码获取(🔑 最关键) #### 获取流程 ``` Step 1: 申请加入REDCap联盟 ↓ 访问:https://projectredcap.org/join/ ↓ 填写机构信息(医院/大学/研究机构) ↓ 等待审批(1-4周) Step 2: 签署最终用户许可协议(EULA) ↓ 法律审查(禁止商业用途) ↓ 机构授权人签字 Step 3: 下载REDCap软件包 ↓ 登录联盟成员门户 ↓ 下载:redcap_vX.X.X.zip(约50-80MB) ``` #### 许可限制(⚠️ 重要) ``` ✅ 允许: - 非商业研究用途 - 机构内部使用 - 开发External Modules(开源共享) ❌ 禁止: - 商业化销售 - 未经授权的再分发 - 修改核心代码后闭源 ⚠️ 灰色地带: - 提供REDCap托管服务(需咨询范德堡大学) - 基于REDCap开发商业产品(你们的情况) → 建议:咨询法律顾问,可能需要额外协议 ``` #### 您的情况分析 ``` 壹证循科技的商业模式: - REDCap是"客户已有"的系统 - 你们提供的是"AI增值服务"(DC/SSA模块) - 通过External Module连接 合规性评估: ✅ 可能合规(提供插件,不销售REDCap本身) ⚠️ 需确认:是否帮客户部署REDCap? - 如果只是对接客户现有REDCap → ✅ 合规 - 如果你们部署REDCap并收费 → ⚠️ 灰色地带 建议: 1. 与范德堡大学确认商业用途许可 2. 或者:只对接客户现有的REDCap(不提供部署) ``` --- ## 🖥️ 软硬件要求详解 ### 服务器配置要求 #### 开发/测试环境 ```yaml 用途: 本地开发、功能测试、External Module开发 最低配置: CPU: 2核 内存: 4GB 硬盘: 20GB SSD 系统: Windows 10/11 或 macOS 或 Linux 推荐配置: CPU: 4核 内存: 8GB 硬盘: 50GB SSD 系统: Ubuntu 22.04 LTS 成本: $0(使用个人电脑或Mac) ``` #### 生产环境(小型) ```yaml 用途: 1-5个项目,<1000条记录 最低配置: CPU: 2核 @ 2.5GHz+ 内存: 8GB 硬盘: 100GB SSD 带宽: 10Mbps 系统: Ubuntu 22.04 LTS / CentOS 8 数据库: MySQL: 5.7+ 或 MariaDB 10.3+ 存储: 20GB(独立磁盘) Web服务器: Apache 2.4+ 或 Nginx 1.18+ PHP: 7.4 / 8.0 / 8.1 / 8.2 云服务器参考: 阿里云: ecs.c6.large(2核8GB) ≈ ¥500/月 AWS: t3.large(2核8GB) ≈ $70/月 腾讯云: SA2.MEDIUM4(2核8GB) ≈ ¥450/月 年度成本: $6K-8K ``` #### 生产环境(中型) ```yaml 用途: 10-50个项目,10K-100K条记录 推荐配置: CPU: 4核 @ 3.0GHz+ 内存: 16GB 硬盘: 500GB SSD(或SAN存储) 带宽: 50Mbps 系统: Ubuntu 22.04 LTS 数据库: MySQL: 8.0+ 或 MariaDB 10.5+ 存储: 200GB(独立服务器) 连接数: 最大500 Web服务器: Apache 2.4+ 或 Nginx 1.20+ PHP: 8.1+(性能最优) PHP-FPM进程数: 50-100 负载均衡: 可选:多Web节点 + LB 云服务器参考: 阿里云: ecs.c6.xlarge(4核16GB) ≈ ¥1200/月 AWS: t3.xlarge(4核16GB) ≈ $150/月 年度成本: $15K-20K ``` #### 生产环境(大型/企业级) ```yaml 用途: 100+项目,100万+记录,多机构部署 架构: Web层: 2-4台Web服务器(负载均衡) - 每台: 8核16GB 数据库层: 主从架构 - 主库: 16核32GB - 从库: 16核32GB(读负载分担) 存储层: - 文件服务器: NFS/对象存储 - 容量: 2TB-5TB 缓存层: - Redis: 8核16GB 高可用: - 数据库主从切换 - Web节点故障转移 - 每日备份+异地容灾 监控: - Prometheus + Grafana - 日志聚合(ELK) - APM监控 云服务器参考: 总成本: ¥15K-30K/月 年度成本: $50K-100K ``` ### 软件依赖清单 #### 必需组件 ```bash # 操作系统(任选其一) Ubuntu 22.04 LTS # 推荐 CentOS 8 / Rocky Linux 8 # 企业级 Debian 11 # Web服务器(任选其一) Apache 2.4+ # REDCap官方推荐 - mod_rewrite enabled - mod_ssl enabled - mod_headers enabled Nginx 1.18+ # 性能更好,配置复杂 # PHP(推荐8.1) PHP 7.4 / 8.0 / 8.1 / 8.2 - PHP-FPM - php-cli - php-mysql / php-mysqli - php-gd - php-curl - php-zip - php-mbstring - php-xml - php-json - php-ldap(如需LDAP认证) - php-soap(如需Web Service集成) # 数据库(任选其一) MySQL 5.7+ / 8.0+ # 主流选择 MariaDB 10.3+ / 10.5+ # 开源替代 # PHP配置要求 upload_max_filesize = 32M post_max_size = 32M max_execution_time = 300 memory_limit = 256M ``` #### 可选组件(增强功能) ```bash # SMTP服务器(邮件通知) 必需:用于发送调查邀请、密码重置等 选项: - SendGrid(推荐,云服务) - Amazon SES - 自建Postfix - 企业SMTP(Office 365、Gmail) # SSL证书(HTTPS) 必需:生产环境强制要求 选项: - Let's Encrypt(免费) - 商业证书(GeoTrust、DigiCert) - 企业内部CA # LDAP/Active Directory(单点登录) 可选:企业环境推荐 - OpenLDAP - Microsoft AD - Azure AD # 防火墙/WAF 推荐: - UFW / firewalld(主机防火墙) - ModSecurity(Web应用防火墙) - Cloudflare(CDN + DDoS防护) # 监控工具 推荐: - New Relic APM - Datadog - Prometheus + Grafana ``` --- ## 🐳 部署方案对比 ### 方案1:Docker容器部署(⭐ 推荐用于开发/测试) #### 优势 ``` ✅ 快速启动(1小时内完成) ✅ 环境隔离(不污染主机) ✅ 易于迁移(容器可移植) ✅ 版本管理(镜像标签) ✅ 易于销毁重建(测试理想) ``` #### 完整Docker Compose配置 ```yaml # docker-compose.yml version: '3.8' services: # MySQL数据库 redcap-db: image: mysql:8.0 container_name: redcap-mysql restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: redcap_root_123 MYSQL_DATABASE: redcap MYSQL_USER: redcap_user MYSQL_PASSWORD: redcap_pass_456 volumes: - redcap-db-data:/var/lib/mysql - ./mysql-init:/docker-entrypoint-initdb.d ports: - "3306:3306" networks: - redcap-network command: --default-authentication-plugin=mysql_native_password # PHPMyAdmin(数据库管理) phpmyadmin: image: phpmyadmin/phpmyadmin container_name: redcap-phpmyadmin restart: unless-stopped environment: PMA_HOST: redcap-db PMA_USER: root PMA_PASSWORD: redcap_root_123 ports: - "8081:80" networks: - redcap-network depends_on: - redcap-db # Apache + PHP + REDCap redcap-web: image: php:8.1-apache container_name: redcap-apache restart: unless-stopped ports: - "8080:80" volumes: # REDCap源代码(需手动解压到此目录) - ./redcap15.8.0:/var/www/html # Apache配置 - ./apache/redcap.conf:/etc/apache2/sites-available/000-default.conf # PHP配置 - ./php/php.ini:/usr/local/etc/php/php.ini # 上传文件存储 - redcap-edocs:/var/www/html/edocs - redcap-temp:/var/www/html/temp environment: REDCAP_DB_HOST: redcap-db REDCAP_DB_NAME: redcap REDCAP_DB_USER: redcap_user REDCAP_DB_PASS: redcap_pass_456 networks: - redcap-network depends_on: - redcap-db # 安装PHP扩展 command: > bash -c " docker-php-ext-install mysqli pdo pdo_mysql gd zip && a2enmod rewrite ssl headers && apache2-foreground " networks: redcap-network: driver: bridge volumes: redcap-db-data: redcap-edocs: redcap-temp: ``` #### 部署步骤(Docker方案) ```bash # Step 1: 创建项目目录 mkdir redcap-docker && cd redcap-docker # Step 2: 解压REDCap源码 unzip redcap_v15.8.0.zip # 得到: redcap15.8.0/ 目录 # Step 3: 创建docker-compose.yml # (粘贴上面的配置) # Step 4: 创建Apache配置 mkdir apache cat > apache/redcap.conf << 'EOF' ServerName localhost DocumentRoot /var/www/html/redcap Options -Indexes +FollowSymLinks AllowOverride All Require all granted ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined EOF # Step 5: 创建PHP配置 mkdir php cat > php/php.ini << 'EOF' upload_max_filesize = 32M post_max_size = 32M max_execution_time = 300 memory_limit = 256M date.timezone = Asia/Shanghai EOF # Step 6: 启动容器 docker-compose up -d # Step 7: 检查容器状态 docker-compose ps # 应该看到3个容器运行中 # Step 8: 访问REDCap安装向导 # 打开浏览器:http://localhost:8080/install.php # Step 9: 按照向导完成安装 # - 数据库配置: # Host: redcap-db # Database: redcap # Username: redcap_user # Password: redcap_pass_456 # Step 10: 安装完成后,访问REDCap # http://localhost:8080/ ``` #### Docker方案的坑点 ``` ⚠️ 坑1: 文件权限问题 症状: 上传文件失败,无法写入edocs目录 解决: docker exec -it redcap-apache bash chown -R www-data:www-data /var/www/html/edocs chown -R www-data:www-data /var/www/html/temp ⚠️ 坑2: 数据库连接失败 症状: REDCap无法连接MySQL 原因: 容器网络未就绪 解决: # 等待MySQL完全启动(30秒) docker-compose logs redcap-db # 看到 "ready for connections" 后再访问install.php ⚠️ 坑3: PHP扩展缺失 症状: 提示缺少GD库、ZIP库 解决: # 进入容器安装 docker exec -it redcap-apache bash docker-php-ext-install gd zip mysqli service apache2 reload ⚠️ 坑4: 性能问题 症状: 页面加载慢(Docker on Windows/Mac) 原因: 文件I/O性能差 解决: # 使用命名卷而非绑定挂载 volumes: - redcap-code:/var/www/html # 命名卷(快) # 不要: - ./redcap:/var/www/html # 绑定挂载(慢) ``` --- ### 方案2:手动部署(生产环境推荐) #### Ubuntu 22.04 LTS部署脚本 ```bash #!/bin/bash # REDCap生产环境自动化部署脚本 # 适用于:Ubuntu 22.04 LTS set -e # 遇到错误立即退出 echo "========================================" echo "REDCap 15.8.0 自动化部署脚本" echo "========================================" # ========== 1. 系统更新 ========== echo "[Step 1] 更新系统..." apt update && apt upgrade -y # ========== 2. 安装Apache ========== echo "[Step 2] 安装Apache 2.4..." apt install -y apache2 a2enmod rewrite ssl headers systemctl enable apache2 systemctl start apache2 # ========== 3. 安装PHP 8.1 ========== echo "[Step 3] 安装PHP 8.1..." apt install -y software-properties-common add-apt-repository -y ppa:ondrej/php apt update apt install -y \ php8.1 \ php8.1-cli \ php8.1-fpm \ php8.1-mysql \ php8.1-gd \ php8.1-curl \ php8.1-zip \ php8.1-mbstring \ php8.1-xml \ php8.1-ldap \ php8.1-soap \ libapache2-mod-php8.1 # 配置PHP cat > /etc/php/8.1/apache2/conf.d/99-redcap.ini << 'EOF' upload_max_filesize = 32M post_max_size = 32M max_execution_time = 300 memory_limit = 256M date.timezone = Asia/Shanghai EOF systemctl restart apache2 # ========== 4. 安装MySQL 8.0 ========== echo "[Step 4] 安装MySQL 8.0..." apt install -y mysql-server mysql-client # 启动MySQL systemctl enable mysql systemctl start mysql # 安全加固MySQL mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YourStrongRootPassword123!';" mysql -e "DELETE FROM mysql.user WHERE User='';" mysql -e "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');" mysql -e "DROP DATABASE IF EXISTS test;" mysql -e "DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%';" mysql -e "FLUSH PRIVILEGES;" # 创建REDCap数据库和用户 REDCAP_DB_PASS=$(openssl rand -base64 32) mysql -uroot -p'YourStrongRootPassword123!' << EOF CREATE DATABASE redcap CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'redcap_user'@'localhost' IDENTIFIED BY '${REDCAP_DB_PASS}'; GRANT ALL PRIVILEGES ON redcap.* TO 'redcap_user'@'localhost'; FLUSH PRIVILEGES; EOF echo "数据库密码(请保存):${REDCAP_DB_PASS}" # ========== 5. 部署REDCap代码 ========== echo "[Step 5] 部署REDCap代码..." # 上传redcap15.8.0.zip到 /tmp/ # 手动或通过SCP上传 # scp redcap_v15.8.0.zip user@server:/tmp/ cd /var/www/html unzip /tmp/redcap_v15.8.0.zip mv redcap redcap_v15.8.0 # 创建符号链接(方便版本切换) ln -s redcap_v15.8.0 redcap # 设置权限 chown -R www-data:www-data /var/www/html/redcap chmod -R 755 /var/www/html/redcap chmod -R 777 /var/www/html/redcap/edocs chmod -R 777 /var/www/html/redcap/temp # ========== 6. 配置Apache虚拟主机 ========== echo "[Step 6] 配置Apache..." cat > /etc/apache2/sites-available/redcap.conf << 'EOF' ServerName redcap.yourdomain.com ServerAdmin admin@yourdomain.com DocumentRoot /var/www/html/redcap Options -Indexes +FollowSymLinks AllowOverride All Require all granted # 安全头 Header always set X-Content-Type-Options "nosniff" Header always set X-Frame-Options "SAMEORIGIN" Header always set X-XSS-Protection "1; mode=block" ErrorLog ${APACHE_LOG_DIR}/redcap_error.log CustomLog ${APACHE_LOG_DIR}/redcap_access.log combined EOF # 启用站点 a2ensite redcap.conf a2dissite 000-default.conf systemctl reload apache2 # ========== 7. 配置防火墙 ========== echo "[Step 7] 配置防火墙..." ufw allow 22/tcp # SSH ufw allow 80/tcp # HTTP ufw allow 443/tcp # HTTPS ufw --force enable # ========== 8. 安装Let's Encrypt SSL证书 ========== echo "[Step 8] 安装SSL证书..." apt install -y certbot python3-certbot-apache # 自动获取证书(需要域名已解析到此服务器) # certbot --apache -d redcap.yourdomain.com --non-interactive --agree-tos --email admin@yourdomain.com # ========== 9. 配置Cron任务 ========== echo "[Step 9] 配置Cron任务..." cat > /etc/cron.d/redcap << 'EOF' # REDCap Cron任务 */1 * * * * www-data php /var/www/html/redcap/cron.php > /dev/null 2>&1 EOF # ========== 10. 完成 ========== echo "========================================" echo "✅ REDCap部署完成!" echo "========================================" echo "" echo "📝 下一步:" echo "1. 访问:http://your-server-ip/install.php" echo "2. 按照向导完成安装" echo "3. 数据库配置:" echo " Host: localhost" echo " Database: redcap" echo " Username: redcap_user" echo " Password: ${REDCAP_DB_PASS}" echo "" echo "⚠️ 请务必保存数据库密码!" ``` #### 手动部署的坑点 ``` ⚠️ 坑1: SELinux阻止(CentOS/RHEL) 症状: Permission denied错误 解决: setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config ⚠️ 坑2: 文件上传失败 症状: edocs目录无写权限 解决: chown -R www-data:www-data /var/www/html/redcap/edocs chmod -R 777 /var/www/html/redcap/edocs ⚠️ 坑3: Cron任务不执行 症状: 计划任务、邮件不发送 解决: # 检查cron日志 tail -f /var/log/syslog | grep CRON # 手动测试cron sudo -u www-data php /var/www/html/redcap/cron.php ⚠️ 坑4: 数据库连接失败 症状: Can't connect to MySQL 解决: # 检查MySQL是否运行 systemctl status mysql # 测试连接 mysql -uredcap_user -p redcap ⚠️ 坑5: 邮件发送失败 症状: 调查邀请无法发送 原因: 未配置SMTP 解决: # 在REDCap控制中心配置SMTP # 或使用SendGrid/Amazon SES ``` --- ## 📈 部署复杂度评估 ### 复杂度打分(1-5分) | 环节 | 复杂度 | 时间 | 常见问题 | 难点 | |------|--------|------|----------|------| | **获取REDCap许可** | 🟡 2/5 | 1-4周 | 审批慢 | 法务流程 | | **服务器准备** | 🟢 1/5 | 1小时 | 云厂商选择 | 无 | | **LAMP环境搭建** | 🟡 2/5 | 2-4小时 | PHP版本兼容 | 依赖安装 | | **REDCap安装** | 🟡 2/5 | 1-2小时 | 数据库配置 | 文件权限 | | **SMTP配置** | 🟡 3/5 | 1-3小时 | 邮件被拒 | 反垃圾邮件 | | **SSL证书** | 🟢 1/5 | 30分钟 | 域名解析 | 无 | | **安全加固** | 🔴 4/5 | 1-2天 | 规则配置 | 防火墙/WAF | | **性能优化** | 🔴 4/5 | 1-2天 | 慢查询 | MySQL调优 | | **备份策略** | 🟡 2/5 | 2小时 | 存储空间 | 自动化 | | **监控告警** | 🟡 3/5 | 4小时 | 指标选择 | 工具集成 | ### 总体评估 ``` 部署复杂度:3.5/5(中等偏高) 原因: ✅ 优势: - REDCap安装向导友好(图形化界面) - 官方文档详细 - 社区支持活跃 ⚠️ 挑战: - LAMP环境依赖多(10+个PHP扩展) - 文件权限易出错 - SMTP配置繁琐 - 安全加固需要专业知识 对比: - 比WordPress简单(依赖更少) - 比Moodle复杂(配置更多) - 比自研系统简单(现成软件) ``` --- ## 🚀 快速开始:3种部署路径 ### 路径1:Docker快速体验(1小时) ```bash # 适用于:开发测试、External Module开发 # 1. 克隆配置仓库(假设你已创建) git clone https://github.com/your-org/redcap-docker.git cd redcap-docker # 2. 放置REDCap源码 # 将redcap_v15.8.0.zip解压到当前目录 # 3. 一键启动 docker-compose up -d # 4. 访问 http://localhost:8080/install.php # 5. 完成安装向导 # 数据库配置: # Host: redcap-db # Database: redcap # Username: redcap_user # Password: redcap_pass_456 ✅ 优势:快速、可重复、易销毁 ❌ 劣势:不适合生产环境 ``` ### 路径2:云服务器标准部署(1天) ```bash # 适用于:小型团队、私有化部署客户 # 1. 购买云服务器 阿里云ECS:2核8GB,Ubuntu 22.04 # 2. 执行自动化脚本 wget https://your-domain.com/redcap-install.sh chmod +x redcap-install.sh sudo ./redcap-install.sh # 3. 访问 http://your-server-ip/install.php # 4. 完成安装 # 5. 配置域名和SSL certbot --apache -d redcap.yourdomain.com ✅ 优势:稳定、安全、可扩展 ❌ 劣势:需要运维知识 ``` ### 路径3:托管服务(0天) ```bash # 适用于:快速上手、无运维团队 # REDCap官方认证托管服务商: 1. Vanderbilt CTSA https://redcap.vanderbilt.edu/consortium/pricing.php 价格:$5K-15K/年 2. Academic Health Center REDCap Hosting https://ahcredcap.org/ 价格:$3K-10K/年 3. 第三方托管(需验证合规性) Veeva Vault EDC Medidata Rave ✅ 优势:零运维、高可用、专业支持 ❌ 劣势:费用高、定制受限 ``` --- ## 🔒 生产环境安全加固清单 ### 必做项(P0) ```bash # 1. 修改默认密码 # 安装完成后立即修改: # - REDCap admin用户密码 # - MySQL root密码 # - 操作系统root密码 # 2. 启用HTTPS(强制) certbot --apache -d redcap.yourdomain.com # 在REDCap控制中心:System Configuration # Force HTTPS: Yes # 3. 配置防火墙 ufw enable ufw allow 22/tcp # SSH(限制IP更佳) ufw allow 80/tcp ufw allow 443/tcp ufw deny 3306/tcp # 禁止外部访问MySQL # 4. 关闭不必要的服务 systemctl disable bluetooth systemctl disable cups # 5. 定期更新 apt update && apt upgrade -y # 设置自动安全更新 apt install unattended-upgrades dpkg-reconfigure -plow unattended-upgrades ``` ### 推荐项(P1) ```bash # 6. 配置Web应用防火墙(WAF) # ModSecurity + OWASP核心规则集 apt install libapache2-mod-security2 cd /etc/modsecurity wget https://github.com/coreruleset/coreruleset/archive/v3.3.4.tar.gz tar -xzvf v3.3.4.tar.gz # 7. 启用审计日志 # 在REDCap控制中心启用: # - Login auditing # - Page view logging # - Data export logging # 8. 配置备份(每日自动) cat > /etc/cron.daily/redcap-backup << 'EOF' #!/bin/bash # 数据库备份 mysqldump -uredcap_user -p'PASSWORD' redcap | gzip > /backup/redcap_$(date +\%Y\%m\%d).sql.gz # 文件备份 tar -czf /backup/redcap_files_$(date +\%Y\%m\%d).tar.gz /var/www/html/redcap/edocs # 删除30天前的备份 find /backup -type f -mtime +30 -delete EOF chmod +x /etc/cron.daily/redcap-backup # 9. 配置fail2ban(防暴力破解) apt install fail2ban cat > /etc/fail2ban/jail.local << 'EOF' [DEFAULT] bantime = 3600 findtime = 600 maxretry = 5 [sshd] enabled = true [apache-auth] enabled = true EOF systemctl restart fail2ban # 10. 配置监控告警 # 推荐工具: # - Uptime监控:UptimeRobot(免费) # - 日志监控:Logtail(阿里云SLS) # - APM监控:New Relic(付费) ``` --- ## 💰 成本估算(全生命周期) ### 场景1:开发测试环境 ``` 初始成本: - 服务器:$0(本地电脑) - REDCap许可:$0(已获得) - SSL证书:$0(自签名证书) - 开发工具:$0(开源) 总计:$0 ``` ### 场景2:小型生产环境(50用户) ``` 初始成本(一次性): - REDCap许可获取:$0(联盟成员) - 云服务器购买:$0(按月付费) - SSL证书:$0(Let's Encrypt) - 部署实施:$2K(1天人力) 年度运营成本: - 云服务器:$600/年(阿里云2核8GB) - 带宽流量:$240/年(10Mbps) - 备份存储:$120/年(100GB OSS) - SMTP服务:$0(SendGrid免费额度) - 监控告警:$0(UptimeRobot免费) - 运维人力:$10K/年(0.2 FTE) 5年总成本:$57K ``` ### 场景3:企业级环境(500用户) ``` 初始成本: - 服务器集群:$5K(采购) - 专业服务:$10K(架构设计+部署) - 安全审计:$5K(第三方评估) 年度运营成本: - 云服务器:$12K/年(4核16GB × 2) - 数据库RDS:$8K/年(高可用版) - 负载均衡:$3K/年 - 对象存储:$1K/年 - SMTP服务:$1K/年(SendGrid专业版) - 监控APM:$2K/年(New Relic) - 安全服务:$5K/年(WAF + DDoS) - 运维人力:$50K/年(1 FTE DevOps) - 年度审计:$10K/年(HIPAA合规) 5年总成本:$480K ``` --- ## 🎯 对您项目的建议 ### 当前阶段建议:先不急着部署REDCap ``` 理由: 1. ✅ 您已有REDCap源代码(redcap15.8.0/) 2. ✅ 可以研究External Module开发(无需运行环境) 3. ✅ 可以阅读API文档、数据库Schema 4. ⏰ 等确定要对接时再部署(节省资源) 现阶段可以做: - 研究REDCap代码结构 - 设计External Module架构 - 编写config.json和PHP代码(离线) - 准备数据转换逻辑 - 设计API集成方案 ``` ### 何时部署REDCap测试环境? ``` 时机: - 需要测试External Module时 - 需要验证API调用时 - 需要测试数据同步时 - 准备给客户演示时 推荐方案: Docker部署(1小时快速搭建) 命令: cd AIclinicalresearch/ mkdir redcap-dev cd redcap-dev # 创建docker-compose.yml docker-compose up -d # 完成! ``` ### 生产环境部署策略 ``` 方案A:客户自己部署(推荐) - 你们只提供External Module - 客户在自己的REDCap上安装 - 你们不承担运维责任 优势: ✅ 无需运维成本 ✅ 数据在客户环境(合规) ✅ 商业模式清晰(插件销售) 方案B:你们提供托管服务 - 部署REDCap + 你们的External Module - 按月收费(SaaS模式) 劣势: ❌ 运维成本高($50K+/年) ❌ 许可合规风险(需与范德堡确认) ❌ 数据合规责任(HIPAA) 建议: 🎯 优先推荐方案A(客户自己部署REDCap) ``` --- ## 📚 部署参考资源 ### 官方文档 ``` 1. REDCap安装指南 /redcap15.8.0/Installation_Instructions.txt 2. REDCap技术要求 https://projectredcap.org/software/requirements/ 3. REDCap社区论坛 https://community.projectredcap.org/ 4. External Module开发文档 /redcap_external_module_framework_docs_main/ ``` ### 第三方教程 ``` 1. GitHub REDCap Docker https://github.com/123andy/redcap-docker-compose 2. DigitalOcean REDCap部署教程 https://www.digitalocean.com/community/tutorials/how-to-install-redcap 3. YouTube视频教程 搜索:"REDCap installation tutorial" ``` --- ## 🎬 总结与行动建议 ### 回答您的问题 **Q1: 对接REDCap前需要部署吗?** A: ✅ **是的**,需要部署REDCap服务器才能开发和测试对接功能。 **Q2: 部署复杂吗?** A: 🟡 **中等复杂度**(3.5/5分) - Docker方案:1-2小时(简单) - 生产环境:1-2天(中等) - 企业级:3-5天(复杂) **Q3: 需要什么条件?** A: 1. 🔑 REDCap许可(加入联盟) 2. 💾 REDCap源代码(已有✅) 3. 🖥️ 服务器(2核8GB起) 4. 📧 SMTP邮件服务 **Q4: 软硬件要求?** A: - CPU: 2核+ - 内存: 8GB+ - 硬盘: 100GB+ SSD - 软件: LAMP栈(Linux + Apache + MySQL + PHP) ### 立即行动 ``` Step 1: 决定部署方案 ├─ Docker(开发测试) → 1小时完成 └─ 手动部署(生产环境) → 1天完成 Step 2: 准备环境 - 购买云服务器(如需) - 安装Docker(如需) - 确认REDCap许可状态 Step 3: 执行部署 - 按照本文档步骤操作 - 记录遇到的问题 - 完成安装向导 Step 4: 验证 - 创建测试项目 - 录入测试数据 - 测试API调用 Step 5: 开始External Module开发 - 创建模块目录 - 编写config.json - 测试Hook功能 ``` --- **文档版本**:v1.0 **最后更新**:2025-12-30 **下次更新**:部署完成后补充实际遇到的问题 --- **🚀 需要我帮您创建Docker部署脚本吗?或者有其他部署相关的问题?**