Ubuntu16.04.6搭建基于HTTP连接的Git server

目前网上能搜到的搭建Git server的方法基本上都是基于ssh。

不知道是因为以前使用习惯了svn的http输入用户名和密码的方式访问代码服务器的原因(ssh方式访问据说也可以每次输入用户名和密码),还是觉得每次添加ssh的密钥很麻烦。反正就不想用ssh的方式。于是自己搜索资料整理搭建了基于http的Git server。步骤如下:root帐号操作的。应该也可以使用sudo+非root帐号操作

1、安装http 服务器apache2

apt-get install apache2 apache2-utils

a2enmod cgi alias env rewrite

2、安装Git server

apt-get install git-core

3、因为HTTP服务器的根目录在/var/www/html,因此在该目录下创建代码库目录:

cd /var/www/html

mkdir -p git/repo/code/cpe/01-cpe-ipq807x.git

4、初始化Git库

cd git/repo/code/cpe/01-cpe-ipq807x.git

git init --bare

cd -

5、给HTTP服务器权限,HTTP服务器的帐号是www-data 

chgrp -hR www-data  git

chown -hR www-data  git

6、修改HTTP服务器的配置文件/etc/apache2/sites-enabled/000-default.conf,在后面加入如下内容

        SetEnv GIT_PROJECT_ROOT /var/www/html/git
        SetEnv GIT_HTTP_EXPORT_ALL
        ScriptAlias /git/ /usr/lib/git-core/git-http-backend/

        RewriteEngine On
        RewriteCond %{QUERY_STRING} service=git-receive-pack [OR]
        RewriteCond %{REQUEST_URI} /git-receive-pack$
        RewriteRule ^/git/ - [E=AUTHREQUIRED]

        <Files "git-http-backend">
            AuthType Basic
            AuthName "Git Access"
            AuthUserFile /var/www/html/.htpasswd
            Require valid-user
            Order deny,allow
            Deny from env=AUTHREQUIRED
            Satisfy any
        </Files>

7、添加用户:

htpasswd -c /var/www/html/.htpasswd wwl

8、重启HTTP服务器

service apache2 restart

9、自此已经完成服务器的搭建以及用户添加,应该可以使用Git 客户端clone代码了。

git clone http://192.168.31.73/git/repo/code/cpe/01-cpe-ipq807x.git

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值