本文档基于ubuntu 14.04系统
一、准备工作
1、安装基础的程序
sudo apt-get install ssh
sudo apt-get install git
2、生成密钥对
ssh-keygen -t rsa
PS:连续三次回车,即在本地生成了公钥和私钥,不设置密码,生成的公钥私钥在~/.ssh目录下,id_rsa是私钥, id_rsa.pub是公钥
二、GIT服务器建立(基于GITOLITE)
1 、服务器安装(服务端操作):
a) 创建 git 账户:
sudo adduser --system --shell /bin/bash --group git
sudo passwd git
b) 下载源码: git clone https://github.com/sitaramc/gitolite.git
c) 以“git”账户登录Linux 系统/ 或者直接:
su - git
d) 确保“~/.ssh/authorized_keys”为空或者不存在。
e) 拷贝服务器管理员的公钥到“$HOME/YourName.pub”。
f) 执行:
mkdir -p $HOME/bin
g) 执行下列命令安装,不同版本安装方法不同,请参考源码中的文档:
gitolite/install -to $HOME/bin
h) 执行:
$HOME/bin/gitolite setup -pk YourName.pub (管理员的公钥)
2、给GIT 用户添加下载权限(还是服务端操作)
a)如果没有就在$HOME 帐号下建一个.ssh 隐藏目录,并且把管理员帐号下面的id_rsa(就是私钥) 复制到刚建立的.ssh 下
b)切到ROOT 帐号下
sudo su
c)更改组权限
chown git:git id_rsa*
d)退出ROOT
exit
e)登录git 帐号
su - git
h)改权限(注意私钥必须是600,权限太高的话不行)
sudo chmod 600 .ssh/id_rsa*
3、使用 gitolite-admin 来管理服务器权限
相关概念资料,请搜索progit 文档阅读理解。
a) 克隆 gitolite 管理仓库:
git clone ssh://git@host/gitolite-admin.git
说明:/git@host
host 表示服务器的IP 地址或域名
例如,服务器的 IP 是192.168.1.200
那git 管理仓库是git clone ssh://[email protected]/gitolite-admin.git
b) 添加用户公钥
cp username.pub keydir/username.pub
c) 添加管理员用户
vi conf/gitolite.conf
@admin = admin1 admin2 admin3
repo gitolite-admin
RW+ = @admin
d) 提交生效
每次修改conf/gitolite.conf 内容都要提交才会生效
git add conf/gitolite.conf
git commit “add usergroup”
git push origin master
还需要以下两项功能的请移步:
3、Gitdaemon(守护进程,开放一个公共的 git clone 服务,可选)
4、Gitweb(提供像Github一样的Web服务,通过浏览器查看版本库记录,可选)
http://blog.chinaunix.net/uid-26185912-id-3351963.html
三、REPO镜像安装
待续