LinuxMint13搭建gitolite服務器
1.首先需要閱讀 LinuxMint13安裝無密碼訪問git ,在該博文中講到客戶端的id_rsa.pub在執行
ssh-copy-id -i ~/.ssh/id_rsa.pub git@localhost
以後,id_rsa.pub的內容就被拷貝到了服務器端的/home/git/.ssh/authorized_keys文件中。
那麼,在本篇博文開始的時候,需要在客戶端再次生成一對單獨公私鑰對,執行以下命令:
ssh-keygen -f ~/.ssh/gitolite_skwiki
生成兩個文件分別是:~/.ssh/gitolite_skwiki和~/.ssh/gitolite_skwiki.pub
將gitolite_skwiki.pub拷貝到/tmp/目錄,修改權限為777
2.在客戶端端創建SSH主機別名:
編輯~/.ssh/config文件,沒有該文件的話可以自動創建並編輯,輸入以下內容:
host GitoliteServer
user git
hostname localhost
port 22
identityfile ~/.ssh/gitolite_skwiki
3.在服務器端,使用以下命令下載gitolite的源碼:
git clone git://github.com/ossxp-com/gitolite.git
4.在服務器端,創建相關目錄:
sudo mkdir -p /usr/local/share/gitolite/conf
sudo mkdir -p /usr/local/share/gitolite/hooks
5.在服務器端,進入剛clone下來的gitolite/src目錄,進行安裝:
cd gitolite/src
sudo ./gl-system-install /usr/local/bin /usr/local/share/gitolite/conf /usr/local/bin /usr/local/share/gitolite/hooks
6.在服務器端,安裝平台的gitolite包:
sudo aptitude install gitoslite
6.在服務器端,這一步特別要小心,首先保證前面的步驟1已經執行了,然後執行以下命令:
cd ~
gl-setup /tmp/gitolite_skwiki.pub
執行以後有一個特別要注意的地方,程序提示編輯.gitolite.rc文件,很多書籍上說保持默認,
實際上需要對.gitolite.rc做一定修改:
$GL_WILDREPOS=0需要修改為1
不然會出現/homg/git/repositories無法生成的問題,提示沒有設置$GL_WILDREPOS
成功後會生成repositories目錄,裡面有2個子目錄,一個是gitolite-admin.git,一個是testing.git
7.在客戶端,克隆gitolite-admin,輸入以下命令:
git clone GitoliteServer:gitolite-admin.git
8.在客戶端,現在理論上的話使用命令:
ssh GitoliteServer會顯示:
@R W gitolite-admin
@R @testing
之類的,這是正常的
在輸入ssh git@localhost的時候應該進入shell才對,但是卻出現了這樣的提示:
agent admitted failure to sign using the key
解決辦法是,在客戶端執行以下命令:
ssh-add ~/.ssh/id_rsa