2013-10-29 126 views
1

我需要在Linux計算機上創建Git存儲庫,然後通過HTTP訪問它。還需要一個用戶的完全訪問權限,並且只能向非匿名用戶進行只讀訪問。如何在Linux上使用HTTP訪問設置Git服務器

我創建本地資源庫之前,但我不知道如何創建這個(如:內的/ var/WWW或的/ opt/git的/ ...)我試圖

這樣做:

-sudo克隆一個GitHub的一個倉庫到/var/www/repos/repo.git
-CD /var/www/repos/repo.git
-sudo混帳--bare更新服務器信息
-sudo mv鉤子/ update-update.sample鉤子/更新後
-sudo service apache2重新啓動

然後我試圖從另一臺計算機訪問該存儲庫:

- 帶有瀏覽器:(http協議)192.168.1.49/repo.git < - WORKS
- 隨着終端:GIT中克隆--bare(http協議)192.168.1.49/repo.git < --DOESN'T WORK

終端說:

克隆到裸倉庫repo.git ... 致命:(http協議)192.168.1.49/repo.git/info/refs?service=git-upload-pack找不到:你運行git update-server-服務器上的信息?

我想也許這是一個權限問題。我需要如何管理/ var/www中的權限?

編輯:已經解決,只是需要:

-put庫到在/ var/WWW /回購/命名repo.git
-change www文件夾的使用sudo喬敦 - R的WWW的權限 - 數據:WWW的數據在/ var/WWW
使用sudo - 啓用WebDAV的a2enmod dav_fs
-config文件到/etc/apache2/conf.d稱爲git.conf
- 創建文件與用戶使用sudo的htpasswd -c /etc/apache2/passwd.git用戶
- 重命名pot-update文件並使其可執行,並使用sudo mv/var /www/repos/repo.git/hooks/post-update.sample /var/www/repos/repo.git/hooks/post-update & & sudo chmod a + x /var/www/repos/repo.git/鉤/更新後
- 更新服務器,並使用sudo git的更新服務器信息重新啓動Apache & &須藤服務的Apache2重啓

而且,與推動解決這個問題:

編輯將.git/config文件存入您的存儲庫文件夾(客戶機),並將用戶名和密碼放在url上:
url =(http協議)用戶:密碼@ url/repos/repo。git

所以,現在只需要爲匿名用戶設置只讀。

+0

你爲什麼使用sudo? – AD7six

+0

@ AD7six不知道,只是遵循互聯網教程... – Lloople

+0

這不是一個編程問題,所以它是無關緊要的。 – unwind

回答

1

已經固定,只需要:

-put庫到在/ var/WWW /回購/命名repo.git

-change www文件夾的使用sudo喬敦 - R的WWW的權限 - 數據:WWW的數據在/ var/WWW

使用sudo - 啓用WebDAV的a2enmod dav_fs

-config文件到/etc/apache2/conf.d稱爲git.conf

-create文件與使用sudo的htpasswd -c /etc/apache2/passwd.git用戶

用戶-rename鍋更新文件,並使其可執行使用sudo MV /var/www/repos/repo.git /hooks/post-update.sample

/var/www/repos/repo.git/hooks/post-update & &須藤CHMOD一個+ X

/var/www/repos/repo.git/掛鉤/更新後

- 更新服務器並使用sudo git update-server-info重新啓動Apache & &須藤服務的Apache2重啓

而且,爲了解決與推動問題:

編輯文件的.git /配置到您的存儲庫文件夾(客戶機)

,並把用戶名和密碼上的網址:URL =(HTTP

協議)用戶:[email protected]/repos/repo.git

所以,現在只需要設置匿名用戶的只讀。

相關問題