在CentOS6.5搭建git服务器

  • 摘要:环境:服务器CentOS6.5+git(version2.8.0)1.安装git1)安装依赖包yuminstallcurl-develexpat-develgettext-developenssl-develzlib-develgccperl-ExtUtils-MakeMaker2)下装git源码wgethttps://github.com/git/git/archive/v2.8.0.zip3)编译安装解压git源码到当前目录Unzipv2.8.0.zip把git安装到/u
  • 环境:

     

    服务器 CentOS6.5 + git(version 2.8.0)

     

    1. 安装git

     

    1)安装依赖包

     

    yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

     

    2)下装git源码

     

    wget https://github.com/git/git/archive/v2.8.0.zip

     

    3)编译安装

     

    解压git源码到当前目录

     

    Unzip v2.8.0.zip

     

    把git安装到/usr/local/git目录下

     

    make prefix=/usr/local/git all

     

    make prefix=/usr/local/git install

     

    4)修改环境变量

     

    vi /etc/profile

     

    export PATH=/usr/local/git/bin:$PATH

     

    source命令可以使配置立刻生效

     

    source /etc/profile

     

    5)查看git版本

     

    git --version 查看git版本,输出以下信息表示安装成功

     

    git version 2.8.0

     

    6)创建git用户(主要用来管理项目)

     

    查看git用户是否已存在,存在则换个帐号不存在则创建

     

    id git

     

    输出以下信息表示git用户不存在

     

    id: git:无此用户

     

    添加git用户

     

    useradd git

     

    设置git帐号对应的密码

     

    pwd 123

     

    7)服务器端创建 Git 测试仓库(设置~/data/git/gittest.git 为 Git 仓库)

     

    切换到git帐号

     

    su git

     

    cd ~

     

    mkdir -p data/git/gittest.git

     

    git init --bare data/git/gittest.git

     

    Initialized empty Git repository in /home/data/git/gittest.git/

     

    cd data/git/

     

    8)使用wind客户端链接git服务器

     

    进入 Git Bash 命令行客户端,创建项目地址(设置在 d:/wamp64/www/gittest_gitbash)并进入:

     

    [email protected] MINGW64 /d $ cd wamp64/www

     

    [email protected] MINGW64 /d/wamp64/www $ mkdir gittest_gitbash

     

    [email protected] MINGW64 /d/wamp64/www $ cd gittest_gitbash

     

    [email protected] MINGW64 /d/wamp64/www/gittest_gitbash $

     

    然后从 Linux Git 服务器上 clone 项目

     

    $ git clone [email protected]:/home/data/gittest.git

     

    当第一次连接到目标 Git 服务器时会得到一个提示:

     

    The authenticity of host '192.168.56.101 (192.168.56.101)' can't be established. RSA key fingerprint is SHA256:Ve6WV/SCA059EqoUOzbFoZdfmMh3B259nigfmvdadqQ. Are you sure you want to continue connecting (yes/no)?

     

    选择 yes:

     

    Warning: Permanently added '192.168.56.101' (RSA) to the list of known hosts.

     

    此时C:/Users/用户名/.ssh 下会多出一个文件known_hosts,以后在这台电脑上再次连接目标 Git 服务器时不会再提示上面的语句。

     

    在CentOS6.5搭建git服务器

     

    后面提示要输入密码。

     

    以上完成后表示git已经正式安装成功,但是这里有2个问题

     

    1、客户端每次git链接都要输入密码操作起来非常麻烦

     

    2、这里git链接输入的帐号是服务器上git用户的密码,如果一不小心暴露了服务器很容易被攻击。

     

    居于以上2点考虑,这种方式链接不靠谱。因此我们需要安装gitolite来对git帐号进行管理

    2.gitolite安装

     

    1)使用git帐号登陆服务器

     

    cd ~

     

    2)下载gitolite

     

    git clone https://github.com/sitaramc/gitolite

     

    3)gitolite安装

     

    创建bin目录并安装gitolite到bin目录($表示当前用户)

     

    mkdir $HOME/bin

     

    gitolite/install -to $HOME/bin

     

    4)配置gitolite管理员

     

    cd ~

     

    用git用户生成公钥(注:如果你是接着上面一直做下来的,那么只需要输入cd ,然后回车,则就进入了该用户的目录,如果不是git用户,则需要输入su – git,来切换到git用户)

     

    ssh-****** -t rsa

     

    修改.ssh/id_rsa.pub 为admin.pub(为什么要改成admin.pub 因为gitolite根据这个文件名来设立帐号.我这里用admin

     

    mv .ssh/id_rsa.pub admin.pub

     

    5)使用管理员公钥安装gitolite(然后去/home/git/repositories 里面,可以看见仓库文件.gitolite-admin.git 和test.git 一个是管理仓库的,一个是测试用)

     

    $HOME/bin/gitolite setup -pk admin.pub

     

    在CentOS6.5搭建git服务器

     

    6)生成管理员管理仓库(不需要输密码)

     

    git clone [email protected]:gitolite-admin

     

    进入仓库后可以看到conf 和keydir ,conf/gitolite.conf 是添加用户/仓库的配置, keydir 是放对应用户的公想·x钥.并且此时,admin.pub这个公钥可以删除了

     

    7)添加新用户和新项目

     

    先生成**(hurrican01为私钥,hurrican01.pub为公钥。私钥是windows客户服务用来免登录用的)

     

    ssh-****** -t rsa(命名为hurrican01和hurrican01.pub)

     

    修改 gitolite.conf

     

    vi gitolite-admin/conf/gitolite.conf

     

    这里是新增了一个hurrican01用户和一个user组

     

    在CentOS6.5搭建git服务器

     

    上面的配置含义是:

     

    定义两个用户组: admin 和 user

     

    定义两个版本库: gitolite-admin 和 project

     

    用户admin 对 这两个版本库有(读 写 删除)RW+ 权限

     

    user组对project 有 (读 写)RW 权限

     

    也可按照格式,添加多个组,多个版本库

     

    如有一个组中有多个用户,则以空格为分割。

     

    把hurrican01.pub放在/home/git/gitolite-admin/keydir

     

    *网上都说这时直接cmmit就可以,实际是不行的这时还需要设置authorized_keys

     

    vi ~/.ssh/authorized_keys

     

    在CentOS6.5搭建git服务器

     

    然后再走提交流程这样才可以创建用户和项目

     

    git add keydir/hurrican01.pub conf/gitolite.conf

     

    git commit -am "new project"

     

    git push origin master

     

    提交完后,查看管理仓库中多了一个haodi.git

     

    这个时候,服务器已经搭建完毕了

     

    3.window Git环境配置

     

    复制hurrican01(私钥)文件到 C:/Users/Administrator/.ssh目录,新建config文件并填写对应的内容:

     

    以下内容表示git服务器ip地址对应的帐号是hurrican01使用的私钥路径是 C:/Users/Administrator/.ssh/hurrican01(此路径用户可自行设置)

     

    host git服务器IP地址

     

    user hurrican01

     

    hostname git服务器IP地址

     

    port 22

     

    identityfile C:/Users/Administrator/.ssh/hurrican01

     

    这时打开git Bash 输入git clone [email protected]服务器ip地址:/项目路径如果可以下载则表明设置成功

     

    在CentOS6.5搭建git服务器

    如果有什么安装疑问欢迎发消息到我的个人邮箱质询,只要有时间一定回复。个人的邮箱地址是:[email protected]

  • 以上是在CentOS6.5搭建git服务器的内容,更多 搭建 服务器 CentOS 6.5 Git 的内容,请您使用右上方搜索功能获取相关信息。