計算機架構與系統實驗室

Computer Architecture and System Laboratory

使用者工具

網站工具


git_nas

差異處

這裏顯示兩個版本的差異處。

連向這個比對檢視

Both sides previous revision 前次修改
下次修改
前次修改
下次修改 Both sides next revision
git_nas [2014/09/12 10:42]
elvis [安裝gitolite]
git_nas [2014/11/10 02:36]
127.0.0.1 外部編輯
行 4: 行 4:
 ===== 在NAS上建立git使用者 ===== ===== 在NAS上建立git使用者 =====
 ---- ----
 +這一步驟是為了配合之後要安裝的gitolite管理系統使用。以git這個帳號作為gitolite預設的管理及ssl驗證帳號。
 +
 用admin登入NAS的網頁介面,在NAS介面中新增一名叫git的使用者,禁止所有權限的存取。然後用ssh以root登入NAS,更改/etc/passwd這個檔案 用admin登入NAS的網頁介面,在NAS介面中新增一名叫git的使用者,禁止所有權限的存取。然後用ssh以root登入NAS,更改/etc/passwd這個檔案
      
行 15: 行 17:
 ===== 安裝gitolite ===== ===== 安裝gitolite =====
 ---- ----
-gitolite是一個利用ssh_key管理誰有權限存取git server中個別repo的程式。+gitolite是一個利用ssh_key管理誰有權限存取git server中個別repo的程式。將gitolite裝在git這個使用者裡面之後,該使用者就會喪失傳統ssh的登入能力。取而代之的是,所有git clone都會使用git這個使用者的ssh進行登入並clone,並且會比對連線近來電腦的ssh key跟gitolite中public key是否match。 
 + 
 +在安裝完之後,請修改git家目錄下.gitolite.rc這個檔案,找到 
 +  UMASK   =>  0700 
 +改成 
 +  UMASK   =>  0022 
 +其目的為,以後藉由git push上來的檔案權限會由0700變成0755,這樣才能讓git以外的使用者看到repository的內容,主要是為了可以讓gitweb或其他的third party的程式可以讀出來並呈現在網頁上面
  
 \\ \\
 ===== 新增新的gitolite pubkey (相當於使用者) ===== ===== 新增新的gitolite pubkey (相當於使用者) =====
 ---- ----
-首先你必須有一個已經可以使用gitolite的使用者,如上面安裝gitolite時新增的第一個pubkey。在那之後,以該pubkey所在之電腦進行gitolite的clone+首先你必須有一個已經可以使用gitolite的使用者,如上面安裝gitolite時新增的第一個pubkey。在那之後,以該pubkey所在之電腦進行gitolite-admin這個repo的clone
  
   git clone git@caslab.ee.ncku.edu.tw:gitolite-admin   git clone git@caslab.ee.ncku.edu.tw:gitolite-admin
      
-然後把新的pubkey想辦法放在該資料夾下面一個稱為keypair的資料夾中,確保檔案權限跟檔案擁有者改完後,以git add、git commit、git push方式上傳即可完成。+然後把新的pubkey想辦法放在該資料夾下面一個稱為keypair的資料夾中,確保檔案權限跟檔案擁有者改完。接著進入conf這個資料夾修改gitolite.conf這個檔案,以剛剛新的pubkey中的檔案名稱作為使用者代號,加入到該使用者可以存取的repo存檔後將剛剛新增或改過的所有檔案以git add、git commit、git push方式上傳即可完成。