一步步在阿里云的Ubuntu服务器上搭建自己的Git服务器
2016-09-07 10:00
477 查看
一步步在阿里云的Ubuntu服务器上搭建自己的Git服务器
代码的托管可以用GitHub,这个价格比较高,也可以选择国内的Coding,功能都很完善,价格也普遍可以接受,但无论哪个都不是自己的服务器总觉得不放心,这里介绍如何在自己服务器上搭建公司内部的Git服务器,以Ubuntu为例首先进入服务器,在Mac下可以直接用Terminal,ssh@ip登录,Windows可以使用XShell
安装Python工具
$ apt-get install python-setuptools
安装 Gitosis
用它可以方便的管理项目的权限配置,这是一个开源的项目Gitosis
$ git clone https://github.com/tv42/gitosis.git $ cd gitosis $ sudo python setup.py install
增加git用户(可省略)
$ sudo adduser --system --shell /bin/sh --gecos ‘git version control’ --group -- disabled-password --home /home/git git
生成客户端的SSH公钥
这条命令是在客户端上执行,会在用户目录下生成一个.ssh文件夹,id_rsa.pub即是公钥
$ ssh-keygen -t rsa
使用SSH公钥初始化gitosis
这条命令也是在客户端执行,先把本地生成的公钥上传到服务器,这里上传到了tmp目录,应该把为公钥文件名字改为自己的名字方便辨识
$ scp ~/.ssh/id_rsa.pub user@hostname:/tmp
回到服务器,初始化gitosis
$ scp ~/.ssh/id_rsa.pub user@hostname:/tmp
修改post-update权限
$ sudo -H -u git gitosis-init < /tmp/id_rsa.pub
客户端clone gitosis项目添加用户权限
$ git clone git@hostname:gitosis-admin.git
进入
gitosis-admin目录,我们来查看一下其目录结构:
gitosis.conf文件是一个配置文件,里面定义哪些用户可以访问哪些仓库;
keydir是存放ssh 公钥的地方,新加的成员需要把他的公钥文件放在这个文件夹里面,每人一个。
$ cd gitosis-admin $ find . ./gitosis.conf ./keydir ./keydir/test.pub
看一下
gitosis.conf文件的内容,它应该只包含与刚刚克隆的
gitosis-admin相关的信息:
$ cat gitosis.conf [gitosis] [group gitosis-admin] members = test writable = gitosis-admin
它显示用户
test— 初始化 Gitosis 公钥的拥有者 — 是唯一能管理
gitosis-admin项目的人。可以添加新的项目和成员,如下添加一个新的团队
android并且添加了一个新的项目
PhotoEdit,同时指定
test有读写权限。
[group android] members = test writable = PhotoEdit
客户端在clone项目下来提交后,Gitosis会自动创建仓库
参考链接
服务器上的Git - Gitosis
Hosting Git Repositories, the Easy (and Secure) Way
相关文章推荐
- Ubuntu 默认壁纸历代记
- Ubuntu Remix Cinnamon 20.04 评测:Ubuntu 与 Cinnamon 的完美融合
- 小心服务器内存居高不下的元凶--WebAPI服务
- 关于Ubuntu 11.10启动提示waiting for the network configuration的问题
- 在 Ubuntu 桌面中使用文件和文件夹
- RPC failed; result=22, HTTP code = 411
- git更新已經刪除的文件
- ubuntu下chrome无法同步问题解决
- 运维入门
- Ubuntu Linux使用体验
- 使用 GNOME 优化工具自定义 Linux 桌面的 10 种方法
- 以Ubuntu 9.04为例 将工作环境迁移到 Linux
- 提取Git每次提交后Commit的文件
- GIT迁移服务器
- VirtualBox虚拟机XP与宿主机Ubuntu互访共享文件夹
- 从USB安装Ubuntu Server 10.04.3 图文详解
- Ubuntu 15.04 正式版发布下载
- Linux-Ubuntu 10.04安装Cadence-ic610 方法总结图解
- Ubuntu 12.04和Windows 7双系统安装图解
- Ubuntu /home下中文目录如何修改成英文?