首页 > 代码库 > centos 安装http协议的git server

centos 安装http协议的git server

1、服务器端安装httpd,git,gitweb等

 

1
#yum install httpd git git-daemon  gitweb

2、服务器端初始化仓库

1
2
3
#mkdir -p /data3/gitserver
#cd /data3/gitserver
#git init --bare git_repo #初始化一个裸仓库

3、向裸仓库提交初始文件

1
2
3
4
5
6
7
#cd /tmp
#git clone /data3/gitserver/git_repo
#cd git_repo
#touch MD
#git add MD
#git commit -m "init readme txt"  MD
#git push origin master

 

4、建立smart http协议,用户可以用http协议访问git仓库

1
2
#cd /etc/httpd/conf.d
#vim git.conf

添加如下配置文件

1
2
3
4
5
6
7
8
9
10
ScriptAlias /gitserver/ /usr/libexec/git-core/git-http-backend/
         
<Directory "/usr/libexec/git-core/">
  SetEnv GIT_PROJECT_ROOT /data3/gitserver
  SetEnv GIT_HTTP_EXPORT_ALL
  SetEnv REMOTE_USER=$REDIRECT_REMOTE_USER
  Options +ExecCGI
  Order allow,deny
  Allow from all
</Directory>

 

5、配置gitweb信息,可以用web访问git仓库;

1
#vim  /etc/gitweb.conf

输入git仓库的路径

1
2
3
4
# Set the path to git projects.  This is an absolute filesystem path which will
# be prepended to the project path.
#our $projectroot = "/var/lib/git";
$projectroot = "/data3/gitserver";

6、重启 httpd

1
2
#chkconfig httpd on
#service httpd start

7、查看git仓库

http://ip_address/git

8、clone git 仓库

1
git clone http://ip_address/gitserver/git_repo

9、如果push失败  ,到服务器作如下操作

1
2
3
4
#git push origin master
#如果git push 失败
#cd /data3/git_server/git_repo
# git config daemon.receivepack true

 

 

 

如果gitweb提示找不到项目,则可能是/usr/local/gerrit/git这个目录权限不够
 
配置支持gerrit
1、编辑配置文件
vim /data/gerrit/etc/gerrit.config
添加
[gitweb]
        cgi = /var/www/git/gitweb.cgi
2、重启gerrit