2015年3月18日 星期三

synology NAS 建立 git server


基本上DSM 說明上有教你怎麼設定

若要允許使用者使用 Git:

  1. 使用具管理權限的帳號登入 DSM。前往控制台 > 終端機並啟動 SSH 服務。
  2. 啟動 Git 套件。選擇要讓哪些使用者從 repository check in 及 check out 檔案。

注意:

Git 使用者會受到 git-shell 之限制,僅能進行與 Git 相關的活動。此登入型 shell 會套用至 Git 使用者,以確保這些帳號僅用於 Git 相關之操作。因此,Git 使用者僅能使用 SSH 連線來 push 或 pull Git repository,無法完整存取 DSM。

若要新增 Git repository:

  1. 透過 SSH 以 root 或 admin 身份登入您的 Synology 伺服器。
  2. 變更目錄至 /volumeX (X 代表儲存空間編號) 來建立資料夾。例如:「git_repos」。該資料夾的權限會與 Linux 相同。
  3. 於資料夾中執行 git init 來建立空的 repository。
  4. Repository 建立完畢後,Git 用戶端可輸入下列指令來存取此 repository:
    git clone ssh://[Git 使用者]@[您的 Synology 伺服器 IP 位址或主機名稱]/[Git repository 路徑]

照著上面設定完後就可以開心使用Git server 拉~~~  才怪






不然我幹嘛寫文章記錄

你會發現照做後的git repo 只能clone 讀取,然後不能push

原因是缺少重要步驟 chmod 和chgrp 的修改

簡單步驟紀錄一下
1.前往控制台->終端機開啟ssh 並設定port

2.在套件裡面安裝git並設定使用者(注意這裡的設定使用者其實只是設定那些使用者可以使用Git 這個應用程式,對一般資料夾是沒權限的)

3.linux的部分
#使用ssh 連到你機器的 ip 和 port
#帳號 : root  密碼:和admin的密碼一樣
#移動到root 目錄
cd /
#進入volume1
cd volume1/
#創造git專用資料夾
mkdir my_git_repo
cd my_git_repo/
#創造你的proj資料夾
mkdir urProj
cd urProj/
#初始化你的git project
git init --bare
#重頭戲 將此資料夾grop改為users並且讓grop有權限讀寫
cd ..
chmod -R 775 urProj/
chgrp -R users urProj/

如此一來你的git 應該就可以正常使用了,讀取位置為
git clone ssh://[Git 使用者]@[IP orDDNS]:Port/volume1/my_git_repo/urProj/

收工

沒有留言:

張貼留言

有敘述錯誤或者是觀念有問題歡迎指正