linux 安装配置 git服务

1. 安装

  1. 准备工作,安装各种依赖库和编译工具
  1. yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
  2. yum install gcc perl-ExtUtils-MakeMaker
  1. 使用weget 下载安装包;
  1. // 先切换到要安装git的目录
  2. cd /usr/local/src
  3. // 使用wget下载安装包
  4. wget https://www.kernel.org/pub/software/scm/git/git-2.10.0.tar.gz
  1. 解压和编译
  1. tar -zvxf git-2.10.0.tar.gz // 解压
  2. cd git-2.10.0 // 进入目录
  3. make all prefix=/usr/local/git // 编译
  4. make install prefix=/usr/local/git // 编译后安装到指定目录

2. 配置环境变量

  1. 修改目录指向
  1. // 将原来的 PATH 指向目录修改为现在的目录
  2. echo 'export PATH=$PATH:/usr/local/git/bin' >> /etc/bashrc
  1. 生效环境变量
  1. source /etc/bashrc
  1. 此时我们能查看 git 版本号,说明我们已经安装成功了
  1. git --version

3. 创建 git 账号密码

  1. 为我们刚刚搭建好的 git 创建一个账号
  1. useradd -m gituser
  1. 然后为这个账号设置密码
  1. passwd gituser

4.初始化 git 仓库并配置用户权限

  1. 我们创建 /data/repositories 目录用于存放 git 仓库
  1. mkdir -p /data/repositories
  1. 创建好后,初始化这个仓库
  1. cd /data/repositories/ && git init --bare test.git
  1. 配置用户权限

给 git 仓库目录设置用户和用户组并设置权限

  1. chown -R gituser:gituser /data/repositories
  2. chmod 755 /data/repositories

查找 git-shell 所在目录

  1. which git-shell

, 编辑 /etc/passwd 文件,将最后一行关于 gituser 的登录 shell 配置改为 git-shell 的目录(安全目的, 限制 git 账号的 ssh 连接只能是登录 git-shel)
如下

  1. gituser:x:500:500::/home/gituser:/usr/local/git/bin/git-shell
  1. 使用搭建好的 Git 服务

克隆 test repo 到本地

  1. // 139.199.188.242 替换为自己服务器ip
  2. cd ~ && git clone gituser@139.199.188.242:/data/repositories/test.git