Ubuntu server 搭建Git server

 

  Ubuntu server 搭建Git server,git相比svn,最主要就是分布式了,每一个客户端用户的本地都是一个版本管理控制器。python

  Ubuntu server 版本为12.04git

  搭建步骤以下:github

  一、更新Ubuntu servershell

  操做以下:bash

  $ apt-get update服务器

  $ apt-get upgradessh

  如上命令更新并升级系统,防止在安装git过程当中,出现部分依赖包没有安装。分布式

  

  二、安装openssh的server和clientsvn

  其实一般状况下,Ubuntu server都默认安装了openssh。安装SSH的目的,SSH 协议用于为 Git 提供远程读写操做,是远程写操做的标准服务,ssh可用于远程登陆,服务端须要安装openssh-server,客户端须要安装openssh-client。介绍ssh协议是由于gitolite以及gitosis都是基于ssh公钥认证的。工具

  安装openssh以前,能够先查看是否安装过

  $ ps -ef | grep ssh

  若是没有,就继续以下安装步骤,

  $ sudo apt-get install openssh-server openssh-client

  

  三、安装git

  $ sudo apt-get install git-core  

  安装完毕便可!

 

  四、配置git用户

  在Ubuntu Server上新增一个git用户,用于为安装gitosis作准备

  $ sudo adduser --system --shell /bin/bash --group git  // 建立用户 git,并设置用户的 shell 为可登陆的 shell,如 /bin/bash,同时添加同名的用户组。

  $ sudo adduser git ssh  // 有的系统,只容许特定的用户组(如 ssh 用户组)的用户才能够经过 SSH 协议登陆,这就须要将新建的 git 用户添加到 ssh 用户组中。

  $ sudo passwd git  // 为 git 用户设置口令。

  $ ssh-copy-id git@server  // 管理员在客户端使用下面的命令,创建无口令登陆。 

 

  五、建立git Server的仓库存储

  $ sudo mkdir /home/git/repositories  // 建立git仓库存储目录

  $ sudo chown git:git /home/git/repositories  // 设置只容许git用户才能访问此目录

  $ sudo chmod 755 /home/git/repositories  // 设置目录访问的可读写或执行的权限

  初始化一下服务器的git用户,这一步实际上是为了安装gitosis作准备。在任何一 台客户端机器上使用git,第一次须要初始化一下:

  $ git config --global user.name "name"       // 例如:james

  $ git config --global user.email "name@server"   // 例如:james@yahoo.com

  

  六、获取Gitosis,并安装

  Gitosis 就是一套用来管理 authorized_keys文件和实现简单链接限制的脚本。简单地说,Gitosis就是git的权限策略控制器。  

  由于Gitosis源码安装方式经过python方式,因此这里要检测是否安装了python的setup tool,没有即安装此工具, 这个也是为了gitosis作准备:

  $ sudo apt-get install python-setuptools

  去到一个临时目录

  $ cd /tmp

  $ git clone https://github.com/res0nat0r/gitosis.git  // 下载Gitosis的源代码

  $ cd /tmp/gitosis

  $ sudo python setup.py install

  

  说明:Gitosis有一个改进的升级版Gitolite,这里以安装Gitosis为标准,因此不对Gitolite介绍。Gitosis安装完以后,即Git服务器就安装完成,接下来,须要为Git设置一个管理员,经过Gitosis初始化以后,才能正常使用Git做为版本控制进行相关版本管理。

  下一节,将详细描述经过建立Git管理员来初始化Git Server,并详细描述Git在Windows下做为客户端如何使用。

相关文章
相关标签/搜索