#http://www.wretch.cc/blog/michaeloil/22286355 #http://blog.longwin.com.tw/2009/05/build-git-env-over-http-2009/ #安装软件 sudo apt-get install git-core sudo apt-get install apache2 #启用相应模块 a2enmod dav_fs a2enmod dav #设置apache2 sudo htpasswd -c /etc/apache2/dav_git.passwd dav >New password: 123 >Re-type new password: 123 >Adding password for user dav sudo vim /etc/apache2/sites-available/git.conf <VirtualHost *:80> ServerAdmin user@example.com DocumentRoot /var/cache/git ServerName git.example.com ErrorLog /var/log/apache2/git-error.log CustomLog /var/log/apache2/git-access.log combined
SetEnv GIT_PROJECT_ROOT /var/cache/git/
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias / /usr/lib/git-core/git-http-backend/
<Location "/test.git"> DAV on AuthType Basic AuthName "Git" AuthUserFile /etc/apache2/dav_git.passwd # password filename Require valid-user </Location> </VirtualHost> #删除原来监听80端口的默认文件 sudo rm /etc/apache2/sites-enabled/000-default #启用新的git配置 sudo ln -s /etc/apache2/sites-available/git.conf /etc/apache2/sites-enabled/git.conf #重启 sudo /etc/init.d/apache2 restart #设置git sudo mkdir -p /var/cache/git/project_name.git cd /var/cache/git/project_name.git sudo git --bare init sudo git update-server-info sudo cp hooks/post-update.sample hooks/post-update sudo chown www-data:www-data -R . goodspeed@bogon:/var/cache/git$ sudo rm -r project_name.git goodspeed@bogon:/var/cache/git$ cd project_name.git -bash: cd: project_name.git: No such file or directory goodspeed@bogon:/var/cache/git$ mkdir project_name.git mkdir: cannot create directory `project_name.git': Permission denied goodspeed@bogon:/var/cache/git$ sudo mkdir project_name.git goodspeed@bogon:/var/cache/git$ cd project_name.git/ goodspeed@bogon:/var/cache/git/project_name.git$ sudo git --bare init Initialized empty Git repository in /var/cache/git/project_name.git/ goodspeed@bogon:/var/cache/git/project_name.git$ sudo chown www-data:www-data -R . goodspeed@bogon:/var/cache/git/project_name.git$ sudo git update-server-info goodspeed@bogon:/var/cache/git/project_name.git$ sudo cp hooks/post-update.sample hooks/post-update goodspeed@bogon:/var/cache/git/project_name.git$ sudo chown www-data:www-data -R . goodspeed@bogon:/var/cache/git/project_name.git$ ll curl --netrc --location http://127.0.0.1/test.git/HEAD curl --netrc --location -v http://127.0.0.1/test.git/HEAD