1. 程式人生 > >基於http方式的git伺服器搭建

基於http方式的git伺服器搭建

1.安裝git

sudo apt-get install git git-core

2.配置git的http代理

①安裝apache

sudo apt-get install apache2 apache2-utils

②啟用下面的模組
sudo a2enmod cgi alias env rewrite

③修改apache的配置檔案
sudo vi /etc/apache2/sites-enabled/000-default.conf

之後往裡面加入如下內容
SetEnv GIT_PROJECT_ROOT /var/www/html/git
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias /git/ /usr/lib/git-core/git-http-backend/
 
RewriteEngine On
RewriteCond %{QUERY_STRING} service=git-receive-pack [OR]
RewriteCond %{REQUEST_URI} /git-receive-pack$
RewriteRule ^/git/ - [E=AUTHREQUIRED]
 
<Files "git-http-backend">
    AuthType Basic
    AuthName "Git Access"
    AuthUserFile /var/www/html/.htpasswd(此處位置與下文建立使用者驗證一致)
    Require valid-user
    Order deny,allow
    Deny from env=AUTHREQUIRED
    Satisfy any
</Files>

④建立使用者驗證

sudo htpasswd –c /var/www/html/.htpasswd zwj(使用者名稱)
首次新增的時候要加-c選項,之後新增的時候去掉-c選項,不然會將原有的賬戶刪除


(1)進入部署web專案的目錄,如/var/www/html/

(2)新建git資料夾

sudo mkdir git
cd git

(3)初始化git倉庫
sudo git init --bare zwj.git (最後面的名字隨意取,為了命名規範,一般使用.git結尾)
4.修改/var/www/目錄的所屬者和所有者許可權
chown -R www-data: www-data /var/www/

5.啟動apache
sudo service apache2 restart

根據以上步驟配置好之後,就可以使用http的方式去同步git專案,路徑為

http://ip/git/zwj.git(最後的名字自行替換成你新建git倉庫時候的名字)