Git服务器在Ubuntu中的搭建

CSDNA 2011-05-07

公司最近准备启用git来管理公司项目,在CTO张头的带领下,历经挫折,终于完成了git服务器的配置工作。在使用Git之前,大家首先要明确几个概念:git服务器、git客户端和git服务器管理员。本文中使用Ubuntu当作git服务器,pcA和pcB分别作为服务器管理员和git客户端。通常,git服务器上需要安装OpenSSH Server、Git、Gitosis和Apache2(如果想使用Gitweb的话)。

    本文将主要介绍git服务端和管理员相关的一些配置方法,客户端及管理员的git操作方法将在另一篇文章中作详细介绍。

(一)   Git服务端

1.请使用apt-get update和apt-get upgrade命令更新当前系统,如果不更新,在后面安装一些程序的时候可能会出现某些依赖包没安装的现象。

2.安装OpenSSH Server( ubuntu) (当前用户为wirror800)

    首先,使用ps -e|grep ssh命令,检查本机上是否已经运行ssh服务。如果没有,继续;否则,跳过此步骤。

    执行命令:

    sudo apt-get install openssh-server

3.修改ssh服务端配置文件 /etc/ssh/sshd_config (当前用户为wirror800)

   Port 22 # 修改成你想要的登陆端口,如2222

   PermitRootLogin no # 禁止root用户登陆

   StrictModes yes # 检查密钥的用户和权限是否正确,默认打开的

   RSAAuthentication yes # 启用 RSA 认证

   PubkeyAuthentication yes # 启用公钥认证

   PasswordAuthentication no # 禁止密码认证,默认是打开的

   ServerKeyBits 1024 # 修改后变为此状态,将ServerKey强度改为1024比特

   PermitEmptyPasswords no # 修改后变为此状态,禁止空密码进行登录

   修改完成后,重启ssh服务:

   sudo /etc/init.d/ssh restart

   注意:至此,服务端SSH的操作就已经结束了。网上说的“ id_rsa文件拷贝到Client端的~/.ssh/目录下,将id_rsa.pub拷贝到

Server端的~/.ssh/目录下,改名为authorized_keys ”其实都是不准确的。id_rsa是使用 ssh-keygen生成的rsa私钥, id_rsa.pub

是同时生成的公钥,服务器端通信使用的秘钥可以应该由服务器管理员来创建和管理,如果你想把当前用户wirror800作为管理

员也是可以的,相关管理员的操作见本文第二部分。不推荐在ubuntu服务器端建立管理员帐号。

    建议大家参考一下OpenSSH的相关内容:http://www.freebsd.org/doc/zh_CN/books/handbook/openssh.html


4.安装git (当前用户为wirror800)

    sudo apt-get install git-core

    安装git过程中可能会遇到一些依赖包下载失败的情况,主要是由于ubuntu的中文站点访问的问题,我们可以到其英文站点

上下载相关文件并进行手动安装。给大家一个链接地址:

     http://archive.ubuntu.com/ubuntu/pool/main/

5.安装gitosis(为什么要使用gitosis是大家首先需要明确的问题) (当前用户为wirror800)

    (1)在你喜欢的位置下,新建一个文件夹,用来存放下载的gitosis文件,如

    mkdir ~/gitosis_setup

    (2)安装gitosis


    cd ~/ gitosis_setup

    git clone git://eagain.net/gitosis

    cd gitosis

    sudo Python setup.py install

    注意:如果python setup.py install失败,需要安装python-setuptools.py

    sudo apt-get install python-setuptools.py

6. 为gitosis创建系统用户 (当前用户为wirror800)

     sudo adduser --system --shell /bin/sh --gecos 'git SCM user' --group --disabled-password --home /home/git  git

     这种方法是网上比较常见的方法,创建的是一个禁用密码的git用户,但在使用su命令切换git用户的时候,空密码老是

验证失败,大家可以使用下面的方法来创建git用户:

      sudo useradd -m git

      sudo password git

相关推荐