当前位置:   article > 正文

http方式搭建git服务器_搭建基于http的 git服务

搭建基于http的 git服务

原先在公司内网为了安全考虑,安装了最简单的基于ssh访问的git,但是集团这几天把终端ssh给禁用了,只能通过堡垒机访问。这也导致了之前的git服务访问不到了,不能提交和拉取代码了。

于是就将git的访问方式改为http,具体步骤记录如下:

一、服务器安装Git(这在之前已经安装好了,在这里再写一遍)

1、在服务器上安装Git

yum -y install git

2、安装完后,查看 Git 版本

git --version

3、服务器端创建 Git 仓库(设置/data/git_fileshare/fileshare.git 为 Git 仓库)

  1. mkdir -p /data/git_fileshare/fileshare.git
  2. git init --bare fileshare.git
  3. chown -R apache:apache /data/git_fileshare (这个在安装好httpd之后执行)

二、安装和配置httpd服务

1、安装httpd

yum -y install httpd

2、修改httpd端口

  1. vim /etc/httpd/conf/httpd.conf
  2. Listen 16999

3、创建test账号

  1. 创建第一个用户:htpasswd -m -c /etc/httpd/conf.d/git-team.htpasswd test1
  2. 创建第n个用户:htpasswd -m /etc/httpd/conf.d/git-team.htpasswd testn 
  3. 这边稍作下解释:
  4. -c:创建一个新文件。注意:在添加完第一个用户之后,以后添加的每一个用户都不要加这个参数,不然会覆盖密码验证文件,导致前面已经添加的都没有了。。
  5. -m:强制对密码进行MD5加密(默认)
  6. test1和testn:新加的用户,可以写成任意名字

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

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

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

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

6、在apache中新建git.conf,将请求转发到git-cgi

  1. vim /etc/httpd/conf.d/git.conf
  2. <VirtualHost *:16999>
  3. ServerName 10.86.219.162
  4. SetEnv GIT_HTTP_EXPORT_ALL
  5. SetEnv GIT_PROJECT_ROOT /data/git_fileshare
  6. ScriptAlias /git/ /usr/libexec/git-core/git-http-backend/
  7. <Location />
  8. AuthType Basic
  9. AuthName "Git"
  10. AuthUserFile /etc/httpd/conf.d/git-team.htpasswd
  11. Require valid-user
  12. </Location>
  13. </VirtualHost>
  14. # ServerName是git服务器的域名,这里写上IP即可
  15. # /data/git_fileshare是代码库存放的文件夹
  16. # ScriptAlias是将以/git/开头的访问路径映射至git的CGI程序git-http-backend
  17. # AuthUserFile是验证用户帐户的文件

7、启动httpd服务

service httpd restart

三、客户端克隆

git clone http://10.86.219.162:16999/git/fileshare.git

在弹出的对话框中输入用户名密码即可。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/120053
推荐阅读
相关标签
  

闽ICP备14008679号