最近在学习和配置一个Git Server,由于对Linux也不是特别的深入,懂点皮毛罢了。所以整个过程还是折腾出了不少问题。写下此文,纯粹是当写个笔记了。当然肯定是少不了错误,小心参照之余,还望见谅。
参考资料:
有查找和阅读过很多相关的资料,最合适的属下边这篇了。其实很多资料都对,只是适合自己的内容,还得自己去淘啊!当然,这才是学习的过程。
《Gitolite Installation Step-By-Step》,By Phil Whelan。
地址:http://www.bigfastblog.com/gitolite-installation-step-by-step
环境:
OS:ubuntu-12.04.3-desktop
安装及配置过程:
1、建立git server用户
切换到root用户:
phil@air:~$ su -
创建git server用户(gitolite,用户名可自定义):
root@localhost:~# adduser \
--system \
--shell /bin/bash \
--gecos 'git version control' \
--group \
--disabled-password \
--home /home/gitolite \
gitolite
切换回普通用户:
root@localhost:~# su -l phil
phil@air:~$
2、git服务器与客服端使用的是SSH
之前总是在这一部分出问题。因为配置好SSH后,有密钥的条件下应该能不需要密码也能访问。但始终都在这个部分出问题,主要还是因为对SSH的不熟悉与不理解。
先要保证系统安装了OpenSSH。若没有安装,使用命令sudo apt-get install openssh-server安装之。
phil@air:~$ cd .ssh
phil@air:~/.ssh$ ssh-keygen -t rsa -f gitolite
在.ssh目录下会生成一对密钥(公有密钥gitolite.pub和私有密钥gitolite)。
phil@air:~/.ssh$ ls -l
-rw------- 1 phil staff 1679 23 Jul 19:58 /home/phil/.ssh/gitolite
-rw-r--r-- 1 phil staff 396 23 Jul 19:58 /home/phil/.ssh/gitolite.pub
将公有密钥拷贝到root用户目录下:
phil@air:~/.ssh$ sudo cp gitolite.pub /root/
切换到root用户,并将公有密钥移动到git server用户gitolite目录下:
phil@air:~/.ssh$ su -
root@localhost:~# mv gitolite.pub /home/gitolite
root@localhost:~# chown gitolite:gitolite /home/gitolite/gitolite.pub
3、安装gitolite
先确保git已经安装。若没有安装,使用命令sudo apt-get install git安装之。
由root切换至git server用户gitolite,并移动去gitolite用户目录下:
root@localhost:~# su - gitolite
gitolite@localhost:~$ cd
gitolite@localhost:~$
下载gitolite:
gitolite@localhost:~$ git clone git://github.com/sitaramc/gitolite
在gitolite用户目录下创建bin目录,gitolite将被安装到该目录下:
gitolite@localhost:~$ mkdir bin
现在安装gitolite软件:
gitolite@localhost:~$ gitolite/install -to /home/gitolite/bin
这一步还没有安装完成。这种“安装”实际上只是安装了我们真正安装gitolite服务器时使用的命令行工具。所以下一步是运行该命令行工具来安装我们刚刚安装的命令行工具来安装gitolite服务器,并将之前上传的SSH公钥导入其中:
gitolite@localhost:~$ /home/gitolite/bin/gitolite setup -pk gitolite.pub
之后切换回普通用户开始配置gitolite服务器。
gitolite@localhost:~$ su - phil
4、配置gitolite服务器