Git over HTTP DAV 設定

這個是在 CentOS 6上設定的

1.先安裝好 Apache
2.打開 DAV 模組(預設是打開的)
3.htpasswd -c /etc/httpd/passwd.git <username>
增加待會要用在 http 存取 git repository 時使用的帳號
4.在 httpd.conf 中新增

<Location /my-repository.git>
   DAV on
   AuthType Basic
   AuthName "Git"
   AuthUserFile /etc/httpd/passwd.git
   Require valid-user
</Location>

5.將原本存在的 git repository 搬到 http 的目錄中 /var/www/html 目錄下,或是建立新的 git repository

6.進到 repository 中,執行 git update-server-info
7.更改 repository 目錄的存取權限
chown -R apache:apache <repository>
8.測試

curl --netrc --location -v --user name:password http://server_address/my-repository.git/HEAD

name 和 password 要使用剛才在 htpasswd 建立的帳號密碼

若是成功存取,會顯示

ref: refs/heads/master

9.Client 端使用 git client 進行測試 push/pull

Client 端的 .git/config 中的 url 設定,要改為 http://<username>@server_address/repository.git 才可以正常運作,不然可能出現 git-http-push failed

參考資料:
[1] https://www.kernel.org/pub/software/scm/git/docs/howto/setup-git-server-over-http.html
[2] http://www.wretch.cc/blog/michaeloil/22286355

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s

%d 位部落客按了讚: