ubuntu 搭建git服务器

一、所需软件软件安装与配置

         git-core是git版本控制核心软件,安装openssh-server和openssh-client是由于git需要通过ssh协议来在服务器与客户端之间传输文件

 

       配置git账号名和邮箱

ubuntu 搭建git服务器_第1张图片

 

  安装python的setuptools和gitosis,由于gitosis的安装需要依赖于python的一些工具,所以我们需要先安装python的setuptools。

ubuntu 搭建git服务器_第2张图片

 

二、创建git管理员账号

    创建git用户

ubuntu 搭建git服务器_第3张图片

 

三、配置gitosis

  在管理员机器生成秘钥,管理员机器可以是此台服务器别的用户,也可以是别的机器

        ubuntu 搭建git服务器_第4张图片

  把生成的id_rsa.pub拷到git账户下,比如  /home/git/,用这个key来初始化git仓库

  ubuntu 搭建git服务器_第5张图片

 

    注意:如果出现用户名git不在sudoers文件中,可以修改文件 /etc/sudoers,修改内容如下:

 

      出现如上信息说明gitosis已经初始化成功, 会在/home/git/目录下生成repositories目录,这个就是放在git项目的目录,里面有gitosis-adgitosis.git的仓库,通过gitosis-admin.git仓库来管理一些配置文件的,如用户权限的管理。

      添加权限

   ubuntu 搭建git服务器_第6张图片

 

 四、在服务器新建测试仓库

       创建test仓库

   ubuntu 搭建git服务器_第7张图片

 

五、使用gitosis管理用户操作项目的权限

      在管理员电脑上做如下操作

      ubuntu 搭建git服务器_第8张图片

        clone后,gitosis-admin目录下:

               keydir目录: 存放所有需要访问git服务器的用户的ssh公钥,各个用户按照前面提到的办法生成各自的ssh公钥文件后,把         所有人的ssh公钥文件按名字重新命名一下,然后拷贝到keydir目录下,例如,lisi.pub,  zhangsan.pub ,  若lisi为管理员机器          的ssh key

             gitosis.conf文件,做相应的配置:

     ubuntu 搭建git服务器_第9张图片

 

        这个配置文件表达了如下含有:gitosis-admin组成员有ljz,该组对gitosis-admin仓库有读写权限;testgit组有 ljz lisi wanger三个成员,该组对test仓库有读写权限。目前这些配置文件的修改只是在本地,必须推送到远程的git服务器上才能真正生效

       提交并push到Git服务器

       ubuntu 搭建git服务器_第10张图片

      

六 初始化测试项目

       现在服务器搭建完毕,并且有一个空的项目test在服务器上。接下来,需要测试一下,空仓库是不能clone的,所以需要某个有写权限的人初始化一个版本。在客户端执行

     ubuntu 搭建git服务器_第11张图片

 

 

你可能感兴趣的:(环境搭建)