如何在Plesk上为单个域配置gitolite

时间:2011-01-28 14:42:49

标签: git cross-domain centos plesk gitolite

如何在plesk面板单域上配置gitolite。

当我使用plesk创建的/ bin / bash用户时,主文件夹变为/ var / www / vhosts / {user} /

然后在那里安装gitolite之后,用户仍然没有使用$ HOME / bin /文件夹来查找gitolite二进制文件,并使用系统二进制文件,所以总是当我尝试克隆gitolite-admin时,它是一个空目录。< / p>

如何配置plesk ssh域用户使用$ HOME / bin文件夹访问gitolite repo及其二进制文件?

我正在使用CentOS 5和Plesk 10.0.1

感谢。

2 个答案:

答案 0 :(得分:0)

我使用Plesk面板添加对disired域的ssh用户访问权限,如:

{SSH_USER} =我的域名ssh用户名

在我的$ HOME中,我创建了一个名为$ HOME / git的文件夹并赋予其权限,然后创建一个名为{SSH_USER} .git的别名用户,该用户使用来自用户{SSH_USER}的相同UID / GID。

/var/www/vhosts/<domain>/# mkdir git

如果您以ROOT身份登录,请更改{SSH_USER}的权限:psacln

# chown -R {SSH_USER}:psacln ./git

现在使用您的root帐户创建一个名为{SSH_USER} .git的新用户,其中主文件夹是您已创建的git文件夹。

找到你的uid和gid:

# id
uid=10004({SSH_USER}) gid=2524(psacln) groups=2524(psacln)

现在创建新用户:

# sudo adduser {SSH_USER}.git -d /var/www/vhosts/<domain>/git -g 2524 -u 10004

以{SSH_USER} .git

登录
# su - {SSH_USER}.git

安装你的gitolite。一切都会奏效。

当您尝试登录域git时,您需要输入:

git clone {SSH_USER}.git@<domain>:<repo_name>

您可以对服务器中的任何域执行此操作,对域进行单一的gitolite管理。

答案 1 :(得分:0)

我假设你使用的是一些变量:

Domain: gartz.com.br 
Username: gartz

进入你的plesk面板并向你不想安装gitolite repositorie的用户添加SSH / bin / bash访问权限。

现在,SSH以 root 权限登录您的服务器。然后在您的用户bash中输入su - gartz

键入pwd,它会显示您的${HOME},如:/var/www/vhosts/gartz.com.br/

回到超级用户并为用户添加权限可以编写自己的主文件夹并添加一个git文件夹:

$ chown gartz:psacln /var/www/vhosts/gartz.com.br/
$ su - gartz
$ mkdir git

现在你有了这个:/var/www/vhosts/gartz.com.br/git

将你的gitolite下载到git文件夹,然后添加一个只能访问你的git存储库的用户,比如使用后缀或preffix git:adduser gartz.git

将您的passwd文件编辑到您的git用户,具有与普通用户相同的ID,并将主页更改为正确的git文件夹。 (您将再次需要root权限)

$ cat /etc/passwd | grep gartz

它将显示如下内容:

gartz:x:10004:2524::/var/www/vhosts/gartz.com.br:/bin/bash

现在编辑您的其他用户gartz.git,如下所示:

gartz.git:x:10004:2524::/var/www/vhosts/gartz.com.br/git:/bin/bash

使用authorized_keys为您的rsa密钥添加.ssh文件夹。然后使用您的帐户登录您的shell,例如gartz.git立即安装您的gitolite。

$ git clone git://github.com/sitaramc/gitolite
$ cd gitolite/src
$ ./gl-easy-install -q gitolite gitserver sitaram

转到您自己的计算机并克隆您的gitolite-admin:

$ git clone gartz.git@gartz.com.br:gitolite-admin

更改配置文件,添加密钥并重新发布,提交和推送。

您可以对所需的任何域执行此操作。有关安装git http://progit.org/book/ch4-8.html

的更多信息