2011-01-28 44 views
0

如何在plesk面板的單個域上配置gitolite。如何在Plesk上爲單個域配置gitolite

當我使用Plesk所創建的/斌/ bash的用戶,主文件夾成爲在/ var/WWW /虛擬主機/ {用戶}/

然後安裝後gitolite那裏,用戶仍然無法使用$ HOME/bin /文件夾來查找gitolite二進制文件,並使用系統二進制文件,所以當我嘗試克隆gitolite-admin時,總是會出現一個空目錄。

如何配置plesk ssh域用戶使用$ HOME/bin文件夾來訪問gitolite repo及其二進制文件?

我正在使用CentOS 5和Plesk 10.0.1

謝謝。

+0

您的問題標題和文本不匹配。你在使用gitosis還是gitolite?如果你有選擇,Gitolite應該是首選。 – Novelocrat 2011-02-16 15:50:48

+0

對不起,我解決了這個問題,它只關於gitolite。 – 2011-02-24 13:44:56

回答

0

我會假設你使用的是一些變量,如:在您的Plesk面板

Domain: gartz.com.br 
Username: gartz 

執行並添加到您wan't安裝gitolite repositorie用戶SSH /斌/ bash的訪問。

現在SSH登錄您的服務器爲特權。並輸入su - gartz你現在在你的用戶bash中。

類型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倉庫,比如使用後綴或prefix 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 

添加.ssh文件夾用authorized_keys作爲您的rsa密鑰。然後用gartz.git這樣的帳號登錄你的shell,現在就安裝你的gitolite。

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

轉到自己的計算機和克隆您gitolite管理員:

$ git clone [email protected]:gitolite-admin 

更改您的配置文件,添加你的鑰匙和回購協議,承諾和推動。

你可以爲你想要的任何域做到這一點。欲瞭解更多信息安裝git http://progit.org/book/ch4-8.html

0

我用的Plesk面板添加到disired域的ssh用戶接入,如:

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

所以在我的$ HOME我創建了一個文件夾,名爲$ HOME/git併爲其授予權限,然後創建一個名爲{SSH_USER} .git的別名用戶,該用戶使用與用戶{SSH_USER}相同的UID/GID。

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

如果你是超級用戶身份登錄更改權限您的{} 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}[email protected]<domain>:<repo_name> 

您可以在您的服務器的任何域做到這一點,具有對域的單一gitolite管理。

相關問題