搭建Git服务器

顺应时代的发展,Git成为了许多互联网公司进行项目版本控制的首选,本文笔者就对搭建Git服务器的过程做个记录。

Apache和Git的安装

1
yum install -y httpd git

创建Git仓库

  1. 新建一个目录
    1
    mkdir /data/httpd/git
  2. 进入目录
    1
    cd /data/httpd/git
  3. 创建项目目录并进入该目录
    1
    2
    mkdir demo
    cd demo
  4. 创建Git仓库
    1
    git init --bare demo.git
  5. 分配权限
    1
    chown -R apache:apache .

创建Git用户验证的账号

  1. 创建用户
    1
    2
    3
    htpasswd -m -c /etc/httpd/conf.d/git-team.htpasswd zh1(zh1是账号然后连续输入两次密码)
    # -c 是创建的意思,没有的时候创建,有的话会先删除文件再创建
    htpasswd -m /etc/httpd/conf.d/git-team.htpasswd zh2(如果第一个账号命令里有了-c 其它账号要去掉-c)
  2. 修改密码
    1
    2
    3
    4
    # 先删除用户
    htpasswd -D 存放用户名和密码的文件名 用户
    # 再添加用户
    htpasswd -m 存放用户名和密码的文件名 用户
  3. 修改用户密码文件的访问权限和所有者
    1
    2
    chown apache:apache /etc/httpd/conf.d/git-team.htpasswd
    chmod 640 /etc/httpd/conf.d/git-team.htpasswd

修改apache的配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
vi /etc/httpd/conf/httpd.conf

内容如下:
<VirtualHost *:80>
ServerName git.nsxsg.com(git服务器域名)
SetEnv GIT_HTTP_EXPORT_ALL
SetEnv GIT_PROJECT_ROOT /data/httpd/git(git仓库文件夹)
ScriptAlias /git/ /usr/libexec/git-core/git-http-backend/(URL中以/git/开头访问路径映射到Git,所以访问的时候域名后面要紧跟http://域名/git/项目名/项目名.git)
<Location />
AuthType Basic
AuthName "Git"
AuthUserFile /etc/httpd/conf.d/git-team.htpasswd(用户密码文件地址)
Require valid-user
</Location>
</VirtualHost>

重启apache

1
/etc/init.d/httpd restart
0%