没有合适的资源?快使用搜索试试~ 我知道了~
超实用的git服务器的安装与配置 教程与指导说明文档,欢迎下载使用
资源推荐
资源详情
资源评论
任务: 以一台linux电脑(i5,ubuntu 12.04)为服务器,创建仓库seu_ccplayer,创建组media, 组成员包括litong, gavin,i5_admin,对仓库均有读写,创建分支等权限。二. 实践:
采用 ssh + gitolite架设服务器。整个过程可分为3步,第一,安装gitolite;第二,生成一个管理整个服务器所有git的git仓库gitolite-admin,由用户 i5_admin在客户端进行管理上传控制,i5_admin通过这个仓库控制其他仓库的创建删除,以及权限设置等。第三,创建seu_ccplayer仓库,添加用户组,用户,测试。2.1 安装gitolite
2.1.1 服务器的动作
服务器要做两件事。第一件事,创建服务器端的git专用用户(帐号),所有用户都通过此帐号访问git库。要注意的是,客户端用这个帐号通过ssh登录服务端的时候,是得不到shell的使用权的,用ssh git@server的时候会报错:PTY allocation request failed on channel 0,报错现象和 ssh git@github.com是一样的。服务器要做的第二件事,是安装gitolite。
第一件事,创建专用账户,常用user name 为git:
sudo adduser --system --shell /bin/bash --group git
设置密码: sudo passwd git
建议git搭建完毕后取消密码,但是我偷懒,就没有取消了。
第二件事,安装gitolite:
git clone git://github.com/ossxp-com/gitolite.git //从github上下载源码
mkdir -p $HOME/bin $HOME/share/gitolite/conf $HOME/share/gitolite/hooks // 建立命令,conf,和hooks目录
cd gitolite/src
gl-system-install $HOME/bin $HOME/share/gitolite/conf $HOME/share/gitolite/hooks
把export PATH=/home/git/bin:$PATH写入到bash.rc里
gl-setup ../ssh_pub/i5_admin.pub// 这个pub文件,是由用户 i5_admin在客户端通过ssh-keygen -f ~/.ssh/i5_admin生成的pub文件,传到服务器端,这样i5_admin就成为了git的管理用户了。
2.1.2 客户端的动作 首先,需要先生成一个admin的公钥/私钥:
ssh-keygen -f ~/.ssh/i5_admin
这样在客户端~/.ssh/ 生成了一个i5_admin.pub 和一个i5_admin, 把i5_admin.pub传到服务器端,服务器端用gl-setup来装gitolite。当服务器端完成以上安装后,客户端克隆git的管理库, 首先使用ssh别名,创建或打开编辑~/.ssh/config, 添加下几行:
host gitolite
user git
hostname 192.168.123.173
port 22
identityfile ~/.ssh/i5_admin
然后克隆管理库:
git clone gitolite:gitolite-admin
就能克隆一个库gitolite-admin下来,这个库是用来管理服务器端上所有的其他git库和所有人的权限的。
2.2 增加git库和用户
2.2.1 关于git管理库
在客户端clone下来的gitolite-admin,先看一下里面的文件和结构,有两个目录,文件简析如下:
gitolite-admin/conf/gitolite.conf:这个文件记录了所有的git仓库的状况。在安装初始,就建立了两个repo,一个是gitolite-admin, i5_admin具备所有读写创建权限,另外一个是testing, 所有用户具有读写创建权限。
采用 ssh + gitolite架设服务器。整个过程可分为3步,第一,安装gitolite;第二,生成一个管理整个服务器所有git的git仓库gitolite-admin,由用户 i5_admin在客户端进行管理上传控制,i5_admin通过这个仓库控制其他仓库的创建删除,以及权限设置等。第三,创建seu_ccplayer仓库,添加用户组,用户,测试。2.1 安装gitolite
2.1.1 服务器的动作
服务器要做两件事。第一件事,创建服务器端的git专用用户(帐号),所有用户都通过此帐号访问git库。要注意的是,客户端用这个帐号通过ssh登录服务端的时候,是得不到shell的使用权的,用ssh git@server的时候会报错:PTY allocation request failed on channel 0,报错现象和 ssh git@github.com是一样的。服务器要做的第二件事,是安装gitolite。
第一件事,创建专用账户,常用user name 为git:
sudo adduser --system --shell /bin/bash --group git
设置密码: sudo passwd git
建议git搭建完毕后取消密码,但是我偷懒,就没有取消了。
第二件事,安装gitolite:
git clone git://github.com/ossxp-com/gitolite.git //从github上下载源码
mkdir -p $HOME/bin $HOME/share/gitolite/conf $HOME/share/gitolite/hooks // 建立命令,conf,和hooks目录
cd gitolite/src
gl-system-install $HOME/bin $HOME/share/gitolite/conf $HOME/share/gitolite/hooks
把export PATH=/home/git/bin:$PATH写入到bash.rc里
gl-setup ../ssh_pub/i5_admin.pub// 这个pub文件,是由用户 i5_admin在客户端通过ssh-keygen -f ~/.ssh/i5_admin生成的pub文件,传到服务器端,这样i5_admin就成为了git的管理用户了。
2.1.2 客户端的动作 首先,需要先生成一个admin的公钥/私钥:
ssh-keygen -f ~/.ssh/i5_admin
这样在客户端~/.ssh/ 生成了一个i5_admin.pub 和一个i5_admin, 把i5_admin.pub传到服务器端,服务器端用gl-setup来装gitolite。当服务器端完成以上安装后,客户端克隆git的管理库, 首先使用ssh别名,创建或打开编辑~/.ssh/config, 添加下几行:
host gitolite
user git
hostname 192.168.123.173
port 22
identityfile ~/.ssh/i5_admin
然后克隆管理库:
git clone gitolite:gitolite-admin
就能克隆一个库gitolite-admin下来,这个库是用来管理服务器端上所有的其他git库和所有人的权限的。
2.2 增加git库和用户
2.2.1 关于git管理库
在客户端clone下来的gitolite-admin,先看一下里面的文件和结构,有两个目录,文件简析如下:
gitolite-admin/conf/gitolite.conf:这个文件记录了所有的git仓库的状况。在安装初始,就建立了两个repo,一个是gitolite-admin, i5_admin具备所有读写创建权限,另外一个是testing, 所有用户具有读写创建权限。
资源评论
nwdlvyk
- 粉丝: 0
- 资源: 9
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功