# Gitea本地协作开发服务器配置指南 ## 概述 本文档说明如何将本地安装的Gitea配置为团队协作开发服务器,替代原有的物理服务器环境。 ## 1. 网络配置 ### 1.1 确认本机IP地址 ```bash # Windows系统 ipconfig # 查找本机局域网IP地址,通常形如 192.168.x.x 或 10.x.x.x ``` ### 1.2 配置Gitea服务地址 编辑Gitea配置文件 `app.ini`: ```ini [server] # 将localhost改为本机IP地址,确保同事可以访问 HTTP_ADDR = 0.0.0.0 HTTP_PORT = 3000 # 外部访问URL,替换为你的实际IP ROOT_URL = http://192.168.x.x:3000/ ``` ### 1.3 防火墙配置 确保Windows防火墙允许Gitea端口通信: ```bash # 打开Windows防火墙入站规则 # 添加端口3000的TCP入站规则 ``` 或在Windows防火墙中: - 控制面板 → 系统和安全 → Windows Defender防火墙 → 高级设置 - 入站规则 → 新建规则 → 端口 → TCP → 特定本地端口: 3000 ## 2. Gitea服务配置 ### 2.1 启动Gitea服务 ```bash # 进入Gitea安装目录 cd C:\gitea # 或你的安装路径 gitea.exe web ``` ### 2.2 配置为Windows服务(推荐) 创建Windows服务确保开机自启: 1. 下载NSSM (Non-Sucking Service Manager) 2. 以管理员身份运行命令提示符: ```bash nssm install Gitea # 在弹出界面中配置: # Path: C:\gitea\gitea.exe # Arguments: web # Working directory: C:\gitea ``` 3. 启动服务: ```bash net start Gitea ``` ### 2.3 数据库配置优化 如果使用SQLite(默认),确保数据文件路径正确: ```ini [database] DB_TYPE = sqlite3 PATH = data/gitea.db ``` 如果需要更好性能,考虑配置MySQL: ```ini [database] DB_TYPE = mysql HOST = 127.0.0.1:3306 NAME = gitea USER = gitea PASSWD = your_password ``` ## 3. 同事访问配置 ### 3.1 提供访问地址 向同事提供访问地址: ``` http://你的IP地址:3000 例如: http://192.168.1.100:3000 ``` ### 3.2 用户账号管理 1. 访问管理界面创建用户账号 2. 或开启用户自注册: ```ini [service] DISABLE_REGISTRATION = false REQUIRE_SIGNIN_VIEW = false ``` ### 3.3 权限配置 为协作项目设置适当权限: - 项目所有者:完全控制权限 - 协作者:推送/拉取权限 - 读者:仅读取权限 ## 4. 代码仓库迁移 ### 4.1 从原服务器迁移仓库 如果原服务器数据可恢复: ```bash # 在原服务器或备份中找到Git裸仓库 # 复制到新Gitea的repositories目录 # 通常位于 gitea-repositories/用户名/仓库名.git ``` ### 4.2 重新创建仓库 如果需要重新创建: 1. 在Gitea界面创建新仓库 2. 本地添加新的远程地址: ```bash git remote remove origin git remote add origin http://你的IP:3000/用户名/仓库名.git git push -u origin master ``` ## 5. 开发工作流配置 ### 5.1 分支保护规则 为主要分支设置保护规则: - 设置 → 分支 → 分支保护规则 - 保护master分支,要求代码审查 ### 5.2 Webhook配置 如果需要CI/CD集成: ``` 设置 → Webhooks → 添加Webhook 配置自动构建触发器 ``` ## 6. 备份策略 ### 6.1 定期备份 ```bash # 备份Gitea数据目录 # 包括:repositories/, data/, log/, custom/ robocopy "C:\gitea" "D:\backup\gitea" /MIR /Z /R:3 /W:10 ``` ### 6.2 自动备份脚本 创建批处理文件实现定期备份: ```batch @echo off set BACKUP_DIR=D:\backup\gitea_%date:~0,4%%date:~5,2%%date:~8,2% robocopy "C:\gitea" "%BACKUP_DIR%" /MIR /Z /R:3 /W:10 echo Backup completed to %BACKUP_DIR% ``` ## 7. 常见问题排查 ### 7.1 访问问题 - 检查防火墙设置 - 确认IP地址和端口正确 - 验证Gitea服务是否正常运行 ### 7.2 权限问题 - 检查用户账号状态 - 确认仓库权限设置 - 验证SSH密钥配置(如使用SSH) ### 7.3 性能优化 ```ini [server] # 调整并发连接数 HTTP_ADDR = 0.0.0.0 HTTP_PORT = 3000 [database] # 数据库连接池配置 MAX_IDLE_CONNS = 30 MAX_OPEN_CONNS = 300 ``` ## 8. 安全建议 1. **网络安全**: - 仅在受信任的局域网环境中开放 - 考虑使用VPN访问 - 定期更新Gitea版本 2. **访问控制**: - 禁用不必要的公开注册 - 使用强密码策略 - 启用双因子认证 3. **数据安全**: - 定期备份重要数据 - 监控异常访问 - 记录操作日志 ## 9. 同事操作指南 ### 9.1 首次设置 ```bash # 克隆仓库 git clone http://你的IP:3000/用户名/CN_Gather.git # 配置用户信息 git config user.name "姓名" git config user.email "邮箱" ``` ### 9.2 日常协作 ```bash # 拉取最新代码 git pull origin master # 创建功能分支 git checkout -b feature/新功能 # 提交更改 git add . git commit -m "描述信息" git push origin feature/新功能 # 在Gitea界面创建Pull Request ``` --- **联系信息**: - Gitea服务地址:http://你的IP:3000 - 管理员:[你的联系方式] - 紧急联系:[备用联系方式] **注意**:请确保定期备份重要代码,避免数据丢失。