因为后面要采用Git代替Subversion,花了点时间配置了Git服务端和客户端,像以前一样,仍然基于最新的Ubuntu11.10 server/desktop系统。
感谢这几篇文章的作者:
http://www.hackido.com/2010/01/installing-git-on-server-ubuntu-or.html
同时参考一下:
http://www.debuntu.org/ssh-key-based-authentication 这篇文章介绍了SSH公钥和私钥的生成方法。
这篇文章里面介绍了新加用户的部分补充了第一篇文章的不足。
http://www.jiangmiao.org/blog/1600.html
这篇文章介绍了ssh-keygen命令的参数
http://lamp.linux.gov.cn/OpenSSH/ssh-keygen.html
我的安装步骤主要来源于上面引用的第一篇文章,并补充不足之处(比如原文第6条作者没说清楚)。
注意,Git是分布式管理工具,因此没有真正的Server,本文用了三台机器,分别是
S1 代表 机房里面的Ubuntu 11.10 server
C1 代表 第一台拥有管理权限的 Ubuntu desktop
C2 代表 后来被添加进来的拥有管理权限的Ubuntu desktop
三台机器都可以看作是服务器。只是从方便人使用的角度,总是将项目文件提交到S1上,并从S1上获得最新项目文件。
1.Ubuntu server安装Git服务程序
下文称这台Ubuntu server为S1
sudo apt-get install git-core
2.S1上安装Gitosis程序.
Gitosis是一个工具程序,可以帮助我们进行Git仓库的访问控制和远程管理。
sudo apt-get install python-setuptools
mkdir ~/src
cd ~/src
git clone https://github.com/res0nat0r/gitosis.git
cd gitosis
sudo python setup.py install
3.S1上创建一个git帐号。
没有密码。这个帐号是给Gitosis程序使用的。
sudo adduser \
--system \
--shell /bin/sh \
--gecos 'git version control' \
--group \
--disabled-password \
--home /home/git \
git
4.安装远程管理客户端
下文将第一个远程管理客户端称为C1