代码托管平台几乎是日常工作中不可缺少的基础设施。虽然GitHub、GitLab等公共代码平台功能强大,但随着企业项目逐渐涉及商业机密、客户数据以及内部研发内容,越来越多的团队开始考虑部署属于自己的私有Git服务器。
尤其是面向亚太地区业务的企业,选择香港VPS搭建私有Git服务具有网络延迟低、访问速度快、国际带宽充足以及无需备案等优势。相比直接部署GitLab,Gitea资源占用更小、安装更简单,对于中小型团队而言更加实用。
本文将详细介绍如何在香港VPS上部署Gitea私有Git服务器,从环境准备、数据库配置、反向代理、安全加固到团队协作管理,帮助企业快速搭建属于自己的代码管理平台。
为什么选择Gitea搭建私有Git平台
很多开发者第一次接触私有Git服务时都会想到GitLab。
GitLab确实功能全面,但其硬件资源要求相对较高。即便是小团队使用,也通常建议至少4核8G甚至更高配置的服务器。
对于许多创业公司或者个人开发团队来说,这样的成本并不划算。
Gitea则完全不同。
Gitea是一个使用Go语言开发的轻量级Git服务平台,具有部署简单、运行稳定、资源占用低等特点。
实际测试中,一台2核2G香港VPS即可流畅运行几十个项目仓库。
Gitea主要具备以下优势:
- 支持Git代码托管
- 支持Web管理界面
- 支持Issue任务管理
- 支持Pull Request代码审核
- 支持团队权限管理
- 支持Webhook自动部署
- 支持SSH与HTTPS访问
- 支持LDAP和OAuth登录
- 支持CI/CD集成
对于大多数企业研发团队来说,已经能够满足日常开发需求。
香港VPS服务器配置建议
如果只是个人开发者或者小型团队使用,可以参考以下配置:
| 用户规模 | 推荐配置 |
|---|---|
| 个人开发 | 1核2G |
| 5人团队 | 2核2G |
| 10人团队 | 2核4G |
| 20人团队 | 4核8G |
系统推荐:
- Ubuntu 22.04 LTS
- Debian 12
- CentOS Stream 9
本文以Ubuntu 22.04为例进行演示。
首先更新系统:
apt update
apt upgrade -y
安装常用工具:
apt install wget curl vim git unzip -y
查看服务器信息:
uname -a
free -h
df -h
确保系统运行正常后开始部署。

