codecamp

快速开始

# DoraCMS 快速安装指南 ## 概述 DoraCMS 是一个现代化的企业级内容管理系统,支持多种安装方式。本指南将帮助你快速搭建 DoraCMS 环境。 ## 系统要求 ### 硬件要求 | 环境 | CPU | 内存 | 硬盘 | |------|-----|------|------| | 开发环境 | 2核+ | 4GB+ | 10GB+ | | 生产环境 | 4核+ | 8GB+ | 50GB+ | ### 软件要求 - **操作系统**:macOS 10.14+、Linux (Ubuntu 18.04+)、Windows 10+ - **Node.js**:18.20+ 版本 - **数据库**:MongoDB 4.4+ 或 MariaDB 10.5+ - **Redis**:6.0+(可选,推荐生产环境) ## 安装方式选择 ### 方式一:Docker 一键部署(推荐) **适用场景**:快速体验、生产部署 **优势**:环境隔离、一键启动、易于维护 ### 方式二:本地开发安装 **适用场景**:开发调试、功能定制 **优势**:便于调试、代码修改、性能优化 ### 方式三:手动部署 **适用场景**:自定义环境、特殊需求 **优势**:完全控制、灵活配置 ## Docker 快速部署 ### 1. 环境准备 确保已安装 Docker 和 Docker Compose: ```bash # 检查 Docker 版本 docker --version docker-compose --version # 如果未安装,请访问 https://docs.docker.com/get-docker/ ``` ### 2. 下载源码 ```bash # 克隆项目 git clone https://github.com/doramart/DoraCMS.git cd DoraCMS # 或者下载压缩包 wget https://github.com/doramart/DoraCMS/archive/refs/heads/main.zip unzip main.zip && cd DoraCMS-main ``` ### 3. 配置环境变量 ```bash # 复制环境配置文件 cp docker.env.example .env # 编辑配置文件(重要!) nano .env ``` **必须修改的配置项**: ```env # 应用密钥(必须修改) APP_KEYS=your_random_secret_key_here SESSION_SECRET=your_session_secret_here # 数据库密码(必须修改) MONGODB_PASSWORD=your_mongodb_password MARIADB_PASSWORD=your_mariadb_password # 管理员账号(可选修改) ADMIN_USERNAME=admin ADMIN_PASSWORD=your_admin_password ``` ### 4. 启动服务 ```bash # 启动 MongoDB 版本(默认) docker-compose up -d # 或启动 MariaDB 版本 docker-compose --profile mariadb up -d # 查看启动日志 docker-compose logs -f eggcms-app ``` ### 5. 访问系统 启动成功后,可以通过以下地址访问: - **前台首页**:http://localhost:8080 - **管理后台**:http://localhost:8080/admin - **API 接口**:http://localhost:8080/api 默认管理员账号: - 用户名:admin - 密码:123456(或你在 .env 中设置的密码) ### 6. 常用命令 ```bash # 查看服务状态 docker-compose ps # 查看日志 docker-compose logs -f # 停止服务 docker-compose down # 重启服务 docker-compose restart # 清理数据(谨慎使用) docker-compose down -v ``` ## 本地开发安装 ### 1. 环境准备 #### 安装 Node.js ```bash # 使用 nvm 安装(推荐) curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash nvm install 18 nvm use 18 # 或直接下载安装 # https://nodejs.org/ ``` #### 安装 pnpm ```bash npm install -g pnpm pnpm --version ``` #### 安装数据库 **MongoDB(推荐)**: ```bash # macOS brew tap mongodb/brew brew install mongodb-community@7.0 brew services start mongodb-community@7.0 # Ubuntu wget -qO - https://www.mongodb.org/static/pgp/server-7.0.asc | sudo apt-key add - echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list sudo apt-get update sudo apt-get install -y mongodb-org sudo systemctl start mongod ``` ### 2. 下载和安装 ```bash # 克隆项目 git clone https://github.com/doramart/DoraCMS.git cd DoraCMS # 安装依赖 pnpm install # 复制配置文件 cp server/env.example server/.env ``` ### 3. 配置数据库 编辑 `server/.env` 文件: ```env # 数据库配置 DATABASE_TYPE=mongodb MONGODB_HOST=127.0.0.1 MONGODB_PORT=27017 MONGODB_DATABASE=doracms3 MONGODB_USERNAME= MONGODB_PASSWORD= # 应用配置 NODE_ENV=development PORT=8080 APP_KEYS=your_secret_key ``` ### 4. 启动服务 ```bash # 启动后端 + 用户前端 pnpm dev # 或启动全部服务(包含管理后台) pnpm dev:all # 单独启动服务 pnpm dev:server # 后端 API (端口 8080) pnpm dev:user-center # 用户前端 (端口 3000) pnpm dev:admin-center # 管理后台 (端口 5173) ``` ### 5. 访问系统 - **用户前端**:http://localhost:3000 - **管理后台**:http://localhost:5173 - **后端 API**:http://localhost:8080 ## 验证安装 ### 1. 检查服务状态 ```bash # 检查端口占用 lsof -i :8080 lsof -i :3000 lsof -i :5173 # 检查数据库连接 mongosh --eval "db.version()" # MongoDB mysql -u root -p -e "SELECT VERSION();" # MariaDB ``` ### 2. 访问健康检查 ```bash # API 健康检查 curl http://localhost:8080/api/health # 预期返回 { "status": "ok", "timestamp": "2024-01-01T00:00:00.000Z", "database": "connected" } ``` ### 3. 登录管理后台 1. 访问管理后台地址 2. 使用默认账号登录 3. 检查各功能模块是否正常 ## 常见问题 ### 常见报错代码 (Error Codes) #### 1. `EADDRINUSE: address already in use :::8080` **原因**:端口 8080 被其他程序占用。 **解决**: ```bash # 查找占用进程 lsof -i :8080 # 杀死进程 (PID为进程ID) kill -9 <PID> ``` #### 2. `MongooseServerSelectionError: connect ECONNREFUSED 127.0.0.1:27017` **原因**:MongoDB 数据库未启动或连接配置错误。 **解决**: - 检查 MongoDB 服务是否运行:`docker ps` 或 `brew services list` - 检查 `.env` 文件中的 `MONGODB_HOST` 是否正确(Docker 环境下通常是 `mongo` 而不是 `127.0.0.1`) #### 3. `Error: Redis connection to 127.0.0.1:6379 failed` **原因**:Redis 服务未启动。 **解决**: - 生产环境建议开启 Redis。 - 开发环境如果不需要 Redis,可以在 `config/config.default.ts` 中暂时关闭相关插件,或启动本地 Redis 服务。 #### 4. `Permission denied` (Docker) **原因**:挂载目录权限不足。 **解决**: ```bash sudo chown -R $USER:$USER . chmod -R 755 . ``` ### 数据库连接失败 ```bash # 检查数据库服务状态 # MongoDB brew services list | grep mongodb sudo systemctl status mongod # MariaDB brew services list | grep mariadb sudo systemctl status mariadb ``` ### 依赖安装失败 ```bash # 清理缓存 pnpm store prune rm -rf node_modules pnpm install # 使用国内镜像 pnpm config set registry https://registry.npmmirror.com ``` ### 权限问题 ```bash # 修复文件权限 sudo chown -R $USER:$USER . chmod -R 755 . ``` ## 安全建议 ### 生产环境部署 1. **修改默认密码**:更改管理员和数据库密码 2. **配置 HTTPS**:使用 SSL 证书加密传输 3. **防火墙设置**:只开放必要端口 4. **定期备份**:设置自动备份策略 5. **监控告警**:配置系统监控 ### 安全配置 ```env # 生产环境配置示例 NODE_ENV=production APP_KEYS=complex_random_string_32_chars SESSION_SECRET=another_complex_random_string # 限制访问来源 CORS_ORIGINS=https://your-domain.com DOMAIN_WHITELIST=your-domain.com # 数据库安全 MONGODB_USERNAME=doracms_user MONGODB_PASSWORD=complex_password_here ```
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }