如何轻松搭建Git服务器?完整配置教程在此
- 行业动态
- 2025-04-24
- 4
准备工作
在配置Git服务器前,需确保以下条件已满足:
- 服务器环境:一台运行Linux(如Ubuntu、CentOS)的云服务器或物理主机,具备公网IP或内网访问权限。
- 权限要求:拥有
root
或sudo
权限的用户账号。 - 基础工具:安装
git
核心工具,执行命令:sudo apt-get install git -y # Ubuntu/Debian sudo yum install git -y # CentOS/RHEL
选择Git服务软件
根据团队规模与需求,推荐以下两种主流方案:
GitLab(适合中大型团队)
特点:功能全面(CI/CD、问题跟踪等),但资源占用较高。
安装步骤:
# 安装依赖 sudo apt-get install curl openssh-server ca-certificates postfix -y # 添加GitLab仓库并安装 curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash sudo apt-get install gitlab-ce
配置与启动:
sudo gitlab-ctl reconfigure # 初始化配置 sudo gitlab-ctl start # 启动服务
访问
http://服务器IP
完成初始化设置,默认用户名root
,首次登录需设置密码。
Gitea(轻量级,适合小型团队)
特点:资源占用低,部署简单。
安装步骤:
# 下载二进制文件(以v1.20为例) wget -O gitea https://dl.gitea.com/gitea/1.20/gitea-1.20-linux-amd64 chmod +x gitea # 创建服务用户并启动 sudo useradd -m -d /home/gitea -s /bin/bash gitea sudo ./gitea web -p 3000
访问
http://服务器IP:3000
进行安装向导。
安全加固与权限管理
SSH密钥认证
- 生成密钥:
ssh-keygen -t ed25519
- 将公钥(
~/.ssh/id_ed25519.pub
)添加到Git服务器的用户配置中。
- 生成密钥:
防火墙设置
sudo ufw allow ssh # 开放SSH端口 sudo ufw allow http # 开放HTTP(如80端口) sudo ufw enable # 启用防火墙
HTTPS加密
使用Let’s Encrypt免费证书:sudo apt-get install certbot -y sudo certbot certonly --standalone -d git.example.com
在Git服务配置文件中绑定证书路径(如GitLab的
/etc/gitlab/gitlab.rb
)。
数据备份与恢复
GitLab备份:
sudo gitlab-rake gitlab:backup:create # 手动备份 sudo gitlab-ctl backup-etc # 备份配置文件
备份文件默认存储于
/var/opt/gitlab/backups
。Gitea备份:
通过Web界面(/admin/backups
)或命令行执行:./gitea dump -c /etc/gitea/app.ini # 生成备份压缩包
常见问题解决
仓库访问权限错误
- 检查用户SSH密钥是否绑定。
- 确认仓库的
git用户
(如git:git
)拥有目录权限。
GitLab服务启动失败
- 查看日志:
sudo gitlab-ctl tail
- 检查端口冲突(默认使用80、443、22端口)。
- 查看日志:
引用说明
本文参考以下权威来源:
- GitLab官方文档:https://docs.gitlab.com/
- Gitea安装指南:https://docs.gitea.io/
- Pro Git书籍:https://git-scm.com/book/