当前位置:首页 > 行业动态 > 正文

如何快速搭建属于自己的Git服务器?

在团队协作或开源项目中,搭建私有Git服务器是高效管理代码的核心需求,本文将详细讲解四种主流搭建方案,涵盖从基础配置到企业级部署的完整流程,确保代码安全与协作效率。


准备工作

  1. 选择服务器:推荐使用Linux系统(如Ubuntu/CentOS),确保网络连通性。
  2. 安装Git:
    sudo apt update && sudo apt install git -y  # Debian/Ubuntu
    sudo yum install git -y                     # CentOS/RHEL

基于SSH协议搭建(适合小型团队)

  1. 创建Git专用用户
    sudo adduser git
    su git
    cd ~
  2. 初始化仓库
    mkdir project.git && cd project.git
    git init --bare  # 创建裸仓库
  3. 权限控制
    • 将团队成员SSH公钥写入/home/git/.ssh/authorized_keys
    • 禁止git用户登录Shell:
      sudo chsh git -s $(which git-shell)  # 修改git用户的默认Shell
  4. 客户端克隆测试
    git clone git@服务器IP:/home/git/project.git

基于Git协议搭建(适合公开只读仓库)

如何快速搭建属于自己的Git服务器?

  1. 安装依赖
    sudo apt install git-daemon-run  # Ubuntu
    sudo yum install git-daemon      # CentOS
  2. 配置仓库权限
    cd /path/to/repo.git
    touch git-daemon-export-ok  # 标记为可公开访问
  3. 启动Git守护进程
    systemctl start git-daemon.socket  # 默认监听端口9418
  4. 客户端访问
    git clone git://服务器IP/repo.git

使用Gitea搭建轻量私有平台(推荐中小团队)

  1. 下载二进制包

    wget -O gitea https://dl.gitea.io/gitea/1.20.5/gitea-1.20.5-linux-amd64
    chmod +x gitea
  2. 创建系统服务

    # /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
  3. 启动并配置

    如何快速搭建属于自己的Git服务器?

    sudo systemctl enable gitea && sudo systemctl start gitea
    • 浏览器访问 http://服务器IP:3000,按向导完成安装。

部署GitLab实现企业级管理(高扩展性方案)

  1. 安装依赖
    sudo apt install curl openssh-server ca-certificates postfix -y
  2. 添加官方仓库
    curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
  3. 自动安装配置
    sudo EXTERNAL_URL="http://服务器IP" apt install gitlab-ce
  4. 访问与优化
    • 默认访问地址: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)。