linux/centos上安装配置gitosis(git服务器端)

gitosis长期没有更新了,换gitolite吧,或gitlab也行

[个人按本文方法是可以安装gitosis的,但在客户端git clone总是失败,也无法成功创建repo,所以个人改用gitolite,感觉比gitosis简单一些,而且一安装就可以正常工作]

安装gitosis,因为centos/redhat官方源不带gitosis,所以需要先添加EPEL软件仓库,或者手工下载gitosis的 rpm包及依赖包并手工安装。

gitosis rpm包安装后,会自动创建一个gitosis用户,为了简化其见,手工对其改名,改成git,涉及以下四个文件/etc/passwd, /etc/shadow, /etc/group, /etc/gshadow . 默认情况下,git用户(即改名前的gitosis用户)的home目录为 /var/lib/gitosis

这是git用户是作为git的管理账号之用。因为此时git用户没有设置登录密码,我们也不需要其密码,而是使用ssh密钥登录。但对gitosis的设置还是使用git用户登录比较方便。可以切换到root用户,然后 su git .

为git用户设置ssh密钥登录。上传一个ssh公钥,建议使用你的常用账号下的ssh公钥。并将其加入git用户的authorized_keys

sh-4.1$ cd ~/.ssh/
sh-4.1$ cat id_rsa.pub >>authorized_keys

确认可以使用公钥通过ssh登录。关于使用公钥自动登录ssh主机,更多可以参看这里 ssh无密码登入设置(完全版)/linux下免输入密码ssh登录

下面初始化gitosis . 要使用git用户执行下面命令

gitosis-init < [path of your id_rsa.pub]

结果大致如下

sh-4.1$ gitosis-init < id_rsa.pub
Initialized empty Git repository in /var/lib/gitosis/repositories/gitosis-admin.git/
Reinitialized existing Git repository in /var/lib/gitosis/repositories/gitosis-admin.git/
sh-4.1$ ls
gitosis  repositories

可以看到被创建的两个目录,gitosis与repositories .

运行 git clone git@localhost:repositories/gitosis-admin.git 即可把git管理配置文件的目同步到本地。需要修改配置,就在本地修改,然后git commit;git push同步到服务器上即可以即时生效了

关于gitosis资料,参考 http://linux-wiki.cn/wiki/zh-hans/%E9%85%8D%E7%BD%AEgitosis%EF%BC%88%E4%BB%A5CentOS%E4%B8%BA%E4%BE%8B%EF%BC%89

http://git-scm.com/book/zh/服务器上的-Git-Gitosis

http://git-scm.com/book/zh/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git-%E5%9C%A8%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E9%83%A8%E7%BD%B2-Git

linux/centos上安装配置gitosis(git服务器端)》上有2个想法

  1. git://github.com/res0nat0r/gitosis.git
    直接Clone後python setup.py install最省心。
    用了gitosis之後是沒辦法修改登錄Shell為git-shell了…不過也罷,反正SSH一般都禁止密碼登錄。改不改Shell都沒差:)

    • 个人折腾gitosis一连N天,都没有真正成功,于是放弃了,叛逃到gitolite上了,一次成功。可能是人品问题吧..... 感觉gitolite更简单一些
      个人的ssh是允许密码登录的,因为有时会在其它人的机器上使用;不过我限制了只有几个用户可以通过ssh登录,其它用户一概不允许,在一定程度上避免被爆破。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据