本文详细介绍了如何从零开始配置一个私有 Git 仓库服务器,包括服务器环境准备、Git 安装配置、用户权限管理以及远程仓库访问等核心步骤,适合开发团队或个人搭建高效代码管理平台。
一、服务器环境准备
在开始配置 Git 服务器前,需要确保具备以下条件:
- Linux 服务器(推荐 Ubuntu/CentOS)
- SSH 访问权限
- sudo 或 root 权限
更新系统软件包(Ubuntu示例)
sudo apt update && sudo apt upgrade -y
二、安装 Git 服务
在服务器上安装 Git 核心组件:
Ubuntu/Debian
sudo apt install git -y
CentOS/RHEL
sudo yum install git -y
三、创建 Git 用户和仓库目录
为安全考虑,建议创建专用用户管理 Git 仓库:
创建git用户
sudo adduser git
sudo passwd git
创建仓库存储目录
sudo mkdir -p /var/repo
sudo chown git:git /var/repo
四、初始化裸仓库
裸仓库(bare repository)是 Git 服务器的标准配置:
切换到git用户
su - git
初始化示例仓库
cd /var/repo
git init --bare project.git
设置目录权限
chmod -R 755 /var/repo
五、配置 SSH 访问
通过 SSH 密钥实现安全访问:
在客户端生成SSH密钥(本地机器执行)
ssh-keygen -t ed25519 -C "your_email@example.com"
将公钥上传到服务器
cat ~/.ssh/id_ed25519.pub | ssh git@yourserver "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
六、测试远程连接
验证仓库是否可正常访问:
本地克隆测试
git clone git@yourserver:/var/repo/project.git
首次推送测试
cd project
touch README.md
git add .
git commit -m "Initial commit"
git push origin master
七、高级配置(可选)
- GitWeb:可视化仓库浏览界面
- GitLab/Gitea:完整的 Git 管理平台
- HTTPS 访问:配置 Nginx 反向代理
- 钩子脚本:实现自动化部署
常见问题解决
Q1:权限拒绝错误
检查 /var/repo
目录权限和 SELinux 设置(CentOS)
Q2:SSH连接缓慢
在服务器 /etc/ssh/sshd_config
中添加:
UseDNS no
评论