zoukankan      html  css  js  c++  java
  • 搭建自己的Git服务器

    前言:

    GitHub是一个免费托管开源代码的远程仓库,使用起来即方便又安全,但在国内有时访问巨慢,原因你懂得。还有一些公司和个人视源码如生命,既不想开源代码又不想给Github交保护费。这时搭建一个自己的Git服务器就很有必要了,下面介绍如何在CentOS上搭建自己的Git服务器。


    一.搭建Git服务器及使用

    1、安装Git

    执行以下命令安装git

    $ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
    $ yum install git

    接下来我们创建一个git用户组和用户,用来运行git服务:

    $ groupadd git
    $ useradd git -g git
    $ passwd yourpwd

    最好切换到git用户 不然后面新建的git仓库都要改权限 烦烦烦!!

    $ su - git 

    2、创建证书登录

    收集所有需要登录的用户的公钥,公钥位于id_rsa.pub文件中,把我们的公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。

    如果没有该文件则创建它:

    $ cd /home/git/
    $ mkdir .ssh
    $ chmod 700 .ssh
    $ touch .ssh/authorized_keys
    $ chmod 600 .ssh/authorized_keys

    3、初始化Git仓库

    首先我们选定一个目录作为Git仓库,假定我们放在git用户的宿主目录/home/git/,在/home/git/目录下输入命令:

    $ cd /home/git
    $ git init --bare test.git
    Initialized empty Git repository in /home/git/test.git/

    以上命令会创建一个空仓库,服务器上的Git仓库通常都以.git结尾。

    4、克隆仓库

    $ git clone git@your-ip:test.git
    Cloning into 'test'...
    warning: You appear to have cloned an empty repository.
    Checking connectivity... done.

    your-ip 为您 Git 所在服务器 ip 。

    5.禁止Shell登录

    出于安全考虑,git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。
    找到类似下面的一行:

    git:x:502:502::/home/git:/bin/bash

    改为

    git:x:502:502::/home/git:/usr/bin/git-shell

    这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。


    二.注意事项及说明

    1、git仓库可以放在任何目录

    放在/home/git目录下(clone相对于git宿主目录 /home/git/)
    git clone git@your-ip:test.git

    放在根目录,新建git目录作为仓库(绝对路径 /git/)
    git clone git@your-ip:/git/test.git

    如果域名绑定IP就可以直接用域名clone
    git clone git@www.mayanlong.com:test.git

    2、目录权限问题

    如果不是用git用户创建的,注意以下目录文件的权限问题。
    .ssh
    test.git…

    如果有问题,可以把该目录的所属者改成git。
    $ chown -R git:git test.git

    版权声明:本文为博主原创文章,未经博主允许不得转载。
    转载联系:http://weibo.com/imayanlong 
    个人博客:http://www.mayanlong.com

  • 相关阅读:
    php提取字符串中的数字
    php中urlencode()和urldecode()URL编码函数浅析[转]
    B2C电子商务系统研发——商品SKU分析和设计(一)
    电商ERP系统——商品SKU与库存设计
    爬虫实战:爬虫之 web 自动化终极杀手 ( 上)
    鸟瞰前端 , 再论性能优化
    反-反爬虫:用几行代码写出和人类一样的动态爬虫
    小巧玲珑:机器学习届快刀XGBoost的介绍和使用
    从零开始接入腾讯云智能推荐
    云技术平台赋能媒体融合发展创新
  • 原文地址:https://www.cnblogs.com/imayanlong/p/5617626.html
Copyright © 2011-2022 走看看