|
之前介绍过如何在windows上搭建git服务器(详细参考之前的一篇博客:http://blog.运维网.com/13756513/2164569),不过服务器用的比较多的还是Linux,因为便宜(同一个vps商一般来说Linux比Windows便宜),没有图形界面,低配置VPS的也可以跑动Linux,开源免费,我感觉比较灵活,下载源也方便,手机都可以ssh远程。今天就介绍一下如何用Linux搭建Git服务器以及使用Gitosis来管理用户以及用户权限。
系统环境
vultr ubuntu 16.04 全程root权限。
至于为什么选择国外的vps服务商,而不选择国内例如阿里云,腾讯云,因为单价便宜,最低只要3.5美元一个月,而国内的得60rmb左右。而且vultr的新用户活动也比较多:vultr最新优惠活动。
注意:本教程是基于ubuntu系统的,所以建议搭建在选择服务器类型时选择ubuntu。
在Ubuntu上搭建Git服务器
安装Git服务器必备的软件
这里主要包括git核心软件、ssh协议软件和python的setuptools
1
| [color=#002D7A !important]apt[color=#006FE0 !important]-[color=teal !important]get [color=#002D7A !important]update[color=#006FE0 !important] [color=#006FE0 !important]&&[color=#006FE0 !important] [color=#002D7A !important]apt[color=#006FE0 !important]-[color=#002D7A !important]get[color=#006FE0 !important] [color=#006FE0 !important]-y[color=#006FE0 !important] [color=teal !important]install [color=#002D7A !important]git[color=#006FE0 !important]-[color=teal !important]core [color=#002D7A !important]openssh[color=#006FE0 !important]-[color=teal !important]server [color=#002D7A !important]openssh[color=#006FE0 !important]-[color=teal !important]client [color=#002D7A !important]python[color=#006FE0 !important]-[color=teal !important]setuptools [color=#002D7A !important]lrzsz
|
安装Gitosis管理用户与项目
Gitosis是一套用来管理authorized_keys文件和实现简单连接限制的脚本,对项目、用户以及项目的读写权限进行管理,安装命令如下:
1
| [color=teal !important]git clone[color=#006FE0 !important] [color=#002D7A !important]https[color=#006FE0 !important]:[color=#999999 !important]//github.com/res0nat0r/gitosis.git && cd gitosis && python setup.py install
| Gitosis默认使用的Git根目录是/home/git/repositories,其中git是即将新建的用户。如果你想把仓库放在别的地方,就用软连接将它与/home/git/repositories连接起来。
创建Git管理员账户
新建一个用户作为Git服务器的管理员:
1
2
| [color=#002D7A !important]useradd[color=#006FE0 !important] [color=#006FE0 !important]-m[color=#006FE0 !important] [color=teal !important]git
[color=teal !important]passwd [color=#002D7A !important]git
|
用管理员公钥初始化Gitosis
这个管理员公钥的意思是你本机的公钥,是用来管理这个Gitosis的(默认会有gitosis-admin的读写权限),你可以将你本机(常用机器)的ssh key拷贝到服务器上来,从而实现管理的目的。
1.在本机生成公钥
1
| [color=#002D7A !important]ssh[color=#006FE0 !important]-[color=#002D7A !important]keygen[color=#006FE0 !important] [color=#006FE0 !important]-t[color=#006FE0 !important] [color=#002D7A !important]rsa
| 生成好后,Windows默认的存放路径在C:\Users\用户名\.ssh\id_rsa.pub。
2.上传公钥至服务器并激活Gitosis
将公钥拷贝到git用户下,因此先切换至git用户:
1
| [color=teal !important]su [color=#002D7A !important]git
| 之后拷贝至服务器即可。
3.初始化Gitosis
依然在git用户下,利用刚才上传的公钥初始化Gitosis:
[table][tr][td] 1
[/td][td=1,1,679] [color=#002D7A !important]gitosis[color=#006FE0 !important]-[color=#002D7A !important]init[color=#006FE0 !important] [color=#006FE0 !important] |
|
|
|
|
|
|