自建git服务器

对的。我就蛋疼。自己在树莓派上搞了个git服务器。= =不BB了。心累。简单地贴一下流程,图也懒的上了。反正就我这傻逼搞这傻逼东西。

依赖

  • openssh
  • git
  • python的setuptools用于安装

安装

git官方给出的地址是https://github.com/tv42/gitosis

我用的是https://github.com/res0nat0r/gitosis

不知道两个哪里不一样,不过配置方法应该大同小异,官方的那个按照官方的说明来配置应该没问题了

git clone https://github.com/res0nat0r/gitosis.git
cd gitosis
python setup.py install

自己用的Archlinux默认python是python3,而装的setuptools是2的,所以我用的

python2 setup.py install

配置

新建git用户用于管理仓库 因为用的Archlinux没有adduser脚本,所以用useradd了

useradd -m git

为了安全先把密码登录禁用了

passwd -l git

接下来初始化gitosis su到git用户来操作

su git
git gitosis-init < id_rsa.pub

没有公钥的话自行生成一个便是

ssh-keygen -t rsa

回到先前用户把gitosis-admin给clone出来,整个管理都要通过它来完成

git clone git@localhost:gitosis-admin.git

整个目录的结构像这样

[root@alarmpi gitosis-admin]# tree .
.
├── gitosis.conf
└── keydir
    ├── blabla.pub
    └── niconiconi.pub

1 directory, 3 files

gitosis.conf就是配置文件了。 keydir是公钥的存放位置,下面两个pub是自己添加的了

配置文件。添加新的组。这样

[group testgroup]
members = niconiconi
writable = test

members添加组成员,writable表示能够操作的仓库。 多个的话用空格分开就行 同时还需要把用户的公钥放到keydir上去。命名就是gitosis.conf中的members名字+.pub这样。niconiconi对应的公钥名字为niconiconi.pub。必须对应才行。

add .递归添加文件 然后提交push回去,设置就生效了。

git add .
git commit -am "add group.add keys"
git push

这时在有配置过权限的机子上就能使用傻逼树莓派git服务器了。 = =。还有。这换行到底是主题的问题还是pelican的原因。好蛋疼

@

Show Comments