在Linux通过Apache搭建git服务器

1.安装git,版本大于等于1.7

      yum install git git-core

2.安装apache 

      yum install httpd

3.设置本地git数据仓库

      cd /home && mkdir git && cd git

      mkdir git-test && cd git-test

初始化git仓库

       git init  --bare

4.将仓库目录权限赋予apache

       chown -R apache:apache

5.配置apache服务器,通过http请求访问git数据舱

     创建用于git用户验证的帐户(用户帐户由apache管理)

       1.1 创建新用户

                 htpasswd -m -c /etc/httpd/conf.d/git-team.htpasswd

                 然后输入该用户要使用的密码。

         1.2 修改git-team.htpasswd文件的所有者与所属群组

                    chown apache:apache /etc/httpd/conf.d/git-team.htpasswd

         1.3 设置git-team.htpasswd文件的访问权限

                     chmod 640 /etc/httpd/conf.d/git-team.htpasswd

          修改apache配置文件httpd.conf

            2.1 用vim打开httpd.conf:vi /etc/httpd/conf/httpd.conf

            2.2 将光标移至文件结尾:0G

            2.3 添加如下的内容:


             

                                ServerName git.lpfasd.com

                                SetEnv GIT_HTTP_EXPORT_ALL

                                SetEnv GIT_PROJECT_ROOT /home/git

                                ScriptAlias /git/ /usr/libexec/git-core/git-http-backend/

                             

                                            AuthType Basic

                                             AuthName "Git"

                                            AuthUserFile /etc/httpd/conf.d/git-team.htpasswd

                                            Require valid-user

                                 

                       

                      ServerName是git服务器的域名

                      /home/git是代码库存放的文件夹

                       ScriptAlias是将以/git/开头的访问路径映射至git的CGI程序git-http-backend

                        AuthUserFile是验证用户帐户的文件

                 2.4 保存并退出:x

         重启apache使设置生效

                  service httpd restart

6.客户端访问Git服务器

运行以下命令签出git-test项目:

git clone  http://git.lpfasd.com/git/git-test

输入用户名与密码,如果输出下面的信息,就说明签出成功。

remote: Counting objects: 6, done.

remote: Compressing objects: 100% (4/4), done.

remote: Total 6 (delta 0), reused 0 (delta 0)

Unpacking objects: 100% (6/6), done.

你可能感兴趣的:(在Linux通过Apache搭建git服务器)