write down,forget

gitosis

<Category: Linux, VPS维护日志> 查看评论

安装 sudo apt-get install -core 配置 git服务器

初始化全局设置

安装python的setup tool

获取并安装gitosis


安装 openssh服务器
yum install openssh-server openssh-client

创建个人公钥和私钥
在默认用户的主目录路径下,运行以下命令,按照提示创建公钥和私钥
ssh-keygen -t rsa
默认生成2048位,如果需要提高安全级别,也可以通过下面的命令创建公钥和私钥
ssh-keygen -t rsa -b 4096
默认情况下,公钥和私钥会保存在~/.ssh目录下,如下所示:
id_rsa id_rsa.pub known_hosts

配置gitosis

服务端使用root签出,修改配置

设置仓库及用户读写权限

#新增本地sshkey到服务器

内容为本客户机上生成的id_rsa.pub

每个group是一个组,members是成员名,空格分隔, writeable定义该组成员可以写入的repository.
members对应的就是keys目录下的文件名(无pub后缀)

服务端,建立仓库(注意配置文件里面必须有该项目的权限,否则创建不了)

?fatal: remote origin already exists.
!git remote rm origin

客户端签出

如何让没有ssh key的公共用户可以访问到我们的项目呢?

我们可以使用git-daemon(git守护)。该命令独立于gitosis, 是git工具中自带的。

?git-daemon: command not found
!

sudo -u git git-daemon –base-path=/home/git/repositories/ –export-all

这将使你在gitosis上管理的项目对,公共可读(read-only)。

git clone git://server/abc.git

若想只允许一项目仓储外部可见,只需要在仓库(如abt.git)的*根*目录执行git-daemon-export-ok;接着执行上方命令(去除 –export-all选项)

配置gitweb

本文来自: gitosis