本文已在本人博客https://www.nsxsg.com/archives/171首发
搭建Git服务器
Apache和Git的安装
yum install -y httpd git
创建Git仓库
- 新建一个目录
mkdir /data/httpd/git
- 进入目录
cd /data/httpd/git
- 创建项目目录并进入该目录
mkdir demo
cd demo
- 创建Git仓库
git init --bare demo.git
- 分配权限
chown -R apache:apache .
创建Git用户验证的账号
- 创建用户
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)
- 修改密码
# 先删除用户
htpasswd -D 存放用户名和密码的文件名 用户
# 再添加用户
htpasswd -m 存放用户名和密码的文件名 用户
- 修改用户密码文件的访问权限和所有者
chown apache:apache /etc/httpd/conf.d/git-team.htpasswd
chmod 640 /etc/httpd/conf.d/git-team.htpasswd
修改apache的配置文件
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
/etc/init.d/httpd restart