2016年4月16日 星期六

Redmine加入Gitolite的 Git Repository

環境:
Ubuntu + Redmine + Gitolite3
Gitolite所管理的目錄為/home/git

說明:
git repository在Gitolite的管理下,預設只有git帳號才可存取,Redmine並無權限存取Gitolite控制的repository,所以需調整權限使Redmine可以存取。

Redmine是由Apache執行,所以是由www-data帳號在執行,為了使www-data帳號可存取git目錄,需將www-data帳號加入至git群組中,並修改Gitolite預設的上傳權限使git群組可存取。

步驟:
1. 將用戶www-data加入至git群組中。
sudo usermod -a -G git www-data

2. 修改Gitolite預設上傳時的權限,修改/home/git/.gitolite.rc檔案。
UMASK => 0077,
改為
UMASK => 0027,


3. 允許git群組存取repositories資料夾。(群組權限增加R、X)
sudo chmod g+rx /home/git
sudo chmod g+rx /home/git/repositories

4.如有已上傳之repository,請變更權限。(群組權限增加R、X)
sudo chmod g+rx -R /home/git/repositories/YourRepo

5.於Redmine中設定repository的位置即可。