一. 安装 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

CentOS7 搭建GIT环境的更多相关文章

  1. [.net 面向对象程序设计进阶] (25) 团队开发利器(四)分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境

    [.net 面向对象程序设计进阶] (25) 团队开发利器(四)分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境 本篇导读: 前面介绍了两款代码管理工具 ...

  2. 分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境(服务器端及客户端)(转)

    近期想改公司内部的源码管控从TFS为git,发现yubinfeng大侠有关git的超详细大作,现将其转载并记录下,以防忘记,其原博客中有更加详细的git及.net开发相关内容.原文地址:http:// ...

  3. CentOS7——搭建LNMP环境(WordPress案例)

    CentOS7--搭建LNMP环境(WordPress案例) LNMP组成介绍 LNMP(Linux-Nginx-MySQL-PHP)网站架构是目前国际流行的Web框架,该框架包括:Linux操作系统 ...

  4. CentOS7搭建git服务器

    在CentOS7上搭建git服务器, 1.在Linux上安装git yum install -y git 验证是否安装成功,出现版本号即成功 git --version 2.创建版本库和用户 创建用户 ...

  5. Centos7 搭建lnmp环境 (centos7+nginx+MySQL5.7.9+PHP7)

    阿里云一台服务器出现问题! 我估计是一键安装包环境的原因,所以打算重新搭建下环境! 首先,当然是先做好快照!安全第一! 对系统盘做更换系统操作,装上纯净版的centos. 装好后,进入系统 一.挂载数 ...

  6. centos7 搭建 docker 环境

    1. 安装centos7  http://isoredirect.centos.org/centos/7/isos/x86_64/ 下载 everything 版本,最小化版本可能缺失很多东西 我是在 ...

  7. centos7搭建sonarqube环境+jenkins部署全流程

    一.简介sonarqube是一个用于代码质量管理的开源平台,用于管理源代码的质量 不遵循代码标准sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具规范代码编写.潜在的 ...

  8. 阿里云centos7搭建wordpress环境

    阿里云搭建wordpress系统 一.购买阿里云 二.安装php开发环境 1. https://www.apachefriends.org/zh_cn/index.html网站下载linux下的xam ...

  9. CentOS7 搭建Git服务器(转)

    1.在服务器上创建一个新用户 adduser git 2.创建一个Git仓库 cd /data/git //切换到希望创建工作区的目录git init --bare sample.git //创建一个 ...

随机推荐

  1. js下拉框去掉重复的

    想用jquery代码实现这样的一个功能:有一个下拉框,当选择下拉框的时候,判断选择的值有没有被选择过,如果有则提示:代码如下: $(function(){ var authTypes=new Arra ...

  2. Porting QML Applications to Qt 5

    When porting QML-related code from Qt 4.8 to Qt 5, application developers should be aware that the Q ...

  3. javascript 事件相关使用总结01

    javascript 事件相关使用总结01 这里总结一下js事件相关的经验. addEventLinstener()介绍 注册事件最基础的函数是这个 target.addEventListener(t ...

  4. 快速安装测试版Mysql

    本文操作系统: CentOS 7.2.1511 x86_64MySQL 版本: 5.7.13 1.卸载系统自带的 mariadb-lib [root@centos-linux ~]# rpm -qa| ...

  5. 【Leetcode】【Medium】Letter Combinations of a Phone Number

    Given a digit string, return all possible letter combinations that the number could represent. A map ...

  6. 【Leetcode】【Medium】3Sum

    Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all un ...

  7. json转换为tree对象(递归)

    const newTeam = function (data, parentId) { 2 let itemArr = []; 3 for (let i = 0; i < data.length ...

  8. 【转】[C++]实现委托模型

    原文地址:http://www.cnblogs.com/zplutor/archive/2011/09/17/2179756.html 我对.Net的委托模型印象很深刻,使用委托,可以快速实现观察者模 ...

  9. 六种排序算法的JavaScript实现以及总结

    最近几天在系统的复习排序算法,之前都没有系统性的学习过,也没有留下过什么笔记,所以很快就忘了,这次好好地学习一下. 首先说明为了减少限制,以下代码通通运行于Node V8引擎而非浏览器,源码在我的Gi ...

  10. Core Animation Manages Your App’s Content

    Core Animation 是对现有图片的操作函数. https://developer.apple.com/library/content/documentation/Cocoa/Conceptu ...