使用gitolite搭建git服务器

1:链接服务器
2:安装git

yum install git

3:安装perl(perl在linux下可以理解为增强版本的shell,是一种脚本语言,具有程序结构,很多内建功能,也方便调用其它程序)在安装perl的同时,最好把 cpan 也同时安装一下。

yum install perl
yum install cpan

4:安装openssh
OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现。SSH协议族可以用来进行远程控制, 或在计算机之间传送文件。而实现此功能的传统方式,如telnet(终端仿真协议)、 rcp ftp、 rlogin、rsh都是极为不安全的,并且会使用明文传送密码。

yum install openssh

5:添加git、gitadmin用户 ,删除用户

useradd git 

userdel -r gitadmin

6:添加用户的ssh登录密码

passwd git 

7:查看所有用户

cat /etc/passwd

这里写图片描述
大多都是系统自带的,而只有像root、git这样的以/bin/bash的,是可以使用ssh登录的

cat  /etc/shadow

8:.在 gitadmin 用户下生成公钥私钥

ssh-keygen

在当前目录ll -a 查看是否有.ssh文件
在.ssh文件里面有id_res和id_res.pub
cp id_res.pub /root/id_res.pub

9:在 git 用户下安装 gitolite
在git用户的/home下面,执行

git clone https://github.com/sitaramc/gitolite
mkdir -p $HOME/bin
gitolite/install -to $HOME/bin
ls

可以看到有两个目录bin,gitolite

10:设置管理员的私钥
在git用户下的/bin目录下,执行

./gitolite setup -pk /root/res.pub

11:在git用户下会多出两个文件projects.list 、respositories:
respositories文件是所有的仓库,这里在git用户下只是做配置;
cd 到respositories目录下,我们查看一下目录下的东西:

12:切换到gitadmin用户下,clone git用户下的gitolote-admin.git

git clone git@ip地址:gitolite-admin

gitadmin用户下已经存在了这个目录,然后查看一下这个目录,下面有两个文件,
conf 仓库
keydir 这个文件是用来放置公钥的

13:本地生成公钥私钥,然后copy到gitadmin/gitolite-admin/keydir下,命令如下:

scp id_rsa.pub root@ip地址:/home/gitadmin/gitolite-admin/keydir/local.pub

在gitolite-admin目录下面,执行、

git status
git add *
git commit -m '公钥’
git push

14:vim conf/gitolite.conf
这里写图片描述
其中几个仓库,是我随意添加的。添加以后,执行如下:

git status
git add *
git commit -m '公钥’
git push

15:git clone git@ip地址:仓库名“

16:success

猜你喜欢

转载自blog.csdn.net/network_dream/article/details/81564801