创建Gitea运行账户
为了安全起见,不建议直接使用root运行Gitea。
创建专用账户:
adduser git
创建仓库存储目录:
mkdir -p /home/git/gitea
mkdir -p /var/lib/gitea
设置权限:
chown -R git:git /home/git
chown -R git:git /var/lib/gitea
创建配置目录:
mkdir /etc/gitea
授权:
chown root:git /etc/gitea
chmod 770 /etc/gitea
这样后续Gitea运行过程中将更加安全。
安装MySQL数据库
虽然Gitea支持SQLite,但生产环境建议使用MySQL或MariaDB。
安装MySQL:
apt install mysql-server -y
启动服务:
systemctl enable mysql
systemctl start mysql
进入数据库:
mysql
创建数据库:
CREATE DATABASE gitea CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
创建用户:
CREATE USER 'gitea'@'localhost' IDENTIFIED BY 'StrongPassword123!';
授权:
GRANT ALL PRIVILEGES ON gitea.* TO 'gitea'@'localhost';
FLUSH PRIVILEGES;
退出:
EXIT;
数据库部分配置完成。
下载并安装Gitea
查看最新版本:
wget -O gitea https://dl.gitea.com/gitea/latest/gitea-latest-linux-amd64
赋予执行权限:
chmod +x gitea
移动到系统目录:
mv gitea /usr/local/bin/
验证安装:
gitea --version
如果显示版本号说明安装成功。
配置Systemd服务
创建服务文件:
vim /etc/systemd/system/gitea.service
写入内容:
[Unit]
Description=Gitea
After=network.target
[Service]
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web
Restart=always
Environment=USER=git HOME=/home/git
[Install]
WantedBy=multi-user.target
刷新配置:
systemctl daemon-reload
启动服务:
systemctl enable gitea
systemctl start gitea
查看状态:
systemctl status gitea
默认监听:
3000端口
浏览器访问:
http://服务器IP:3000
此时会进入初始化安装界面。
完成Gitea初始化安装
安装页面中填写数据库信息:
数据库类型:
MySQL
数据库地址:
127.0.0.1:3306
数据库名称:
gitea
用户名:
gitea
密码:
StrongPassword123!
仓库存储路径:
/var/lib/gitea/data
SSH服务端口:
22
应用URL:
https://git.yourdomain.com
确认无误后点击安装。
系统会自动生成配置文件:
/etc/gitea/app.ini
后续所有配置都可以在这里修改。
配置域名访问
直接使用IP访问并不方便。
建议绑定独立域名:
git.example.com
域名解析到香港VPS公网IP。
确认解析生效:
ping git.example.com
然后配置Nginx反向代理。
配置Nginx反向代理
安装Nginx:
apt install nginx -y
创建配置:
vim /etc/nginx/conf.d/gitea.conf
内容如下:
server {
listen 80;
server_name git.example.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
检查配置:
nginx -t
重启:
systemctl restart nginx
此时已经能够通过域名访问Gitea。
配置SSL证书
私有Git服务必须启用HTTPS。
安装Certbot:
apt install certbot python3-certbot-nginx -y
申请证书:
certbot --nginx -d git.example.com
申请成功后自动生成HTTPS配置。
验证:
https://git.example.com
浏览器地址栏显示安全锁即可。
配置SSH代码推送
开发团队最常使用SSH方式提交代码。
开发者本地生成密钥:
ssh-keygen -t ed25519
查看公钥:
cat ~/.ssh/id_ed25519.pub
进入Gitea:
用户头像
→ Settings
→ SSH Keys
→ Add Key
粘贴公钥保存。
测试连接:
ssh -T git@git.example.com
如果出现欢迎信息说明配置成功。
以后提交代码:
git clone git@git.example.com:team/project.git
无需输入密码即可访问。
创建组织与团队
企业项目不建议全部使用个人仓库。
最佳实践是创建组织。
进入:
Site Administration
→ Organizations
创建:
Development Team
然后建立多个团队:
Frontend
Backend
Mobile
QA
DevOps
针对不同项目设置权限。
例如:
前端成员只能访问前端仓库。
运维成员可以管理部署仓库。
这种权限隔离能够有效避免误操作。
Git仓库管理规范
很多团队部署Gitea后没有规范管理仓库,最终导致混乱。
建议统一命名规则:
company-api
company-web
company-admin
company-mobile
company-devops
避免出现:
test1
demo
newproject
这类没有意义的名称。
同时建立统一分支策略。
推荐:
main
develop
feature/*
release/*
hotfix/*
这样后期维护更加容易。
Webhook自动部署配置
Gitea支持Webhook功能。
当开发者提交代码后,可以自动通知服务器完成部署。
例如:
代码提交
↓
Webhook触发
↓
Jenkins执行任务
↓
自动部署上线
进入仓库:
Settings
→ Webhooks
填写:
http://deploy-server/webhook
选择:
Push Events
保存即可。
这样便能够构建自动化发布流程。
邮件通知配置
为了及时接收代码审核和Issue通知。
修改:
/etc/gitea/app.ini
配置SMTP:
[mailer]
ENABLED=true
HOST=smtp.example.com:587
FROM=noreply@example.com
USER=noreply@example.com
PASSWD=password
重启:
systemctl restart gitea
测试发送邮件。
以后成员会实时收到通知。
数据备份方案
代码仓库属于企业核心资产。
必须建立备份机制。
Gitea自带备份工具:
gitea dump
执行后生成压缩包。
建议每天自动备份:
crontab -e
添加:
0 2 * * * /usr/local/bin/gitea dump
同时上传至对象存储:
OSS
COS
S3
Backblaze B2
形成异地备份。
避免服务器故障导致代码丢失。
Gitea安全加固建议
私有Git服务器通常保存着企业全部源代码,因此安全工作不能忽视。
首先关闭Root远程登录:
PermitRootLogin no
然后启用密钥登录:
PasswordAuthentication no
安装Fail2Ban:
apt install fail2ban -y
限制暴力破解。
配置防火墙:
ufw allow 22
ufw allow 80
ufw allow 443
ufw enable
定期更新系统:
apt update && apt upgrade -y
同时开启数据库备份和日志审计。
这样能够大幅提升整体安全性。
香港VPS部署Gitea的实际价值
对于很多企业而言,私有Git平台不仅仅是一个代码仓库,更是整个研发体系的重要组成部分。
通过香港VPS部署Gitea,可以获得更好的国际访问速度、更低的运维成本以及更高的数据自主控制权。相比动辄占用数GB内存的GitLab,Gitea更加轻量,部署难度更低,后期维护也更加简单。
当团队规模从几个人逐渐发展到几十人时,Gitea依然能够稳定运行,并且可以与Jenkins、Drone、ArgoCD等工具组合形成完整的DevOps流程。
对于希望构建自主研发平台的企业来说,在香港VPS上搭建Gitea私有Git服务器,无疑是一种投入成本低、部署效率高且长期收益明显的解决方案。只要按照本文的步骤完成安装、配置和安全加固,一套稳定可靠的企业级代码管理平台便能够快速投入使用,为后续的软件开发和团队协作提供坚实基础。

全球服务器测评








