基於http方式的git伺服器搭建
阿新 • • 發佈:2019-02-10
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倉庫時候的名字)