1. 为什么选择Bonobo Git Server?
如果你在Windows环境下工作,想要快速搭建一个轻量级的Git服务器,Bonobo Git Server绝对是个不错的选择。我当初选择它就是因为简单——不需要折腾虚拟机或Docker,直接跑在IIS上,特别适合个人开发者或小团队使用。
相比GitLab这种重型方案,Bonobo的安装包只有几十MB,对硬件要求极低。实测在我的老款Surface Pro上都能流畅运行。它的核心功能完全够用:代码版本控制、用户权限管理、Web界面操作,还能通过HTTP/HTTPS直接克隆仓库。
2. 安装前的准备工作
2.1 启用IIS和.NET功能
首先确保你的Windows 10已经启用了IIS服务。按下Win+R输入optionalfeatures,勾选这些选项:
- Internet Information Services(全部子项)
- .NET Framework 4.8 Advanced Services
- ASP.NET 4.8
注意:如果漏装ASP.NET模块,后面配置时会报HTTP 500.19错误。我就踩过这个坑,又回头重装了两次。
2.2 下载Bonobo安装包
官网下载地址现在变更为:
https://github.com/jakubgarfield/Bonobo-Git-Server/releases建议下载最新的.zip包(比如v6.5.0),解压到C:\Bonobo这样的短路径。避免中文或空格路径,否则可能遇到权限问题。
3. IIS配置详细步骤
3.1 创建网站
- 打开IIS管理器,右键「网站」→「添加网站」
- 填写信息:
- 网站名称:BonoboGit(可自定义)
- 物理路径:选择解压后的
Bonobo-Git-Server文件夹 - 端口:建议用8080(避免与默认80端口冲突)
3.2 配置应用程序池
关键步骤来了!右键新建的网站→「管理网站」→「高级设置」:
- 将应用程序池改为「无托管代码」
- 启用32位应用程序:True
实测发现64位系统不开启32位支持会导致页面空白,这是.NET兼容性问题。
4. 初始化Bonobo服务
4.1 首次访问配置
浏览器打开http://localhost:8080,你会看到初始化页面。默认管理员账号:
- 用户名:admin
- 密码:admin
强烈建议首次登录后立即修改密码!在「Settings」→「Global Settings」可以切换中文界面。
4.2 仓库路径设置
在「Repository Directory」设置仓库存储位置,例如:
D:\GitRepositories记得给IIS用户(通常是IIS_IUSRS)对这个目录的读写权限。我遇到过提交失败的问题,就是因为权限没配置好。
5. 日常使用技巧
5.1 创建新项目
点击「Create new repository」时,注意这两个选项:
- Allow Anonymous Push:公开可写(慎用)
- Default Branch:建议设为main而非master
创建后会自动生成Git地址,比如:
http://你的IP:8080/项目名.git5.2 用户权限管理
在「Users」页面可以添加团队成员。权限分为三种:
- 管理员:能管理所有仓库
- 创建者:能新建自己的仓库
- 普通用户:只能访问被授权的仓库
小技巧:通过「Teams」功能可以批量管理权限,比单个设置高效得多。
6. 常见问题解决方案
6.1 无法克隆仓库
如果遇到git clone失败,检查:
- 防火墙是否放行了8080端口
- 仓库路径是否包含特殊字符
- 试试用IP地址替代localhost
6.2 提交时提示权限不足
典型错误信息:
error: insufficient permission for adding an object解决方法:
- 右键仓库文件夹→属性→安全
- 添加用户
IIS_IUSRS的完全控制权限 - 重启IIS服务
7. 进阶配置建议
7.1 启用HTTPS
在IIS中绑定SSL证书(需要域名),然后修改Web.config:
<add key="AuthenticationProvider" value="Cookies" /> <add key="RequireSsl" value="true" />7.2 自动备份
用这个PowerShell脚本定期备份仓库:
Compress-Archive -Path D:\GitRepositories\* -DestinationPath E:\Backups\git_$(Get-Date -Format yyyyMMdd).zip建议搭配Windows任务计划程序,设置每周自动运行。
8. 性能优化方案
虽然Bonobo很轻量,但当仓库数量超过50个时,可以:
- 在IIS中启用「动态内容压缩」
- 修改
Web.config的缓存设置:
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00" />对于超过1GB的大仓库,建议用Git LFS扩展管理二进制文件。
这套方案我已经在三个创业团队落地,最久的稳定运行了2年多。相比GitLab动辄需要8GB内存,Bonobo在1GB内存的机器上都能流畅运作,特别适合预算有限的小型项目。