上一篇
如何快速搭建属于自己的Git服务器?
- 行业动态
- 2025-04-19
- 3
在团队协作或开源项目中,搭建私有Git服务器是高效管理代码的核心需求,本文将详细讲解四种主流搭建方案,涵盖从基础配置到企业级部署的完整流程,确保代码安全与协作效率。
准备工作
- 选择服务器:推荐使用Linux系统(如Ubuntu/CentOS),确保网络连通性。
- 安装Git:
sudo apt update && sudo apt install git -y # Debian/Ubuntu sudo yum install git -y # CentOS/RHEL
基于SSH协议搭建(适合小型团队)
- 创建Git专用用户:
sudo adduser git su git cd ~
- 初始化仓库:
mkdir project.git && cd project.git git init --bare # 创建裸仓库
- 权限控制:
- 将团队成员SSH公钥写入
/home/git/.ssh/authorized_keys
。 - 禁止git用户登录Shell:
sudo chsh git -s $(which git-shell) # 修改git用户的默认Shell
- 将团队成员SSH公钥写入
- 客户端克隆测试:
git clone git@服务器IP:/home/git/project.git
基于Git协议搭建(适合公开只读仓库)
- 安装依赖:
sudo apt install git-daemon-run # Ubuntu sudo yum install git-daemon # CentOS
- 配置仓库权限:
cd /path/to/repo.git touch git-daemon-export-ok # 标记为可公开访问
- 启动Git守护进程:
systemctl start git-daemon.socket # 默认监听端口9418
- 客户端访问:
git clone git://服务器IP/repo.git
使用Gitea搭建轻量私有平台(推荐中小团队)
下载二进制包:
wget -O gitea https://dl.gitea.io/gitea/1.20.5/gitea-1.20.5-linux-amd64 chmod +x gitea
创建系统服务:
# /etc/systemd/system/gitea.service [Unit] Description=Gitea After=syslog.target network.target [Service] User=git ExecStart=/usr/local/bin/gitea web Restart=always [Install] WantedBy=multi-user.target
启动并配置:
sudo systemctl enable gitea && sudo systemctl start gitea
- 浏览器访问
http://服务器IP:3000
,按向导完成安装。
- 浏览器访问
部署GitLab实现企业级管理(高扩展性方案)
- 安装依赖:
sudo apt install curl openssh-server ca-certificates postfix -y
- 添加官方仓库:
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
- 自动安装配置:
sudo EXTERNAL_URL="http://服务器IP" apt install gitlab-ce
- 访问与优化:
- 默认访问地址:
http://服务器IP
- 修改配置文件:
sudo vim /etc/gitlab/gitlab.rb # 调整域名、邮箱等参数 sudo gitlab-ctl reconfigure # 重载配置
- 默认访问地址:
安全加固建议
- 防火墙规则:仅开放SSH(22)、HTTP(80)、HTTPS(443)端口。
- 定期备份:
# GitLab备份示例 sudo gitlab-rake gitlab:backup:create
- 启用HTTPS:使用Let’s Encrypt免费证书。
引用说明
本文参考Git官方文档(https://git-scm.com/book)、Gitea官方指南(https://docs.gitea.io)及GitLab部署手册(https://docs.gitlab.com)。