CentOS7 搭建GIT环境

一. 安装 libiconv
这个是非常规项 如果服务器原来已经装过 可以不装 但是如果git安装时候提示找不到libiconv 需要在git的安装参数中指定安装路径
最新版是 1.15

  1. wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.15.tar.gz
  2. tar -zxvf libiconv-1.15.tar.gz
  3. cd libiconv-1.15
  4. ./configure --prefix=/usr/local/libiconv && make && make install
  5. rm -rf /usr/lib/libiconv.so //删除原有的软连接
  6. rm -rf /usr/lib/libiconv.so.2
  7. ln -s /usr/local/lib/libiconv.so /usr/lib 新建软连接
  8. ln -s /usr/local/lib/libiconv.so.2 /usr/lib

二. 卸载原有git 默认git一般版本都比较低 1.7 1.8的 现在已经2.9+了 所以先卸载原来老的

  1. rpm -e --nodeps git

三 安装git 具体版本自己找 本文以2.9.2为例

  1. cd ../ #返回上级目录
  2. wget https://github.com/git/git/archive/v2.9.2.tar.gz
  3. tar -xzvf v2.9.2.tar.gz
  4. cd git-2.9.2
  5. make prefix=/usr/local/git all #如果报错 使用下面的方式
  6. make prefix=/usr/local/git install #如果报错 使用下面的方式
  7. make configure
  8. ./configure --prefix=/usr/local/git --with-iconv=/usr/local/libiconv #libiconv地址改成自己的
  9. make && make install
  10. vi /etc/profile #添加到环境变量
    export PATH="/usr/local/git/bin:$PATH"
    source /etc/profile #是配置立即生效
  11. git --version #查看版本号
  12. 将git设置为默认路径,不然后面克隆时会报错
    ln -s /usr/local/git/bin/git-upload-pack /usr/bin/git-upload-pack
    ln -s /usr/local/git/bin/git-receive-pack /usr/bin/git-receive-pack

四. 配置git

  1. Git服务器打开RSA认证
    vi /etc/ssh/sshd_config #以下项前面的#去掉
    1.RSAAuthentication yes
    2.PubkeyAuthentication yes
    3.AuthorizedKeysFile .ssh/authorized_keys

  2. 禁止Shell登录
    vi /etc/passwd
    git:x:502:502::/home/git:/bin/bash 修改成下面的 git的路径要设置成自己的
    git:x:502:502::/home/git:/usr/local/git/bin/git-shell

  3. 创建git用户组和用户
    groupadd git
    useradd git -g git
    passwd git
    su - git #切换到刚创建的git用户

  4. 创建用户公钥文件
    cd /home/git/
    mkdir .ssh #新建文件夹
    chmod 700 .ssh
    touch .ssh/authorized_keys #新建文件
    chmod 600 .ssh/authorized_keys
    后续用户只需要向authorized_keys中添加自己的公钥

五. 创建仓库及使用
1. cd /home/git #在某个文件夹下创建
git init --bare test.git #创建一个空仓库 仓库名字叫 test

  2.  本地克隆仓库
        git clone git@your-ip:test.git

猜你喜欢

转载自www.cnblogs.com/mverting/p/10206532.html