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