用apache服务在Centos系统中搭建Git服务器

引言

搭建git服务器能帮助我们更好的管理项目,进行团队合作可以在任何地方把项目下载下来管理


搭建环境

[图片上传失败...(image-1f0008-1512008839841)] 首次搭建可以去京东云注册一个账号可以免费领一个月的云主机 京东云


搭建步骤

Apache与git的安装

yum -y install httpd  git

Apache与git的安装.png

创建git仓库

创建一个存放所有项目仓库的文件夹

在home文件夹创建一个叫gitServer的文件夹(名字可以随意)用来放多个项目的git仓库

  [root@jdu4e00u53f7 /]# cd home
  [root@jdu4e00u53f7 home]# mkdir gitServer && cd gitServer

gitServer的文件夹e.png

创建一个项目文件并把它设置成git仓库

  [root@jdu4e00u53f7 gitServer]# mkdir demo1 && cd demo1
  [root@jdu4e00u53f7 demo1]# git init --bare demo1.git

设置成git仓库.png

让apache能读写这个项目文件给分配权限>

[root@jdu4e00u53f7 demo1]# chown -R apache:apache .
每创建一个新的项目git仓库文件夹都要分配一下读写权限

读写这个项目文件给分配权限.png

创建用于git用户验证的账户

给编写项目人员分配账号

[root@jdu4e00u53f7 demo1]# htpasswd -m  -c /etc/httpd/conf.d/git-team.htpasswd zh1 (zh1是账号然后连续输入两次密码)
New password: 
Re-type new password: 
Adding password for user zh1
[root@jdu4e00u53f7 demo1]# htpasswd -m  /etc/httpd/conf.d/git-team.htpasswd zh2(如果第一个账号命令里有了-c 其它账号要去掉-c)
New password: 
Re-type new password: 
Adding password for user zh2

创建用于git用户验证的账户.png

修改设置git-team.htpasswd文件的访问权限和所有者

[root@jdu4e00u53f7 demo1]# chown apache:apache /etc/httpd/conf.d/git-team.htpasswd
[root@jdu4e00u53f7 demo1]# chmod 640 /etc/httpd/conf.d/git-team.htpasswd

修改设置git-team.htpasswd文件.png

修改apache配置文件httpd.conf

[root@jdu4e00u53f7 demo1]# vi /etc/httpd/conf/httpd.conf
把下面的东西放到末尾然后保存
<VirtualHost *:80>
        ServerName git.gitServer.com
        SetEnv GIT_HTTP_EXPORT_ALL
        SetEnv GIT_PROJECT_ROOT /home/gitServer
        ScriptAlias /git/ /usr/libexec/git-core/git-http-backend/
        <Location />
                AuthType Basic
                AuthName "Git"
                AuthUserFile /etc/httpd/conf.d/git-team.htpasswd
                Require valid-user
        </Location>
</VirtualHost>

ServerName是git服务器的域名(没有可以不动)
/home/gitServer 是git仓库都存放在的文件夹(要写正常文件夹名)
ScriptAlias是将以/git/开头的访问路径映射至git的CGI程序git-http-backend(不用改)
AuthUserFile是验证用户账户的文件(不用改)

修改apache配置文件httpd.conf .png

重启服务

[root@jdu4e00u53f7 demo1]# /bin/systemctl restart httpd.service

完成

大功告成让我们在客户端试一下 IP地址是git服务器的地址,然后输入分配的账号密码

image.png

可以把远程仓库下到客户机了

image.png

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏三杯水

系统重启后nginx reload不生效原因分析

这是一种比较少见,困扰我很久的问题,虽然这个问题很简单,但是找到根本原因还是费了不少时间,现在把分析过程分享如下。

3732
来自专栏DeveWork

记录一个在Mac OS X 中本地安装Ghost 的报错问题

新买的Macbook Air 升级了最新版的OS X 10.10 Yosemite,昨天在本地安装Ghost 的时候出现了问题,在这里做一个记录。 安装node...

2539
来自专栏阮一峰的网络日志

Linux 守护进程的启动方法

"守护进程"(daemon)就是一直在后台运行的进程(daemon)。 本文介绍如何将一个 Web 应用,启动为守护进程。 ? 一、问题的由来 Web应用写好后...

3155
来自专栏Java学习网

Linux 守护进程的启动方法

Linux 守护进程的启动方法 “守护进程”(daemon)就是一直在后台运行的进程(daemon)。 本文介绍如何将一个 Web 应用,启动为守护进程。 ? ...

4047
来自专栏coder修行路

WebSocket 理论知识整理

最近工作用到websocket, 之前虽然也用到了一些简单的东西,但是并没有认真整理一下。所以这次准备了解一下WebSocket.

812
来自专栏运维

系统重启后ngix reload不生效原因分析

这是一种比较少见,困扰我很久的问题,虽然这个问题很简单,但是找到根本原因还是费了不少时间,现在把分析过程分享如下。

922
来自专栏我是攻城师

手动从零使用ELK构建一套搜索服务

3625
来自专栏Python小屋

Python通过WMI读取主板BIOS信息

Windows Management Instrumentation (WMI,Windows管理规范) 是Web-Based Enterprise Manag...

44810
来自专栏数据库

从目录信息泄露到渗透内网

信息安全公益宣传,信息安全知识启蒙。 教程列表见微信公众号底部菜单 1、目录信息泄露 目录信息泄露是指当当前目录无index.html/index.asp/in...

5189
来自专栏大魏分享(微信公众号:david-share)

红帽技术干货速递系列之1:RHV4实验环境快速部署指南

大卫说: 本文是大卫同事马林根据实验完成的RHV4.0 step by step的安装步骤。这对于我们在PoC环境中部署RHV有很大的帮助。大卫也欢迎读者朋友们...

3994

扫码关注云+社区

领取腾讯云代金券